Comparing Agile and Waterfall is an old game; which is better, and where?  The answer lies in how well each method addresses the sorts of situations we each encounter.  Some common comparisons might be as follows:

  • Knowledge of the Need – Waterfall relies upon a solid understanding of audience and market desires to craft a single, targeted plan that can lead to proper solutions. Agile methods assume that some trial and error will be necessary to validate (or invalidate) assumptions about what people want.  Given the frequency with which people change their minds about precisely what they want, the real-world advantage would generally seem to lie with agility here.  Advantage: Agile

  • Knowledge of the Best Solutions – Assuming that the above question has been answered well, teams must choose the best way to address user needs, balancing quality and comprehensiveness with cost and time considerations.  While competent teams will often choose well with either method, the linear nature of waterfall means that the cost of a bad bet is higher than in agile methods, where proper feedback loops can lead to earlier discovery, and hence relatively inexpensive directional adjustments.  Also, having teams consider and suggest solutions collaboratively throughout the project lowers the chances of missing a great idea.  Advantage: Agile

  • Resource Availability and Skill – Having the perfect team is a great recipe for success regardless of the method, but that’s a tall order, especially in heavily matrixed organizations with many simultaneous projects.  Agile methods don’t solve this problem, but can ameliorate it in the long term through a heavy focus on skill sharing and cross functional behavior, thus lowering the likelihood and impact of an unavailable critical resource.  Devaluing divas can lead to more great ensemble players.  Advantage: Agile

  • Predicability – This one is the real trick; everyone wants it, but it’s tough to achieve.  Waterfall gives a strong sense of predicability, but one need only look at the track record of most projects to understand that this is a promise oft-broken.  If nothing changes and most elements of projects are well-trodden ground, then predictability is achievable, but these two requirements are more the exception than the rule.  Whether one is using waterfall or agile, familiarity will obviously help with planning.  However, given its frequent absence, agile methods choose to focus on ability to cheaply change rather than stability of plan.  Seen another way, agile methods are often more predictable in the short term, while both methods are frankly weak at long-term prognostication.  Weak Advantage: Agile

So, the essence of the competition is this; in repeatable situations and armed with perfect information, waterfall would be a solid approach.  Given the paucity of both prerequisites in most real environments, agile methods simply seem better suited to the slightly chaotic world in which we live.  

-Arlen Bankston

Interested in Agile training or coaching for your team?  Check out LitheSpeed’s Agile consulting.

Questions?