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, lets 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.
Its 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.
Lets 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, its 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 doesnt 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 its 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 doesnt 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? Lets 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 sprinters pace. As for the development phase, its not different from any other agile project. Besides, you dont 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, youll 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 its not one or the other or a specific defined hybrid. Its 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 whats 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, its 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 customers 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.