I really dislike the term "agile development". I'm fine using "agile" to describe people or teams. But using it to describe a methodology seems to completely miss the point. You wouldn't say a gymnast uses an "agile technique". You'd just say the gymnast "is agile".
So articles like "When Agile Projects Go Bad" sorta confuse and grate on me.
You'd never read an article titled "When Agile Gymnasts Fall" because it makes no sense; a gymnast who falls is -- by definition -- not very agile. Similarly, an agile project that fails due to a lack of agility is rather paradoxical. (Though there are many other ways to fail than by lacking agility.)
But this isn't just a problem of semantics. Rather, I think this is symptomatic of a broader problem in the agile movement: it doesn't frickin' work. To borrow from my good friend Lao Tze:
You can't learn agility by reading and following. You become agile by doing, failing, changing, and doing again. The most agile people I know read the fewest books on it. Similarly, I don't know anybody who's seriously studied the subject of agile development techniques gotten the least bit better.
So here's my advice: if you want to be agile, put down the book and just start making it up as you go. If what you're doing isn't working, try something different. If what you're doing works, try cutting out a step and see if it still works -- or even works better. Repeat.
You're certain to make wrong steps. You're certain to encounter failure -- indeed, failure will likely be your steady state.
But eventually you'll figure it out, and every once in a while it'll work out great.
Welcome to the world of agility. No reading required.
- David Barrett