The waterfall model was first described by Herbert D. Benington in 1956 during a presentation about the software used in radar imaging during the Cold War. Since there were no knowledge-based, creative software development strategies at the time, the waterfall method became standard practice. The waterfall model is a linear and sequential project management framework.
Understanding the waterfall model
Fourteen years later, American computer scientist Winston Walker Royce published the first formal diagram of the process which would later become known as the waterfall model. Royce suggested that Benington’s model was flawed because testing only happened at the end of the process. To address potential sources of failure and mitigate risk, he introduced five steps where progress flows from the top to the bottom like a waterfall.
As significant as the contributions of Bennington and Royce were, it is important to note that neither used the term waterfall to describe their work. That distinction goes to Bell and Thayer, who mentioned the term in a 1976 paper titled Software Requirements: Are They Really A Problem?
Despite the recent popularity of more iterative agile methods, the waterfall method is still relevant today – particularly for large internal projects that do not benefit from rapid customer feedback or the strict control of materials or distribution. Furthermore, the model is relatively easy to implement and manage and follows the same sequential steps for each project. With start and end points clearly defined, project risks, deadlines, and progress are easily communicated to the relevant stakeholders.
The seven phases of the waterfall model
Regardless of the context, each phase in the model is completely dependent on the previous one and must be completed, reviewed, and approved before the next phase can begin.
The seven phases, with a particular focus on software development, include:
- Conception – the first phase starts with an idea and a baseline assessment of the project and its costs and benefits.
- Initiation – with the project defined, the objectives, purpose, scope, and deliverables must also be defined by assembling the project team.
- Requirement analysis – here, the team identifies project requirements and stakeholder expectations by gathering information from surveys, questionnaires, and brainstorming, among other methods. Before moving to the next phase, project requirements must be documented and distributed to each member of the team.
- System design – requirements are then analyzed and a system design is prepared, with many companies using a Gantt chart to create a schedule. Some businesses choose to divide system design into two phases: logical design and physical design. Logical design involves brainstorming possible solutions, while physical design involves transforming the brainstormed ideas into concrete specifications. While no coding should occur during software development, the team may establish hardware requirements or a programming language.
- Implementation – here, programmers use the requirements and specifications to create a functional product. Team members are assigned specific tasks which are monitored and tracked to avoid bottlenecks. Progress is also regularly reported to stakeholders. Lastly, code is typically written in small pieces in preparation for the next phase.
- Testing – the code is then tested methodically for errors before the product is delivered to the customer. User acceptance tests can be incorporated during this phase, where users try the product before it is released to the general public. During the latter stages of the testing phase, any freelance contractors are paid out and a project template is created for use in similar future projects.
- Maintenance – in the final phase, customers report additional, real-world usage issues. Based on this feedback, the core project team works to solve problems and modify the software where necessary. Significant issues may force the team to return to phase three and repeat the process.
- The waterfall model is a linear and sequential project management framework. The waterfall model concept was first described by Herbert D. Benington during a presentation about the software used in radar imaging.
- The waterfall model is still relevant today and is particularly useful for large internal projects that do not benefit from rapid customer feedback or the strict control of materials.
- The waterfall model is comprised of seven phases: conception, initiation, requirements analysis, system design, implementation, testing, and maintenance. Each phase must be completed, reviewed, and approved before the next phase can begin.
Other Management Frameworks
Main Free Guides: