Is the mighty concept of agile software development, championed as the better way to develop software by building it in short iterations, striking out, or is it just misunderstood?
Agile development has been experiencing a backlash lately, getting a particular skewering in technology management consultant Daniel Markham's blog entry, "Agile Ruined My Life." Among other things, Markham argues that agile is a marketing term, that conflicting advice is offered on how to do agile, and that "fake success stories" abound.
Now, a longtime pioneer of the agile concept has had enough and is taking a stand.
In a recent conference presentation, Jon Kern, a signer of The Agile Manifesto for Software Development 10 years ago last month, defended agile. "It's not agile [that is the problem]," he said. "It's people doing stupid things in the name of agile and then giving agile a bad name."
Developers, he said, should not be stuck on the notion of pure agile, in which they are told they must perform tasks in a specific way or risk not being agile. Agile actually "is more context-based," Kern said.
"To be an agile developer, it's mostly about being very pragmatic and not dogmatic and really trying to understand the system that you're trying to build as whole," he said at the Server Side Java Symposium. A core principle is reducing the amount of time between doing something and seeing results, he said.
"Agile is the ability to really move and adjust," and so requires peak performance, Kern stressed. "What we really need to do is either reconnect to agile if you're having issues or connect properly for the first time." Agile requires a lot of thinking, and the particular people working on a project are critical. "People are the number one important ingredient and the number one cause of failures or success."
Critic Markham turns out to be a friend of both agile and Kern. "Jon and I actually became friends as a result of that article," Markham said. In fact, he's an active agile coach. "I am a big fan of agile. That's 'little-A' agile, as in principles not rituals," he added.
"The principles of agile are very sound, tight feedback loops, engaging the customer as an integral part of the team, always adapting and so on. The problem was that firstly, the manifesto is the most overmarketed self help doc on the planet, and secondly people get caught up in the details instead of operating from principles. They become 'agilistas'," Markham said.
Markham added he has probably watched 100 teams struggle with agile adoption and worked with other coaches who have witnessed the same thing. "I think perhaps one of the reasons my article resonated so well was that it was from a knowledgeable person inside the community, somebody who has spent a lot of time teaching this stuff. Not from a simple naysayer."
"As my article tried to show, it's not the core of agile that is the problem, it's the half-assed way we've taken people who couldn't code their way out of a paper bag and made them experts that is the problem... Some of these guys who are famous authors and speakers wouldn't be worth a plug-nickel on a real, live delivery team. The buzz has lost sight of reality."