The always informative Brad Appleton has a post on Software Agility which defines some fascinating terminology right out of Yogi Maharishi’s mantra.
How can you not love a process that includes:
- Sense the Problem/Opportunity
- See the Problem in the Context of the “Whole”
- Socialize the Goals and Constraints
- Swarm the Solution
- Show the Results
- Share the Knowledge Learned
- Life Goes on Within You and Without You
[Ok, I admit I added the last one from The Beatles, not Brad Appleton.]
I don’t really know what “Swarm the Solution” means, or “See the Problem in the Context of the Whole”, and I’m the poor dumb bastard that actually read the post.
The biggest challenge with “Agility” or “Agile” is one you can learn from the taxi business: if you don’t know where they want to go, it’s hard to get the passengers to pay you for taking them there.
Having run an Agile (Scrum) process here for almost two years, and having almost 100 Agile customers, there’re three things you need to know about Agile development before you can get it right:
1. Figuring out what to do next is the hardest part. Kudos to those organizations who have a single customer they need to satisfy, but most of us have to make sense of often contradictory feedback coming from many sources. Agile doesn’t make this easier. It may, however, make your mistakes more like scratching a parked car than bouncing off a road grader. Beware the process that can’t trace it’s stories back to actual customer statements! Beware!
2. Time boxing means you have to spend the energy testing that you always told your mother you were going to do, but never quite go around to it. If you start getting all soft on those developers and letting them make excuses for why it can’t be verified in the time box, you’re going to be in Faux Agile land, an evil place where developers run amok, dates come and go without meaningful results, and customers wander off for lack of adult supervision. Joel Spolsky wrote about Netscape entering this land many years ago. I read it in my Chrome browser.
3. Self-Managed Teams can save you a lot of money by increasing your management branching-factor. But don’t let the inmates run the asylum: people still go through bad marriages, get mad at their co-workers, and generally screw up, just like they did before. The larger the team, the more likely your average team member is to be no smarter than the beer drinking, C+ grading, problem set copying, frat brother who peed on your car last night. Management still has to provide the whack on the head needed to keep the good ones motivated and the bad ones headed to someone else’s frat party.
“Agility” is about getting somewhere faster. If your process doesn’t get you going the right way, your doing Agile for No Apparent Reason.
Lorne Cooper