The traditional method for developing and delivering software. The Waterfall method breaks a project into discrete stages:

  • requirements-gathering
  • design
  • coding
  • testing

In a Waterfall process, each step must be completed before moving on to the next, and all steps in the process must be completed before any value is delivered to the customer. You can see from the illustration exactly where the name “waterfall” comes from–the development process literally “flows” from one stage to the next.

The Waterfall Method

The waterfall method is characterized by what Agilists call “big design up front.”


Winston W. Royce  first presented what is now known as the traditional Waterfall method in a 1970 paper,  Managing the Development of Large Software Systems, at an IEEE event called WestCom. He didn’t use the term Waterfall, but he did describe a sequential process where each phase is completed before the next is begun. Royce went on to say that of course one would never want to run a software project this way—but somehow, the description of what would come to be known as Waterfall was taken out of context and widely adopted, to the extent that it is now considered standard operating procedure  for large software projects.

This entry was posted in w. Bookmark the permalink.

2 Responses to Waterfall

  1. Agile has moved to the DOD.
    Please update your waterfall chart to represent what was actually published in the 1970 paper. Feedback loops between all boxes. Bashing waterfall doesn’t help the credibility of agile once it comes in contact with those working in DOD procurement, where water was replaced with evolutionary procurement and now incremental commitment in DODI 5000.02

    This dictionary is very useful in oru DOD/DARPA work but rags in activities no longer in use.

  2. Chris Sims says:


    Thanks for the comment. We’ve chosen to use a diagram that is most similar to figure 2 in Royce’s paper, as that is the diagram that is most commonly associated with waterfall. As you point out, Royce was actually using that diagram as a bit of a straw man and goes on to diagram a more iterative process with feedback loops.



Leave a Reply

Your email address will not be published. Required fields are marked *