Software Engineering Process and Quality
What to know
Process models include waterfall (sequential, document-driven), incremental, iterative, spiral (risk-driven), V-model (verification/validation paired with each phase), and agile (Scrum, XP, Kanban). Know Scrum roles (Product Owner, Scrum Master, Developers), artifacts (product backlog, sprint backlog, increment), and events (sprint planning, daily scrum, review, retrospective). XP emphasizes test-driven development, pair programming, continuous integration, and small releases.
Quality is conformance to requirements plus fitness for use. Know quality assurance (process-focused, preventive) vs quality control (product-focused, detective). CMMI levels run 1 Initial → 2 Managed → 3 Defined → 4 Quantitatively Managed → 5 Optimizing. Process metrics (defect density, cycle time) and product metrics (complexity, coverage) differ. Reviews and inspections are formal defect-detection techniques with defined roles.
Traps in questions
- QA vs QC: testing is QC; defining process standards is QA. Questions swap them.
- CMMI order: level 4 is quantitative management, level 5 optimizing; do not reverse.
- Spiral: risk-driven and iterative, not a simple sequential model.
- Retrospective vs review: sprint review inspects the product increment with stakeholders; retrospective inspects the team's process.
- Agile ≠ no documentation: agile values working software over comprehensive documentation, not zero documentation.
Rule of thumb
Choose process by risk and change rate: stable, well-understood requirements favor plan-driven; high uncertainty and frequent change favor iterative/agile. Inspections find defects earlier and cheaper than testing.
Worked example
A team's defect density rises while cycle time grows. That signals process debt, not just product bugs. A retrospective plus a formal inspection of the riskiest module addresses root causes; adding testers only treats symptoms.