Learn more >
by Aiden Gallagher, Jack Dunleavy, Peter Reeves | Published April 23, 2019
Over the years, the way that IT teams work has adapted and evolved. The Waterfall Methodology has been widely used in the past in order to get projects completed against a deadline, at a given cost, and to a predefined quality. In this article, we will define the Waterfall Method and talk about some of its benefits and constraints.
The Waterfall Model is a linear or sequential approach to project management and works based on fixed dates, requirements, and outcomes. Teams do not require consistent communication and, unless specific integrations are required, can be self-contained. Team members can also work independently and are often required to provide status reports somewhat less frequently (when compared to an agile approach).
A typical Waterfall project is chronological and is made up of the following phases:
Let’s break this down.
Throughout these five stages, written requirements, usually put into a single document and used for verification of each stage, are composed alongside constraints and functional and non-functional needs of the project. Cost is described, as are assumptions, risks, dependencies, success metrics, and timelines for completion.
A high-level design (HLD) is created to describe the purpose, the scope of the project, the general traffic flow of each component, and the integration points (the topology), followed by a detailed design, which allows subject matter experts (SMEs) to implement the HLD design to precise details.
Implementation teams work to the design to create, code, implement, and test the solution. It is crucial that the single written document be as clear as possible, as the team who designs the system may or may not be the same. If changes are required during the implementation phase (due to unforeseen issues with the design, integrations, or even changes to the intended function of the system), this necessitates that a new design be created and signed off on before the implementation is completed.
Acceptance tests are then deployed and executed in the verification phase, with the built solution further tested against the requirements to confirm that the project meets initial expectations. If it does not, then an examination is performed to identify the shortfalls and a review is completed to determine any ratification actions.
Finally, as defects are raised or new versions of products are needed (maybe because they are no longer supported), planned changes are made by a dedicated ownership team. With the Waterfall Model, each stage can only continue when each of the previous stages are completed and signed off.
As with most methodologies, the Waterfall Model comes with just as many benefits as constraints that can impact a project. Let’s look at some of the benefits and constraints you will need to balance with getting your project out of the door.
Hopefully this article has given you a better understanding of when to use the Waterfall Method. To see how we used it in practice, see our article, “How to use Waterfall and Agile practices on your next project“.
Agile software development supports short iterations of development so you can constantly adjust the (in-flight) requirements and solutions to the…
In this article, you’ll learn about our first-hand experience of implementing the Waterfall Model as well as Agile methodologies in…
Back to top