A colleague of mine (customer
of Magenic) forwarded me a link to Steve
Yegge's wonderful blog
post about Agile methodologies (good and bad).
I think my favorite bit in the whole thing (and there are a lot of good bits!)
is this:
Bad Agile seems for some reason
to be embraced by early risers. I think there's some mystical relationship
between the personality traits of "wakes up before dawn", "likes
static typing but not type inference", "is organized to the point of
being anal", "likes team meetings", and "likes Bad
Agile". I'm not quite sure what it is, but I see it a lot.
Like Steve, I am not a morning person, and this probably
explains my general antipathy towards Agile Methodologies.
This antipathy is something I've struggled with at length.
I am a strong believer in responsibility-driven, behavioral,
CRC OO design - and that is very compatible with the concepts of Agile. So how
can I believe so firmly in organic OO design, and yet find Agile/XP/SCRUM to be
so...wrong...?
I think it is because the idea of taking a set of practices developed by very
high-functioning people, and cramming them into a Methodology (notice the
capital M!), virtually guarantees mediocrity. That, and some of the Agile
practices really are just plain silly in many contexts.
Rigorous unit testing? Slam dunk!
Writing the tests before writing your code? Totally optional.
Pair programming for intense, multi-threaded framework code?
Absolutely!
Pair programming to retrieve a DataSet using ADO.NET? Yeah
right…
See that’s the thing. Formalize a set of practices into a
Methodology and the practices lose their meaning. Each practice in Agile really
is good – in a specific place and for a specific purpose. But when wrapped in a
Methodology they become “good at all times and in all places” – at least to
most practitioners.
This isn’t Agile’s fault by the way. I’m not entirely
convinced that Waterfall Methodology isn’t rooted in a set of perfectly good practices,
which were subverted and corrupted by becoming a Methodology.
Nah, on second though Waterfall really is just plain bad.