Skip to main content

Alternative models to waterfall

Short answer

Alternatives address waterfall's rigidity: incremental model delivers prioritized working parts early; prototyping clarifies unclear requirements via throwaway or evolutionary prototypes; spiral model adds risk-driven iterations; RAD uses component reuse and parallel teams for speed; component-based model assembles existing components; agile methods use short iterations with continuous customer involvement and change acceptance.

Explain alternative model for waterfall model.

The waterfall model assumes fixed requirements and a strict sequence of phases, so changes are costly and working software appears only at the end. Several alternative process models were developed to overcome these problems.

1. Incremental model

The system is split into increments. Requirements are prioritised, and each increment (design, code, test) delivers a working part of the system, highest priority first.

  • Customer gets useful software early.
  • Changes can be put into later increments.
  • Lower risk of total failure; important parts get the most testing.
 Inc 1: Req -> Design -> Code -> Test -> Deliver v1
   Inc 2: Req -> Design -> Code -> Test -> Deliver v2
     Inc 3: Req -> Design -> Code -> Test -> Deliver v3

2. Prototyping / evolutionary development

A quick prototype is built from initial requirements, shown to users and refined repeatedly.

  • Throwaway prototyping clarifies unclear requirements, then the prototype is discarded.
  • Evolutionary prototyping keeps refining the prototype into the final system.
  • Solves waterfall's problem of users not knowing requirements at the start.

3. Spiral model

A risk-driven iterative model (Boehm). Each loop: set objectives, assess and reduce risks (often with prototypes), develop and validate, plan the next loop. Good for large, high-risk projects; it can contain waterfall and prototyping as special cases.

4. RAD (Rapid Application Development)

A high-speed incremental model using component reuse, 4GL/code generators and parallel teams, delivering a full system in a short time (about 60–90 days) when requirements are well understood and the system can be modularised.

5. Component-based (reuse-oriented) model

The system is assembled from existing components and COTS products, reducing cost and time.

6. Agile models (XP, Scrum)

Short iterations of 1–4 weeks, a working product each iteration, continuous customer involvement and acceptance of change.

Waterfall problemAlternative that addresses it
Unclear requirementsPrototyping
Late delivery of working softwareIncremental, agile
No risk handlingSpiral
Long development timeRAD, component-based
Changing requirementsAgile, evolutionary

✓ Answer checked by Claude Sonnet 5.5

All Software Engineering chapter 1 questions →