The Waterfall and Agile methods of project management are often pitted against each other. And for good reason – the former is the oldest and the latter the most popular in recent times. The two methods are based on significantly different ideologies and have found their niche across industries.
For the longest time, the Waterfall method was ubiquitous due to its simplicity and common-sense approach to working on a problem. However, this method has fallen short in today’s dynamic marketplace owing to its lack of flexibility and speed. This is true, especially in the software industry where requirements change rapidly and a turn-around time of several months will simply not cut it.
Starting with the Agile Manifesto, the Agile movement and the various Agile development methodologies, with an iterative approach to project management, were created by various people to overcome the shortcomings of traditional project management methods. According to the Standish Group Chaos Study, software projects using Agile methods are 3X more likely to succeed than those using the Waterfall method, and Waterfall (software) projects are 2X more likely to fail.
Today, Lean/ Agile methods and frameworks such as Scrum, XP and Kanban have become a dominant method for software and app development teams. Even so, there are instances, as we will see, where the Waterfall method may still be better.
To determine which of the two methods is better suited for a project, let’s learn about the project management approach advocated by each.
The Waterfall Method
In this method, a project is divided into distinct phases which are executed sequentially, with each phase cascading into and informing the next. Each phase begins only after the previous one is completed and the deliverable is deployed to the end-user in its entirety only in the final phase of the project. A Waterfall project typically goes through the phases (in sequence) of conception, initiation, analysis, design, construction/implementation, testing/verification, deployment and maintenance. Generally, there is stakeholder involvement mainly in the initial phases and at predetermined stop points (phase gates) when certain milestones are achieved.
This method provides a clear framework for the methodical execution of a project. It generally lends itself well to projects with long timelines, well-defined goals, a good degree of predictability, and fixed requirements.
A major drawback of this method is its inherent rigidity. The entire workflow is structurally a critical path such that the timeline and budget is impacted if a) there is a delay or a roadblock in any phase, b) issues are found late in the project lifecycle, and/or c) the scope changes after the initial phase. This is where Agile management methods win hands-down.
The Agile approach advocates that a project’s deliverable be broken up into small, easily workable chunks (typically epics and user stories) to be worked on and delivered iteratively (in sprints or iterations). The team works on one iteration/sprint at a time, at the end of which the customer is given a working piece of software or a deliverable of value.
Every successive iteration incorporates end-user feedback from the previous iteration(s), resulting in an incrementally better product in each iteration. Agile projects organically allow for more flexibility.
- Scope changes can be easily incorporated.
- Bugs and design deficiencies are identified in shorter, faster cycles and course correction can happen in subsequent iterations.
- Roadblocks or delays are detected early and dealt with, so they tend not to affect overall project timelines drastically.
Let us hear the points of view of practitioners of the Waterfall and Agile methods.
1. A power systems study
A few years ago, I was part of a team of engineers in a California-based utility that performed interconnection studies every year, over several months, to determine transmission system upgrades that would be required to interconnect new generators to the grid. The study consisted of several phases which had to be implemented sequentially for the results to make logical sense. For example, the team that determined the specifications for a new transmission line could step in only after another ran simulations to figure out whether a new line would even be required.
Consequently, this project required a linear approach and hence the Waterfall model was the weapon of choice. However, the downside was that teams had to deal with course-correction challenges in case errors were encountered later in the project lifecycle. In the absence of an iterative process, debugging required going back to previously completed phases to correct errors and then repeating several tasks down the chain, leading to delays that had to be absorbed by subsequent phases since deadlines were fixed.
2. Launching the mobile version of a SaaS product
The CTO of a SaaS company gave me insights into how they used Agile development methods to successfully execute and deploy the mobile app version of their web offering which is a product that records and analyzes sales conversations. In the first iteration, the team delivered an MVP (minimum viable product) with the basic feature – viewing call recordings, to a closed group of champion users. In successive iterations, a) new features such as dashboards and analytics were added until parity with the web version was reached, b) bugs identified from the last iteration were fixed, and c) the product was fine-tuned based on learnings from early customer usage.
“The iterative approach helped us put a finger on the pulse of the customer and react to it not once but multiple times,” said the CTO. “Using a non-iterative approach is unthinkable in our line of work, since customer requirements and market needs are always changing. If we don’t work collaboratively with our customers and fail to adjust every step of the way, we’ll end up with a product that is either unusable or may be left unused.”
Identifying the right project execution methodology is context-dependent and a critical first step to decide how you will execute a project or build a product. To this end, decision-makers can use tools/frameworks such as Cynefin to contextualize and make sense of their projects, and determine the best course of action (project execution).
Ensuring that you select the right project management strategy goes a long way towards guaranteeing a project’s success. Depending on the industry and market conditions, organizations must select the appropriate method. In a regulated environment, such as government or defense or capital intensive projects such as construction/ civil engineering, where requirements are fairly stable, traditional/waterfall methods could work better.
In fact, an agile approach may simply not be possible due to the nature of the work. On the other hand, in high-tech and highly competitive environments, where market conditions might shift rapidly, requirements may change dynamically or where it IS possible to deliver customer value in increments, Agile methods would be the natural choice. In some cases, a hybrid method combining strategies from both is the answer – referred to as “Hybrid Agile”.
It behooves stakeholders and project managers to understand the nature of their business, market conditions and the actual projects to be executed. With a good sense of these factors along with others such as team members’ skills, timeline and budget, they can make an informed decision on which project management method would work best in the given context.