The Agile-Waterfall and Other Variations in Agile Practice
Learn about the different forms "agile" has taken on, including a hybrid with waterfall and other variations that may or may not be good for your company.
Join the DZone community and get the full member experience.Join For Free
In recent years, Agile has become a mainstream topic, the basics of which even laymen interested in the world of software development can understand. Yet some Agile enthusiasts warn that even with the adoption of this modern software development framework booming across industries and across organizations of all sizes, whether all these companies really are using 100 percent true Agile is a question.
Of course, with the definition of Agile being something like “use whatever works for you," it’s difficult to gauge the level of adherence to the Agile “rulebook." But there are certain fundamentals when it comes to using Agile, and it seems that for a large portion of business that claim to practice Agile, it's no more than wishful thinking. These companies may have incorporated certain Agile processes or techniques in their development methodologies, but a full-on cultural transition may not have been made in all cases.
Wagile or Hybrid?
Using unplanned hybrid methods that resemble a combination of Waterfall and Agile practices (therefore often referred to as “Wagile”) can be considered a failed attempt at adopting Agile. However, it’s not all black and white: Some companies start out on the road to Agile with the intention to adopt Agile gradually, starting with some custom Agile-Waterfall Hybrid methodology as they transition to “real” Agile. The difference between Hybrid and Wagile solutions is often to be found in the intention–whether or not the company in question was trying to adopt Agile.
Wagile is generally a result of any, or a combination, of the following problems:
- A failed cultural transition: The team or management don’t fully comprehend or agree with Agile’s principles. This limits the consensus about the new model, as the benefits of Agile may not be understood or accepted entirely.
- Management may be putting roadblocks in the way of a complete transition to Agile—whether intentionally or due to a careless approach, this hinders the transition and may lead to Wagile.
- Finally, there may be an agreement on adopting Agile, but the “infrastructure” or practical knowledge to execute the transition may be missing or limited.
Does the Situation Call for an Intervention?
Whether or not you need to change anything depends on the characteristics of situation. Quite obviously, if you’re battling a case of Wagile (in other words, if you’re seeing your Agile implementation derailed), it’s time for you to think about what exactly it is you’re trying to achieve. After a careful examination of your processes currently in use, however, you might find that while your solution may not qualify as “real” Agile, it may just be perfect for you. Various Hybrid models are being used successfully by all sorts of companies around the world.
It’s important to clearly understand and define your aspirations, as well as why you’re doing what you’re doing. If Agile still seems to be a better solution, you might need to rethink your adoption process and encourage the cultural change. If you find that a Hybrid solution better fits your purposes, revise all processes to make sure they are designed to perfectly suit your individual situation, and also define whether or not this is just a step on the road towards Agile.
Completely understanding your needs and the model you’re applying is crucial to making sure you’re using the most efficient approach.
Editor's Note: The author has produced a well-written free guide called "When, Why, and How to Use an Agile-Waterfall Hybrid Methodology" that is available for download.
Published at DZone with permission of Kristof Horvath. See the original article here.
Opinions expressed by DZone contributors are their own.