It’s very easy to jump to conclusions and say, “Yes, Waterfall is dead!” But if you take a step back, it’s not so simple.
It’s not difficult to see why many people think the Waterfall approach is dead. Waterfall has been vastly overtaken in popularity by Agile; all the conversations in the software space are about ‘doing Agile’ or ‘being Agile’ while very few are about doing or being ‘more Waterfall.’ But the interesting thing is that very few software companies (if any) are implementing 100% of one approach or the other. Most companies take a hybrid approach that is somewhere in the middle.
Yes, it’s probably true that Waterfall, in its exact form, is no longer relevant in the software industry. However, many of the Waterfall principles still have their place in some applications.
For a lot of people, when they think about software development they think about the Agile approach and they think about small start-ups, especially software development companies that are making cool apps, website material, and deploying code frequently. These start-ups are usually associated with end-user products, where the customer interacts and sees a user interface (UI), e.g. Uber, Instagram, mobile games, etc. That’s one extreme of software development.
In the middle of the spectrum, you have business-to-business (B2B) software, where companies might be building fairly large and robust platforms. These companies would approach their software development with more of a mix of Agile and Waterfall.
On the other end of the spectrum, the other extreme, you have traditional software development projects, which is where Waterfall came from – large infrastructure-based projects. For these projects, the software development required is largely behind-the-scenes components with rigid specifications and coupled with hardware.
Uses of Waterfall Project Management?
An example might be an aerospace company that has secured a large government contract to construct a new aircraft. First of all, the specifications and details that need to be coded are going to need to be pretty clear upfront. One of the major principles of Agile, when people say you should use Agile over Waterfall, is receiving customer feedback very early on in the process. Following an Agile approach, the developers would deploy small chunks of code to get customer feedback then tweak and adjust as needed.
Let’s say the customer, in this case, would most likely be the pilots or the other officials on board who will be using the avionics in the aircraft. Well, the aircraft isn’t built yet so you can’t get much user feedback from them. It’s not like you can get a little bit of the code out there and test it. There’s a required base where if you don’t have that base of code, you can’t test any of it at all. So, actually, in this case, the Agile principle isn’t very useful. However, since there’s such rigid specifications that need to be met and the need for very robust code, the Waterfall approach is much more applicable. Using a Waterfall approach, the long-term plant can be structured to align with, or match, the schedule for the manufacturing of the aircraft itself because there’s a big launch date.
The Waterfall principle of comprehensive documentation upfront ensures the software team are on the same page with where the code is heading. The rigorous testing phase is also important here as the code needs to be extremely bug-free. There isn’t the tolerance you might have for bugs in end-user software. So, the quality is an absolute requirement, it can’t progress without the quality. This is an extreme example, but this is an area where the Waterfall approach would make sense, or where the benefits of the principles of Waterfall would in most cases outweigh the benefits of the principles of Agile.
Hopefully, this illustrates that Waterfall is not dead, there are just quite specific areas that it’s useful in. Agile methodology is deemed more popular and gets more airtime, but Waterfall is still used, and, in fact, in some specific cases, is more effective.
For more on Waterfall, birth of Agile and what comes after Agile, check out our upcoming events page.