Waterfall approach

The waterfall, plan-driven, or conventional approach is one of the methods to manage projects. In the waterfall approach project management teams can plan and deliver projects linearly. Moreover, the team defines the objectives when the project starts, and then divides the project into phases. In the final phase, the team delivers the complete product of the project. Furthermore, the team only welcomes changes if they are vital and the change management process takes place. With all these limitations, the waterfall approach better fits in familiar and stable contexts.

The waterfall approach follows fundamental principles. The first principle is a sequential structure. This means that the team divides the project into phases that are sequential. In other words, only when the team almost finished or really finished the previous phase can start to work in a new phase. The positive side is that the team follows a controlled process. The negative part is that the team only finds changes late in the project and the cost of these changes can be very high.

The second principle is the low involvement of the client in the project. In a waterfall project, the client is almost not involved in the project. In short, at the beginning of the project, the client works with the team to collect requirements. But, then the client only returns to the project when the product is almost done and ready to be validated.

The final principle is the principle of complete documentation. In fact, the team produces very detailed documentation in a waterfall project. This means, that the manuals of the product are complete and very extended. This can have a very positive impact in the long run because with will help to link to other teams, control risk, communicate with other teams, and manage knowledge.

Waterfall approach

When is the waterfall approach more suitable?

Like in many other situations, the waterfall approach is not the best solution for all projects. The waterfall approach’s best characteristics are the definition of the scope at the beginning of the project, and truly detailed documentation, normally the team only finds changes late in the project with higher costs than if they had found them earlier. In this scenario, a team should choose to use the waterfall approach when the scope is clear and stable.

Advantages of the waterfall approach

The waterfall approach has many advantages, making this approach suitable for many projects. For example, having a planning effort so big will lead to a very detailed process in the implementation phase. This means that even if the team took more time to plan, they will probably compensate with a more quick implementation. Moreover, detailed planning also helps to have more accurate estimates of costs and schedules. Furthermore, a more detailed project will help to better control the project and find deviations. Another advantage of a detailed process is the fact that the enrollment of new team members will make things much easier and at a lower cost. This is due to the fact that the team already documented everything.

Disadvantages of the waterfall approach

We already saw the main advantages of the waterfall approach. Unfortunately, not everything is perfect in this approach. The waterfall approach has as its main drawback the necessity of defining all requirements at the beginning of the project. In many cases that is simply not possible. And, if the team is not able to define requirements at the early stages of the project, it may not respond to the necessity. And introducing new requirements in the middle of the project may not be possible. We saw that a big planning effort can be good because with everything plan will make the development phase easier. However, if something changes the big effort made by the team could be lost and have no utility.

Another drawback of the waterfall approach is the time it takes to deliver the product to the client. Since there is only one delivery the product is complete and for that, it can take a long time between the requirements definition and the delivery of the product. This will lead us to another disadvantage, the client only sees the product when is almost done, so if he wants to make a change that would almost be impossible.

One alternative approach is the Agile Approach. Learn more about this approach here.