Software Development

Waterfall Model

Definition

The Waterfall model is a sequential, linear approach to software development. In this model, each phase must be completed before the next phase can begin, with no overlapping of the phases. The phases are typically: Requirements, Design, Implementation, Verification, and Maintenance.

Why It Matters

The Waterfall model was the traditional, classic approach to software engineering for many years. While it has been largely superseded by Agile methodologies, understanding it provides context for why Agile emerged.

Contextual Example

In a Waterfall project, a team would spend months gathering all possible requirements for the software. Then, they would spend several more months designing the entire system. Only after the design is fully complete would they start writing code.

Common Misunderstandings

  • The main drawback of the Waterfall model is its rigidity. It does not handle changes in requirements well. If a mistake is made in an early phase, it is very costly to fix it later.
  • It is the opposite of the iterative and incremental approach of Agile.

Related Terms

Last Updated: December 19, 2025