Agile vs. Waterfall: Pros & Cons, Use Cases, & More
on 29 August 2019Both agile and waterfall are sound methodologies that help organisations complete projects efficiently. However, each methodology takes a different path to the finish line.
In general,
- Agile is an iterative approach to project management that delivers a product in increments, instead of all at once at the end of a project.
- Waterfall is a more traditional, sequential approach to project management that delivers a completed product once the project is finished.
If you want to determine which one may work best for an upcoming project, check out the agile vs. waterfall comparison below, along with a few examples shared by several project management experts. (If you’re looking for other PM resources to follow, check out this post.)
Agile vs. Waterfall: Comparison Table
Comparing these two methodologies can get confusing quickly, so we put together an easy-to-understand comparison table below based on input from Kurt Bittner, VP of enterprise solutions at Scrum.org. The table highlights different project attributes in an agile vs. waterfall environment.
Attribute |
Waterfall |
Agile |
---|---|---|
Phases |
Linear, with each phase of the project being completed before continuing to the next one |
Iterative, with each phase allowing forward and backward movement as necessary |
Primary goal |
Create a completed product |
Create a minimum viable product (MVP), then iterate to improve it |
Scope & approach |
Well defined before starting |
Undefined before starting |
Budget |
Set based on defined scope |
Updates based on feedback from each increment; alternatively, could be set |
Schedule |
Set based on defined scope |
Updates based on feedback from each increment; alternatively, could be set |
Progress measurements |
Well documented and measured against the plan |
Minimal documenting and measured against the availability of the MVP |
Success measurements |
Focused on whether the project was delivered on time, within budget, and to scope |
Focused on end user outcomes and end results |
Working product |
Typically not available until at least the testing phase |
Typically available in early phases of the project |
Agile Vs. Waterfall: Pros & Cons
- Agile projects are typically cheaper and can be delivered quickly. They offer greater flexibility, but also produce less predictable results due to the uncertainty and unclear nature of many of the project characteristics.
- Waterfall projects are typically more expensive and take longer to deliver. They are also less flexible. However, due to the certainty and rigor waterfall forces teams to employ, resulting products are typically of a higher quality and are more likely to be considered complete.
Agile Vs. Waterfall Use Cases
Waterfall projects are most suited for situations with very low uncertainty in both the requirements and the solution. (Tweet this!) Bittner says waterfall is almost wholly incapable of dealing with uncertainty. “Though it can deal with change through a formal change-management process, the result is painful and costly, and is not intended to deal with many small changes.”
Because of the nature of waterfall, it’s best suited for projects where the functionality can't be delivered in pieces. Shayne Sherman, CEO of TechLoris, provides an example: “When the deliverable is offline software that can't be updated easily, it's important to try to deliver a fully developed project. In this case, waterfall is best because it will ensure that the product is fully functional and complete before delivery.”
In contrast, Bittner notes that agile initiatives are ideally suited for developing products and services for new markets, where the needs of customers cannot be defined upfront, and/or when the approaches that the team uses to meet the needs of those customers also cannot be defined upfront. “Agile is ideally suited for dealing with conditions of high uncertainty. It works best with small (less than 10 people) cross-functional teams. Larger problems need to be broken down into smaller increments,” he explains.
Sherman provides an example here as well. He says that agile is a great fit for projects involving websites and online applications. “In these scenarios, the product is continually delivered to customers. As soon as the product can provide value to the consumer, it’s delivered. In this way, you can incorporate feedback from the customers on future development and quickly push updates to the product for continuous improvement.”
Organisational Challenges In Adopting Agile
Though you may have projects that work better with an agile approach, Bittner calls attention to the struggle some organisations face in adopting this methodology. “The problem is that their organisational structures are optimised for waterfall.”
He says there are four main reasons organisations face this struggle:
- They are organised into skill-based teams so very few individuals have the broad skills needed to work on an agile team.
- They are accustomed to having people working on many projects, so it is difficult to dedicate people to one team—a requirement of agile.
- They have deeply held beliefs in the certainty of requirements and the infallibility of plans, believing it’s possible to define all requirements up front, and that a skilled project manager can develop an accurate plan.
- Their career development paths are also organised by functional silos, with little or no appreciation for people with cross-functional skills. The promotion hierarchy thus reinforces the waterfall model, and vice versa.
“To effectively adopt an agile approach, organisations must let go of these limiting beliefs and structures,” says Bittner.
Agile-Waterfall Hybrid
Is there opportunity for an agile-waterfall hybrid approach? The answer is a bit hazy. For example, you can use agile & waterfall the way Alexandra Bohigian of Enola Labs does with her team. As a project manager, she employs waterfall at the very beginning of her projects. She then switches her team to agile when executing the project. “A waterfall start helps ensure we’re all on the same page. Once development gets moving, we leverage an agile approach, allowing our engineers to work in sprints and continuously test for the best result.”
Bohigian’s example is heterogenous—there’s a clear distinction between the waterfall and agile approaches. In contrast, a truly homogenous mix of agile and waterfall isn’t viable, as Bittner explains. “The problem with mixing the two comes down to perspectives and people.”
By perspectives, he means how each methodology looks at defining different aspects of the project. While waterfall requires everything be defined at the beginning, agile initiatives typically address an unknown or unclear problem where you may not be able to define everything up front.
Additionally, Bittner notes that sharing team members across agile and waterfall projects is “virtually impossible.” Agile teams need cross-functionally skilled people who can dedicate themselves to the project at hand and remain as flexible as the methodology itself. Waterfall teams need people with deeply honed skills in a particular area who can work on more than one project team at a time, depending on scheduling. “Organisations will be hard-pressed to staff for both skill profiles.”
Bittner sums up in a way that closely aligns with Bohigian’s example of using an agile-waterfall hybrid approach: “The only way to come close to making the two work together is to reduce the length of the waterfall initiative to a very short interval, and then have only simple dependencies.”
What’s the verdict—agile or waterfall? Glasscubes works with either option.
Glasscubes is your go-to collaboration solution for managing agile and waterfall projects alike. From file sharing to messaging to task management, our solution enables your teams to get easily from point A to point B—whether you’re working in linear phases or bouncing back and forth between them. Glasscubes provides a suite of project management tools that enable you to create and assign tasks, perform critical path analyses, develop Gantt charts, and much more.
With Glasscubes, you can:
- Store and share files in a secure location, complete with automatic version control. You can even create approval workflows and view clear audit trails of user actions.
- Create customised workspaces for each project team. Team members can share resources and communicate with one another in their specific workspace, and you can access them all for easy oversight.
- Communicate practically anywhere through threaded discussions on the general message board, on specific files, on assigned tasks, or through instant messenger.