Steve Yegge from Google posted this analysis/rant on Agile Programming a month ago, and I’m surprised that I haven’t seen it until now.
He makes a differentiation between “bad Agile” (big-A) practices, and “good agile” (small-a) practices. He picks on the easy targets (pair programming, methodology consultants, that sort of thing) as “bad Agile” and actually compares it to Scientology.
Buried in the rhetoric are a few points that I can agree with:
- developers go to too many meetings. Different teams here try to solve this problem differently: they try to make stand-ups more meaningful, they try to control meeting flows, that sort of thing. I solve it by going to fewer meetings. I’ve got a bit of a reputation around here as someone who tries to cancel, skip or cut short as many meetings as possible. And that makes me happy.
- pair programming isn’t always appropriate. It’s got its time and place, but practitioners should keep in mind that it’s just one more tool in the toolbox and not necessarily a way of life.
- he’s a big proponent of a prioritized work queue, which is a major part of all the Agile methodologies (“always work on the most important thing”). I really don’t see much a difference if this is managed by a task list, story cards, or by Bugzilla – I’ve used all three, and they’re all perfectly workable solutions.
At the same time, his “good agile” counter-examples all involve working at Google. Apparently at Google, developers can do whatever they want! And there are no managers! And free food! And the keyboards are made of candy! And it goes on and on. Sheesh, some of us work for companies whose main purpose, realistically, is to stay profitable while actually helping our customers. For a lot of shops, that means using whatever methodologies work to deliver products in a timely fashion – and for us, that’s a version of Agile (big-A) methodology that we’ve refined to fit our workforce and client base.
(Found via my university roommate’s blog. It’s not like he’s returning my phone calls these days, so it had to pointed out to me by a third party.)