End the holy war over agile development

Next-generation IT must look beyond the agile-vs.-waterfall fervor and recognize that versatility is the new agility

IT leaders looking to move their organizations forward should check out the YouTube video "I want to run an agile project," this week's winner of the Best Inadvertent Example of How Not to Behave in a Corporate Setting Award.

What you'll hear if you can bear the 10 minutes: a project manager named Luke repeating over and over again, to everyone he has to deal with, in a distinctly whiny tone, "But I want to run an agile project."

[ Also on InfoWorld.com: Get Bob Lewis's continuing IT management wisdom in his Advice Line blog and newsletter. | Find out why running IT as a business is a train wreck waiting to happen. ]

Here's a piece of advice for all the Lukes out there: "I want" followed by a direct object is not a compelling business case. "Here's why you should want me to manage this as an agile project," followed by specific benefits is persuasive instead of fingernails-on-a-screen cringe-worthy. It would keep Luke out of trouble, too, because in tomorrow's IT, development methodologies will be chosen based on the situation, not personal preference or trend-spotting.

Why agile is essential for next-generation IT

Depending on whether you're a proponent or a detractor, agile is either a family of methodologies or a religion composed of one true denomination and a handful of variously misguided sects whose only virtue is being less misguided than the waterfall contingent. The same may be said for waterfall, only backward.

In fact, for all the religious fervor, the question of which methodology is superior can only be answered by the phrase business managers like least from consultants: "It depends."

Without a doubt, next-generation IT organizations will have to master agile. Why they'll have to master it has nothing to do with "I want to run an agile project" and everything to do with "it depends." Specifically, "it depends" boils down to two factors: how fast a company needs a solution, and how long that solution will have to last. In an increasing number of business situations, deadlines and lifespans are getting shorter all the time -- criteria for which agile is well-suited.

The upside of agile is that businesses that implement it are great at adapting to change quickly. That's because the software supporting the business is built in small chunks that are deployed quickly and bring business benefits early. When business circumstances change before the next chunk is supposed to be ready, it doesn't matter, because agile designs are just in time, not all at once.

Agile is great at one more thing: graphical interfaces that fit how users want the software to operate. That's because agile calls for high levels of informal interaction between developers and users, without any need for intermediaries.

Does that make a business more agile? It sure does, because the better the software fits how users think about their work, the less time they'll need to learn it, and the less often they'll misuse it when taking care of oddball situations.

Waterfall's role in tomorrow's IT

Agile has its downsides, too. One is enforcing a consistent application architecture. It's a solvable problem, but as is often the case with compliance issues, most solutions cause delays in the form of external reviews. These make agile, well, less agile.

Or maybe it makes more sense to use waterfall when excellent internal engineering matters greatly -- when durability is more important than quick delivery.

1 2 Page
Mobile Security Insider: iOS vs. Android vs. BlackBerry vs. Windows Phone
Join the discussion
Be the first to comment on this article. Our Commenting Policies