The waterfall model is a sequential software development methodology in which progress flows downward through distinct phases such as requirements, design, implementation, verification, and maintenance. Each phase is completed and signed off before the next begins, producing extensive documentation at every gate. It offers predictability and clear milestones but assumes requirements are stable and discovered early, which limits its ability to absorb change.

Overview

  • The waterfall model formalised software work as a linear pipeline, popularised from descriptions of large defence and engineering projects in the 1970s.
  • Phases typically include requirements analysis, system design, implementation, integration and testing, deployment, and maintenance.
  • Each phase produces signed-off deliverables and documentation that serve as the contract for the next phase.
  • Its strength is predictability and traceability; its weakness is rigidity when requirements evolve after early phases close.

Mechanisms

  • Phase gates: formal review and approval checkpoints between stages.
  • Documentation-driven handoff: each phase consumes the artefacts of the prior phase.
  • Baseline freezing: requirements and design are fixed to control change.
  • Verification at the end: testing concentrated after implementation rather than continuously.
  • Linear scheduling: milestones map directly to sequential phases.

Applications

  • Projects with well-understood, stable requirements such as regulated or contractual systems.
  • Safety-critical and compliance-heavy domains where documentation and audit trails are mandatory.
  • Fixed-scope, fixed-budget engagements where predictability outweighs adaptability.
  • Teaching contexts as a baseline against which iterative methods are compared.

Provenance