Software Development 101: How did Waterfall software development come about?

May 27, 2020 | Peter Cronin

The Waterfall model was believed to be the first software development process model to be introduced to the software engineering industry. This belief is supported by the timeline of events surrounding the emergence of the Waterfall model – The term ‘software engineering’ was coined in 1965 by Margaret Hamilton, a developer at NASA, only five years before the first publication about the Waterfall approach.

The first formal description of the Waterfall model in the software industry was outlined in 1970, in a paper called Managing the Development of Large Software Systems published by Winston Royce. Royce outlined the model using a graph, which looked very much like a waterfall going from each step:  system requirements, analysis, coding, testing, and operations. The term ‘waterfall’ was not used until 1976.

The software industry pre- and during the 1970s was very different than it is today in 2019.

Most software projects were large software packages, often coupled to infrastructure, and so were managed and developed in the same way – applying infrastructure-based (hardware) development methods to the creation of software. Some examples include government projects and large projects for NASA, such as the software development that went into the rockets to go to The Moon.

Due to the rigidity of specifications needed to be met for these current projects, there was little room for variation in the process. Any changes made to the specifications during development would have resulted in high costs, so the very rigid and structured approach of Waterfall worked well.

The Benefits of Waterfall Software Development

Despite different technology, the goals of a software project back in the 1970s were much the same as they are today; deliver projects on time, meet budget, and meet scope.

With the highest costs of a software project occurring in the coding and testing phases, the Waterfall model allowed developers to reduce coding and test time and cost, while still delivering full scope by analysing and capturing a strict documentation of requirements before any planning or development occurs.

The Waterfall model then ensured completeness of a project, and all requirements to specification, as each stage in the process needed be completed before moving on to the next one.

For more on Waterfall, birth of Agile and what comes after Agile, check out our upcoming events page.