When starting a new digital project, one of the first questions the team will need to answer is this: which methodology should the project follow?
This question often leads to heated debate, as different professionals have preferred ways of working. Although there are countless methodologies that can be used in IT projects, the main two that organizations tend to adopt are Waterfall and Agile. In this article, we will analyze them both to show you when each of them should be used. We will also assess the differences and similarities between them and propose a hybrid model that combines the best of both worlds.
Waterfall vs Agile: What Are These Methodologies About?
A methodology is “a set of methods used in a particular area of activity.” Defining it upfront is essential to the success of a project, as it will create the foundation for the project management style that should be used.
Waterfall and Agile are two methodologies that emerged in the field of software development at distinct times. Waterfall dates back to 1970, and it was one of the first methodologies to be used in technological projects. Agile is a more recent approach, having come to light around the turn of the 21st century.
While Waterfall adopts a sequential approach, Agile functions in an iterative way. But what does this mean in practical terms? Let’s look at each of these methodologies more in detail.
In this methodology, requirements are elicited at the beginning of the project, and then a plan to implement them is created and strictly followed — thus the name “waterfall” where each phase follows the previous one. The phases are well defined and include requirements analysis, system design, implementation, testing, deployment, and maintenance.
While this methodology is over 50 years old, it keeps being used because it comes with some clear benefits:
- Planning and designing is easier because the goals are defined early-on
- It helps build systems that connect with others, as it defines the design early-on
- The client’s presence is almost only required at the first stage.
On the other hand, Waterfall has some disadvantages too:
- All requirements must be gathered at the initial phase, which is likely unachievable. Often, it’s hard for a client to have a detailed understanding of the requirements at such an early phase.
- Because the client is not accompanying the development, and only tests the final result at the end, the feedback arrives too late for anything to be changed in time.
Based on its pros and cons, this methodology better suits projects that:
- Have a fixed and strict scope, time, and budget
- Are smaller and shorter
- Have a client that is not available to accompany the development cycles.
Agile Methodology (Scrum)
The Agile methodology was born with the Agile Manifesto. Published in 2001, this document privileges “individuals and interactions over processes and tools” and uncovers “better ways of developing software by doing it and helping others do it.”
The Agile methodology approaches a project as a series of iterations. It puts emphasis on the rapid delivery of an application, adjusting as needed during development, focusing on constant adaptation, and speeding up the time to market.
There are several Agile methodologies—Kanban, Design Thinking, or Lean Development, to name a few. But the most used one is Scrum.
Scrum’s methodology is based on the Scrum Guide, written by Ken Schwaber and Jeff Sutherland, and it is defined as “a framework for developing, delivering, and sustaining complex products.”
As discussed, it defends a series of iterations, called Sprints, in which there are time-boxed events: Sprint Planning, Daily Scrum, Sprint Review, and Sprint Retrospective. These events contribute to the three pillars of Scrum: transparency, inspection, and adaptation.
The Scrum Guide also defines specific roles and their responsibilities, stating that a Scrum Team is composed of the Scrum Master, the Product Owner, and the Development Team.
Benefits of the Agile methodology:
- The customer can stop further development and save money if business goals have already been met
- The customer has frequent opportunities to review the work, enabling them to catch any deviations to the goal on time
- It focuses on the users and on generating business value, as it receives regular input from the client
- Possibility of early delivery, often with an MVP (Minimum Viable Product).
Disadvantages of the Agile methodology:
- The high-level of involvement required from the client might not be possible in some projects
- Since it allows for constant change and adaptation, it can lead to scope creep and impact the timeline and budget.
Based on its pros and cons, this methodology better suits projects that:
- Have deliverables that can be broken down and produced in incremental deliveries
- Don’t have clear goals and requirements at the beginning
- Want to leave the possibility open to adjust along the way.
True or False? This Dichotomy Is Not As Clear as It Seems
While Waterfall and Agile might seem like two completely separate approaches to software development, the line between them can become blurry.
The principles that guide each methodology are rather opposite, but there are still some similarities between them.
- Both methodologies require collaboration between all members of the team
- While planning happens at different times in each methodology, it must happen in both at some point
- Once development starts, there is constant monitoring on both methodologies to make sure the implementation adheres to what was planned — the difference is that with Agile the plan might change.
In the past years, many companies tried to move from traditional Waterfall methods to an Agile way of working, trying to keep up with the latest trends in digital transformation. Abandoning a matrix-like structure, organizations started to put an emphasis on products as the end-goal.
However, many companies ended up with a hybrid model that claims to be Agile but still keeps many of the Waterfall elements. While this is not necessarily good nor bad, it serves to show that the two methodologies are not dichotomous but rather sit at different ends of a spectrum — and can move towards each other on that same spectrum.
Using the Cynefine Framework to Help Method Decision-Making
When confronted by the pros and cons of each methodology, it can be difficult to weigh your options in making the right directional choice for your needs. It is essential to assess a project’s long and short term needs and variables to choose the best methodology for you. This is where the Cynefine Framework comes in.
The Cynefin Framework is a conceptual framework that assists leaders in decision-making, allowing them to make sense of a certain situation. The name comes from the Welsh word for “habitat,” suggesting that many forces are intertwined in any given situation — such as in any habitat.
The Cynefin Framework identifies five contexts based on the relationship between cause and effect of any given situation: Simple, Complicated, Complex, and Chaotic. The fifth one, Disorder, applies when none of the others does. In the Simple and Complicated frameworks, there are clear strategies and best practices one can rely on. In the Complex, things change, as one must continuously adapt to the situation and how it evolves. The Chaotic framework applies to situations where cause and effect are unclear and require a rapid response.
Although there is a tendency to overestimate the complexity of a situation, this is an important step to then choose the right methodology. Once a leader identifies the domain type in a situation, the decision on how to approach it becomes more clear.
Going back to software development projects, in Simple and Complex situations, the Waterfall methodology would respond in a satisfactory way. However, for a Complex or Chaotic situation, the Agile methodology would be more appropriate, as it handles unclear and unexpected situations in a much better way.
Therefore, it’s imperative to be honest when assessing the nature of your project. It’s a digital leader’s responsibility to assess a project’s type and to take a hard look at what kinds of situations it would bring about, consequentially choosing the best methodology to complete it successfully.
Waterfall and Agile: A Hybrid Model
When deciding which methodology to use for a certain project, the decision should take into consideration some aspects, namely:
- Project requirements and regulations
- Organizational processes
- Client’s availability to participate in the project
- Time scope
Analyzing these factors will point in a certain direction. Sometimes, the answer will be clear: either Waterfall or Agile will better serve the project’s purpose. But, often, the answer is not so straightforward.
While the rivalry is fierce between Waterfall and Agile, and purists defend using either one or the other, they can be combined to create a hybrid model. A blend between the two methodologies can turn out to be the best approach for most projects.
A hybrid model is much more common than one could imagine. This PMI report shows that about 20% of the enquired organizations completed their projects in the past year using a hybrid approach. Yet, it is important to not “go with the flow,” but rather follow predefined processes: failing to do so can have serious consequences, such as severe bottlenecks during the course of a project.
When Can a Hybrid Approach be Better for your Project?
When you adhere to only one methodology, you are constrained by its limitations and will have less space for creativity and adaptation.
Combining both methodologies is a good bet if you want to improve the predictability of your outcome (as in Waterfall) but, at the same time, also improve the ability to respond to feedback in a timely manner (as in Agile).
What Would a Hybrid Approach Look Like?
It could take many forms, depending on the needs of your organization and project.
For example, you can start a project in a traditional Waterfall way, investing strongly in requirement elicitation and analysis, and creating a solid plan for the next phase. Once the development phase starts, you can shift to a more Agile way of working, creating iterations of implementation and testing, incorporating change requests and feedback.
When starting a software development project, more than following industry trends or personal preferences, you should choose a methodology that serves your project better.
This decision between Waterfall and Agile should consciously weigh the characteristics of the project and assess how each methodology would perform in that specific situation. For this, it’s important to keep in mind the Cynefin framework. Is your project Simple, Complicated, Complex, or Chaotic? If Simple or Complicated, Waterfall is the best approach; on the other hand, if Complex or Chaotic, it would benefit from an Agile methodology.
In the end, both you, your team, and your client are working with a common goal in mind: creating the best possible version of your project, with as few problems and as much efficiency as possible.
To arrive at a happy ending, you need to start making the best decisions from day one.
Co-founder of Buildingbettersoftware and Agile Leadership Coach
Søren Pedersen is a strategic leadership consultant and international speaker. With more than fifteen years of software development experience at LEGO, Bang & Olufsen, and Systematic, Pedersen knows how to help clients meet their digital transformation goals by obtaining organizational efficiency, alignment, and quality assurance across organizational hierarchies and value chains. Using Agile methodologies, he specializes in value stream conversion, leadership coaching, and transformation project analysis and execution. He’s spoken at DevOps London, is a contributor for The DevOps Institute, and is a Certified Scrum Master and Product Owner.
You can find more of his writing at https://agilerasmus.com/wordpress/
Value Stream Optimization?
We specialize in analysing and optimizing value streams.