Agile Vs Waterfall: A Comparison

With the ever changing technologies & rising customer expectations making Projects more complex than ever, Project professionals are faced with a challenge to shift to more agile mindset in order to ensure customer delight.

One would agree that the very foundation of management of Project Lifecycles or the Project Management lies in the Predictive (or Waterfall) methodology. But with ever increasing impetus for adopting Agile methodology, the onus lies on the Project professionals to create a bridge between the two worlds so that businesses don’t abruptly jump to the other side but walk calculatedly based on evaluation of factors such as the type of product being developed, the industry, and the organization’s preferences.

While both Agile and Waterfall remain equally popular & relevant project management approaches across whole span of industries, choosing the right approach can impact your budget, your schedule, and your project’s success.

I must admit here that I myself was a staunch supporter of using Waterfall methodology and would always wonder the capability of Agile methods in handling big projects. At that point in time, I came across a brilliant discussion session between industry experts Chris Croft and Doug Rose which introduced me to the importance of both approaches and in fact laid the foundation of this blog post. In this video, Chris & Doug sort of played flag bearers of respective methodologies and reviewed the similarities, differences, and best uses of agile and waterfall.

While manufacturing, education, healthcare and other industries are becoming agile to varying degrees, attaining full agility in other industries barring Software development still remains a distant thought.

In this blog post, we will try to dive even deeper into this comparison between Waterfall & Agile methodologies, evaluate the pros and cons, and identify their best use based on the merit of job in hand. This post would also include some of my key notes from the video I mentioned earlier and some questions for the audience, I would need answers for.

Let’s just start with the basics of Agile and Waterfall approaches, before we move into more elaborate comparison.

Waterfall Methodology (also known as Plan-driven or Predictive approach) requires scope, schedule, and cost to be determined in detail in the early stages of the project-before the work begins to produce the deliverables of the project. This approach follows a sequential and linear process of breaking down the Project into small actionable set of activities having fixed start & finish dates. Each step of plan driven (or Waterfall) approach represents a stage in the project or product development lifecycle and the team only moves to the next stage if the previous step is successfully completed generally passing through a Gate approval process. The most useful & popular tool used for this purpose is Gantt chart.

Agile Methodology (also known as Change-driven) uses an incremental, iterative approach with varying levels of early planning of scope, schedule and cost. Instead of in-depth planning in the early stages of the project, the agile approach relies on and encourages constant customer feedback and is open to changing requirements overtime. This approach is more externally focused than the internally focus conventional planning approaches.

Agile approach involves initial planning of very high-level scope sufficient enough to give preliminary estimates for time & cost. Scope is subsequently developed & refined with each iteration. Various functions work concurrently on the product, the work is organized into a backlog which is prioritized based on value it brings to customer. The goal of agile methodology is to deliver a complete, usable portion of the product with each iteration.

Comparing Waterfall v/s Agile:

Comparing the similarities and dissimilarities of Waterfall & Agile approaches is important to decide the best suited approach for your Project or organization type. The primary difference between the two approaches can be summed up in two words: Rigid v/s Flexible. This doesn’t necessary make one approach better than the other but guides us to choose their best application. Here’s more on the basic differences between the two approaches –

  • Waterfall is a structured (to some extent rigid) execution approach wherein you cannot move to the next phase until the previous one is completed successfully, whereas Agile gives you the flexibility to move back & forth based on Project need and emerging customer requirement.
  • Waterfall approach follows a sequential process where one set of activities follow others. Agile on the other hand uses an incremental process where lots of functions are working concurrently.
  • Changes are managed very carefully and can hugely affect the Project in Waterfall approach. Hence, any changes would have to go through a long approval process. Whereas the meaning of Agile is flexibility to change; it allows changes in the project requirements even when the initial planning is completed.
  • Waterfall approach exhibits a Project mindset with a long-term vision and forward planning in place, whereas in Agile exhibits a Product approach which includes delivering products meeting customer requirements in shorter runs.
  • There is a less stress on documentation in Agile as compared to Waterfall.
  • The most exciting thing about Agile (or SCRUM) is its iterative and incremental delivery and that everything is potentially ship-able.

Another criterion to compare Waterfall and Agile methodologies is the amount of uncertainty in the Project work which may range from definable work to high-uncertainty work. Definable work project are where processes and processes are very much established along with the sequence of the activities and those have given successful results in past projects. (Caution point: One should not confuse definable work with operations). As it is understood, the level of uncertainty & risk is low in these kind of projects.

Exploratory & Innovation kind of work requires subject matter experts to carry out not-done-before work and involves high-certainty. This kind of work necessarily requires agile mindset to deliver the results.

While there are not so many similarities between Waterfall and Agile, both have one common goal; to deliver quality products meeting customer requirements in the most efficient way.

In conclusion, there is no one-size-fits-all solution here and the choice of the Project management methodology really depends on the project, how clear are your/customer’s requirements, and how flexible you can be. One should also understand selecting the project management methodology is not a guarantee to success and one needs to back it up with their strong project knowledge and experience.

I will end this post with my closing comments and some questions for you all.

  • If your requirements are crystal clear, Waterfall is the way to go. When there is a big pivoting expected in terms of requirements, Agile is better suited.
  • While there is a big impetus towards implementing Agile in conventional manufacturing types of projects as well, in my understanding, Agile can be applied more appropriately to Software development, digital products development or Innovation kind of projects. For more conventional projects which are more challenging in terms of “execution” rather than “exploration”, Waterfall approach is better suited.

As I said earlier, I will leave the readers & industry experts with some questions. Please apply your thought process and reply in the comments section to have a logical discussion on these questions.

  • Agile doesn’t accommodate dependencies. Then can it be time effective since it doesn’t really have a “Critical path” to control?
  • Does lack of forward planning leads to regrets in Agile? And,
  • Can Agile control big projects like setting up Power plant etc.?

Happy reading & stay safe!

Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out /  Change )

Google photo

You are commenting using your Google account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s