There has never yet been a more principled battle among project management mavens than that of agile vs. waterfall methodologies. The proponents of both movements claim to have quite weighty pros for ditching the opposite model as ineffective and/or outdated. However, to put an end to this debate and find ‘the golden mean’, more and more companies – the thought leaders of the industry – have started blending the benefits of both models into a brand new approach, the so-called agile-waterfall hybrid.
For the uninitiated, the terms agile and waterfall seem to have nothing much in common, but experts in the field denote two diametrically opposed and seemingly irreconcilable project management approaches.
Firstly, let’s look at what these tech buzzwords mean, how we can measure their effectiveness, and how most forward-thinking companies prefer to benefit from both models..
The agile movement represents a completely new project management ideology with its own manifesto. In fact, agile is an umbrella term for various methodologies (the most popular ones being Scrum and XP) which consistently promote the values of the manifesto, such as dominance of individuals and interactions over processes and tools, customer collaboration over contract negotiation, etc.
It’s not without reason that this new approach was dubbed ‘agile’. As a more flexible way of managing software development projects, it constitutes an iterative approach to software products, based on the step-by-step principle of product delivery versus one-time delivery of the outcome when approaching the deadline (waterfall approach).
Thus, breaking the project into smaller tasks is what makes the process nimbler and reversible should there be any errors and/or bugs in-between the phases. The analysis of the product, design, coding, and testing phases rotate throughout the whole project as requirements are updated or modified, and this perhaps constitutes the main difference between agile and waterfall models.
Let’s have a quick look at the numbers. The latest statistics show that agile is trending in the tech world: a survey conducted among 601 software developers and IT professionals showcases that 2/3 of them used ‘pure agile’ or ‘leaned toward agile’ methods.
However, despite the statistics, myriad companies still have a penchant for the traditional waterfall methodology.
Here again, the term illustrates the way the project is managed: like a waterfall, the progress of the project cascades from top to bottom. Unlike the agile model, it’s more static – the requirements are set right away and are hardly ever modified, which in the case of some projects is not at all a drawback.
The waterfall model represents a sequential design process, which means that developers move from one process to another and deliver the finished product at the end. In this case, project managers formulate the outcome, set a detailed plan from scratch and diligently follow it.
Consequently, if you use a waterfall model, the customer knows right away what kind of a product to anticipate. Perhaps, this indisputable benefit is the major reason why some big organizations still hesitate to fully shift from waterfall to agile (for instance, top testing companies use this approach to test small projects).
Nevertheless, the waterfall approach doesn’t allow you to step back and fix errors nimbly – if they occur. Moreover, if they are written at an early stage of development but discovered towards the end, they may affect the overall code, and developers will have to rewrite it from earlier stages. Sometimes it’s common practice to skip the testing for the purpose of meeting deadlines, which is detrimental to the outcome.
As industry expert, co-founder of LEANability consulting company Klaus Leopold put it: “Trying to speed project schedule by reducing testing is like trying to lose weight by donating blood.”
As we can see, no methodology is perfect. While the agile method is trending, it doesn’t provide a ‘one-size-fits-all’ solution to any given project. Besides, no matter how outdated it sounds, the waterfall method offers more perks in terms of organization and systematization of a project.
Weighing in on all of the pros and cons of both methods, some project management industry experts have designed an alternative yet compromising approach: the agile-waterfall hybrid, the most popular model being the one introduced by Erick Bergmann and Andy Hamilton.
Combining the best aspects of both methodologies, agile-waterfall hybrid, does not make it flawless. If so, why are some top companies inclined to adopt this approach instead of opting for agile or waterfall models separately? Let’s discuss the peculiarities of the hybrid model taking into account its two varieties – Agifall and Wagile:
1. Agifall hybrid type revs up the speed and quality of delivery by adding ‘agile’ methodologies to the ‘waterfall’ process. In an ‘agifall’ project, a project manager divides the research, strategy, and planning stages into smaller tasks and completes one task at a time with a sprinter’s pace. As for the development phase, it’s not different from any other ‘agile’ project. Besides, you don’t need to wait for one stage to end to proceed with the following phase (unlike in traditional ‘waterfall’).
2. In contrast to ‘agifall’, ‘wagile’ (which, by the way, has a negative connotation in Wikipedia) employs ‘agile’ practices like short iterations or continuous integration merely by adding them on top of the ‘waterfall’ model, without actually changing it.
The hybrid model best works for reusing software code while dealing with a bunch of similar products and having to take into account the quality of future products. One has the flexibility of agile to work quickly and autonomously, while still staying abreast of the end software product level of quality and design to meet client expectations.
In this case, you’ll need a shorter turnaround period to keep up to speed with continuous product releases. Essentially, you will need to brush up on backlog management if adopting the hybrid model, as pieces of reusable code need to be organized to allow for the rapid pace of the agile method.
While introducing an agile-waterfall hybrid enables software teams to work ‘agile’, hardware development teams and product managers can retain the traditional ‘waterfall’ approach.
Some of the savviest IT companies have proven that the agile-waterfall hybrid management method is greater than the sum of its parts. In the case of XPlace, a freelancer hosting startup whose team spans three continents, they found that after first using waterfall, the hybrid methodology saved 25% on product delivery time and with 18% less bugs throughout the development process.
The hybrid made it easier for them to identify the critical development path, and still complete tasks in ‘sprints’ while maintaining product quality. If waterfall is too rigid, and agile too liberated, perhaps the hybrid method can work for your team as well.
This all being said, and while most forward-thinking organizations prefer the hybrid, it all depends on the needs of each individual project; agile-waterfall is not necessarily best for every project. PM industry thought leader Deanna Earle, founder of Unlike Before, shares her thoughts on the matter:
“A hybrid solution is an option though even that requires an organisation to accept that they too must work differently,” says Earle, “In my experience it’s not one or the other or a specific defined hybrid. It’s about using and doing what makes sense for the project, situation, and organisation. Forcing a square peg into a round hole never works. Perhaps we should get rid of methodology labels, focus on doing the fundamentals of project management well and properly, and just get on and do what’s right to deliver the project and its business outcomes.”
To sum up, whether you choose your project to go ‘agile’ or flow like a waterfall depends on the goals and objectives of a certain project. However, advanced organizations are increasingly leaning toward the alternative, hybrid approach, which combines the benefits of both. Of course, agile-waterfall hybrid is not a ‘cure-all’ – rather, it’s a compromise between the ‘agile’ vs ‘waterfall’, a solution to stop the fight.
Thus, the agile-waterfall model aims to maintain the dependency tracking and systematic approach of ‘waterfall’, while at the same time incorporating the strengths of the ‘agile’ methodology – flexibility and transparency needed for adjusting to the customer’s fast-changing requirements.
Does your company prefer an agile-waterfall hybrid? Share with us how you have used it to success in the comments below.
About the AuthorMore Content by Pavel Aramyan