Combining agile and waterfall tactics in the product development process brings out the pros of each approach.
In modern software development, there’s a negative stigma attached to managing projects using the waterfall method. It’s considered old fashioned, clunky, and a bad fit.
The agile methodology is more on trend. It’s touted as the best way to manage a software development project – efficient, cutting-edge, and generally awesome.
But is this fair?
There are pros and cons to both the waterfall and agile approaches.
Because each software development project is unique, there’s no one-size-fits-all solution.
While at first glance agile and waterfall appear to be complete opposites of each other, there are ways to combine the two to bring out the best in each.
Next time you’re planning a software development project, which method will be best for you?
The Waterfall Methodology: Pros & Cons
Waterfall is the traditional way of approaching software development projects.
It takes a structured approach to project management and includes four main steps:
Each step has to be completed in sequence with little or no overlap. Once the development team moves to the next step, the preceding state is considered complete and accurate.
Waterfall Projects Benefit from Predictability
The structured waterfall approach’s static nature and predictable workflow make it easy to:
- Estimate development costs
- Create a project timeline
- Stick to deadlines
There are clear expectations about timeframe and deliverables for each phase of a project, and every stage is documented.
Waterfall Disadvantaged by Inflexibility
The waterfall approach also has a downside: it’s inflexibility, which makes it difficult to accommodate change.
First, limited ability to adjust processes throughout a development project makes it challenging to catch features that don’t fit or work.
Second, because testing happens at a late stage in the waterfall approach, it can be too time-consuming to pivot and change something that doesn’t work or is already out of date.
Sometimes testing occurs so close to the proposed deadline that it’s rushed, meaning product quality suffers and problems are overlooked.
Third, waterfall demands a lot of documentation, making it slightly bureaucratic.
The Agile Methodology: Pros & Cons
Agile, as its name suggests, is more flexible and adaptable.
Less a methodology or process, agile is a set of values and principles that development teams use to manage their projects.
Each project breaks down into quick, iterative tasks, called sprints, where teams work collaboratively to deliver different sections of the project at the same time.
Agile Projects Benefit from Continuous Improvement
The allure of agile is its flexibility and focus on continuous improvement. Indeed, the process is so flexible that multiple different approaches fit under the agile umbrella, including Scrum, Kanban, and Extreme Programming (XP).
An agile development process divides projects into manageable chunks and requires regular testing, making it easy to add or remove elements of the project and reducing the chance of failure.
Agile Disadvantaged by Sprint Speed
Despite the benefits of agile, it’s far from perfect.
First, it’s easy to lose sight of the bigger picture because of its focus on short-term sprints.
Second, product quality may drop because of its focus on speedy production (and less on planning).
Third, estimating timeframes and cost becomes difficult because the agile processes’ flexibility does not guarantee exactly what you’ll get for your money and when you’ll receive it.
“Hybrid” Approach as Alternative to Agile or Waterfall
A development team should not use one approach for all projects, but rather apply the approach that delivers the best results for a specific project and/or client.
Getting caught up in the debate over whether agile or waterfall is better misses the point.
The principles behind the waterfall methodology (analyze, design, execute, test) form the foundation of most software projects.
But, agile adds some extra dimensions, such as breaking projects down into manageable chunks, inviting greater collaboration both with the team and the client, and valuing real results over documentation.
So, why choose between the two?
Both processes can be executed in a number of different ways, meaning there’s no reason why you can’t combine the strengths of each in a hybrid method.
Finding the sweet spot between the two methods is where the magic happens, as Dr. Bill Curtis of software analysis firm Cast noted in a 2014 report:
“Our research shows that applications produced using traditional agile or waterfall methods alone have more security vulnerabilities, more reliability and performance issues, and a higher cost to maintain than those produced with a mixed method. It's time to take the religion out of software development and get back to sound software engineering.”
A hybrid waterfall-agile approach gives you the best of both worlds: the organization and systemization of waterfall and the flexibility and speed of agile.
Case Studies of Hybrid Development Projects
Case Study #1: Website for National Health Service Resolution Rebrand
Opportunity/Challenge: The National Health Service (NHS) needed a new website that reflected changes in the department’s brand and philosophy (changing from NHS Litigation to NHS Resolution).
Project Requirements/Constraints: The department had a short timeframe; the website needed to be ready in time for the NHS Resolution brand announcement.
It was important to have clear deliverables and a fixed budget to make it easy to agree on a contract within such a large organization,
Development Process: Requirements for a short timeframe, clear deliverables, and a fixed budget, dictated that some waterfall principles were necessary.
However, Wholegrain Digital added agile elements to ensure a quick turnaround time for the project.
Solution: Wholegrain Digital treated the project as if it was the first sprint of a waterfall project.
They built a two-page website, with the client, project manager, designer, and developers working together closely from beginning to end.
This collaboration allowed them to deliver a high-quality product quickly and efficiently while avoiding the common pitfalls of cumbersome waterfall projects.
Key Takeaway: Combining the structure of waterfall and the speed and collaboration of agile made it easy to complete the project within the strict time and budget constraints of the NHS’s contract.
Case Study #2: Website for UK-Based Network Rail
Opportunity/Challenge: Network Rail, an organization responsible for managing the UK’s railway infrastructure, needed to improve its website’s user experience, both for its visitors and its communications team.
The project required a new website design and a transition to WordPress.
Project Requirements/Constraints: The project methodology needed to account for a wide range of stakeholders, be contractible within the tight procurement framework of a large organization, and mitigate the risks commonly associated with such a large, high-profile project.
Development Process: An agile approach was ideal from a technical perspective, but aspects of waterfall were preferable from an organizational point of view.
Solution: Wholegrain Digital’s project team used a hybrid methodology.
First, they launched a discovery phase to identify the big picture and the stakeholders' needs.
Next, they created a minimum viable product (MVP) using the waterfall approach.
The client and project members worked together to move the project forward – a key characteristic of agile.
At all times, they focused on collaboration to achieve the best outcome, rather than merely ticking boxes within the contract.
Then, they began another waterfall-style project to tackle high-priority items that were not addressed in the first MVP.
This phase aimed to reassure the key stakeholders that Wholegrain was addressing the essential, high-priority requirements of the project.
Securing key stakeholders’ confidence allowed Wholegrain Digital to apply more agile principles, like sprints, in the long term.
Key Takeaway: The hybrid approach resulted in cost savings for Network Rail and timely completion of the project.
Wholegrain's client, Andy Jones of Network Rail, commented:
“There’s a place for both agile and waterfall, and I believe that adopting and melding both principles and methodologies can yield great outcomes, allowing a tailored approach to project management that considers the client and the agency, both of whom are focused on delivery. The project management attire is there to ease and facilitate this victory.”
The website had a low bug count and helped the communications team take control of its web presence.
Hybrid Approach Works for Software Development Projects
Next time you hire a software development team for a project, don’t be too rigid about the methodology until you discuss the project’s expectations and requirements with the software development team.
The current trend – in this case, agile – isn’t always the best option.
Instead of flexing the project to fit the process you think is better, try flexing the process to fit the project.
Waterfall can be an extremely valuable method if combined with agile principles. By keeping the waterfall small and gentle and carefully managing your approach, it can be an exhilarating experience.
Imagine approaching a waterfall in a kayak. You analyze the situation, design your approach, execute the maneuver, and test to ensure you’re still in one piece. If you get the process right, you can pull off the most spectacular of drops.
By focusing less on the label and more on the project itself, you can maintain the organization and systematic tracking of waterfall with the flexibility and transparency of agile.
It’s a win-win.
About the Author
Tom Greenwood is the co-founder of Wholegrain Digital, a specialist WordPress agency in London founded in 2007. He has managed design and development projects for clients of all shapes and sizes and is committed to exploring better ways of working and better ways of doing business. He hosts the Wholesome Business podcast and speaks and writes about socially and environmentally positive business.