Daniel Markham, a hands-on technologist, and agile coach wrote a post last week trying to answer the question why some people are seriously pissed off at Agile? He regularly receives negative emails rebuffing Agile claims. After well over a decade of Agile practice and a wide adoption across the industry, it might be a good time to pause for a second and ask some questions like Amr Elssamadisy did earlier this year. There is often one small step between success or failure, not to mention that it is often difficult to measure success.
Here are the problems he sees and hear about:
- Fake success stories
- Trainers who can't do the work
- Inflexibility on the part of adherents
- "Feel good" agile
- Magic Bullet Syndrome
- Reversal of team dominance
- Cargo Cult Agile
- Non-answers to questions
- Conflicting Advice
- Scamsters
- It's the same, only different
- Little Gold Star Syndrome
This set of remarks reflect a fairly general pattern in our industry and the same things could possibly said just by replacing Agile by the buzzword du jour. As it is often the root cause of skepticism, Daniel explains:
Agile has no definition. There's no standards board, there's no test, there's no approved workbook, there's no checklist. Agile is nothing like Scrum. Personally, I think that's a good thing. Agile is a set of best practices around running iterative and incremental development teams. [Agile itself is just] a marketing term.
Yet, there is ample evidence that Agile teams are generally happier an have a higher productivity. As the debate on the ingredients of success is still active, for Daniel, the keys towards becoming a successful Agile team is about doing, reflecting and adapting:
It IS an art, not a science. You don't just read a book or take a class and suddenly you are agile. You don't learn to play the piano by watching a film of somebody else playing, reading a book about it, or going to a conference.
Not surprisingly, lots of comments followed:
[Techneilogy] One thing that makes things with some good (like agile programming) go so bad, is the "secret formula" mindset endemic in middle management.
[Alan Franzoni] Agile should be agile in adoption as well - it's very hard to start from scratch and adopt each and every "agile technique" at once, and it should be a developer's demand beyond the manager's will - if something works well, there may be no reason to change its.
[Rui Curado] Pragmatic model-driven development (hence not UML/MDA) coupled with code generation is one step forward to a better development future. It does require some mindset shift but pragmatic approaches are within reach of the mere developer mortal.
[Ben] I can relate to the people who don't like the nerf ball, the haikus or whatever other "far-out" ideas the "Agile people" can come up with, and I can tell why I don't like it either with one simple sentence: what the hell does that have to do with software development?! I think that the Agile community would gain a lot by realizing that what me and a lot of people like me need are not "anecdotes", "coaches" and "stories" but techniques, clear structures and measurements.
[Anonymous] We've recently switched over to scrum at my company, and for the second time in my career I've been stuck doing this. It's so tiring on developers, all these iterations. Two week cycles, over and over, on mini tasks, makes you feel more like a code monkey than an actual developer. [To which Daniel responded] So if I were you (or your team) and I found this agile stuff just grinding the hell out of me? I'd be bringing that up every stand-up. It's an obstacle, an impediment to team performance. It needs to be fixed.
If you think that Agile is here to stay, how would convince a skeptic? Is it mature enough? or is it still going through the troth of disillusionment? Is it still suited for a world dominated by mobile applications and Cloud Computing? Or does our industry need to look beyond its processes to find new productivity gains?