About The Agile Dictionary
Welcome to iteration zero of The Agile Dictionary! Our goal with this project is to provide broad, authoritative definitions of common Agile terms. You will note that each definition also includes a section titled “etymology,” where we capture the origins of the term wherever possible.
Visit the definitions by clicking on the letters in the navigation bar, or you can search for a term, above.
w is for...
The traditional method for developing and delivering software. The Waterfall method breaks a project into discrete stages:
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 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.