Skip to main content

Waterfall (1956)

The basics

The Waterfall is an software development methodology that uses a linear approach in which each phase must be completed before the next one can begin. The name "waterfall" comes from the idea of representing each stage as a "water dam". As we progress, the dam is filling. Only when the stage is complete can the water overflow and starts to fall into a "lower dam", representing the progress in the next stage.


You can learn more about Waterfall by reading A complete guide to the Waterfall methodology in 2023. The guide is available for free on the

Pros and cons

Developing software without any kind of plan is almost certainly a recipe for failure. The waterfall software development methodology was one of the earliest attempts to implement plans for large softwarexs projects. However, there are several issues associated with Waterfall:

  • Has a very rigid structure.
  • It does a poor job managing uncertainty.
  • Leads to low customer and stakeholder engagement.
  • Has infrequent & deferred testing.
  • Leads to scope creep.

Like in finance, in software, "Risk comes from not knowing what you are doing". We create software development methodologies in the first place to "mitigate risks" or, in other words, "eliminate unknowns". Since Waterfall does a poor job managing uncertainty, it is no surprise that Waterfall is today recognised as a recipe for failure in software projects.