2.2 Waterfall, V-Model, Incremental, Spiral, Prototyping
Classic process models are still useful if you treat them as thinking tools instead of dogma. Each model highlights a different risk.
The models in one page
| Model | Useful when | Dangerous when |
|---|---|---|
| Waterfall | Requirements are stable and handoffs must be explicit | Teams pretend uncertainty does not exist |
| V-Model | Verification evidence must map to requirements and design | Documents are produced after the fact |
| Incremental | Value can be delivered in slices | Slices are not integrated into a coherent system |
| Spiral | Technical or business risk dominates | Risk review becomes vague ceremony |
| Prototyping | Users or teams do not yet understand the problem | Prototype code quietly becomes production code |
Waterfall is not automatically foolish. Agile is not automatically wise. The bad version of any model ignores its own failure mode.
Waterfall and V-Model
Waterfall sequences work through phases. It can be appropriate when requirements are stable, contracts are formal, and late change is expensive. Its weakness is late feedback.
The V-Model makes verification explicit. Requirements connect to acceptance tests, system design connects to system tests, module design connects to unit tests. It is valuable when evidence matters, but dangerous if teams write evidence only after decisions are already locked.
The selection drill above already covers choosing a model by scenario; this section focuses on why Waterfall and the V-Model emphasize phases, handoffs, and verification evidence.
Incremental, Spiral, and Prototyping
Incremental development delivers useful slices. It reduces integration risk when increments are real and tested, not just partial code hidden on branches.
Spiral development is risk-driven. Each cycle should identify, reduce, and review the highest risk. If no risk is named, the spiral is just decoration.
Prototyping helps teams learn what to build. A prototype can explore user flow, technical feasibility, or integration behavior. The trap is forgetting to decide whether the prototype will be thrown away or hardened.