09.28.06
Time to whale on Joel again
Well, Joel has gone and had a brain fart again. After succeeding in destroying all his geek credentials with a mal-formed and ill-advised rant against rails while extolling the virtue of his own, proprietary, scripting language (wasabi), Joel has moved on to basically talk bollocks about agile programming in general, spurrred on by Google’s Steve Yegge.
James Robertson (who writes an awesome blog on Smalltalk goodness) sums it up better than I could (strongly suggest the visit), but it really seems like Joel is in some kind of ‘destroy your cred’ competition at the moment. With, I don’t know, K-Fed or something.
Apparently, Joel is still in the camp of folk working in software who still think that Agile programming is new and amazing, lots of “beta” tags and magic, as opposed to a fairly unamazing and effective approach to completing a project in a small space of time, with limited resources. Of course, this is the antithesis of Steve Yegge and Google’s world, where smart people get to hang out and never finish anything. Agile this is not.
So a quick refresher for everyone out there:
- Agile has been around for many many years now. Not as many as C, but almost exactly as many as J2EE (and that ain’t no coincidence, people).
- Agile == limited resources, small teams, defined end date. It’s a process of optimising for a limited budget, shifting technology, small teams and a hard deadline. Those are the only circumstances where it works perfectly, and unsurprisingly moving these factors causes “hiccups”.
- “Good agile” a la Steve Yegge (no end date, do what you want, unlimited resources) is *not* agile. It’s just plain bloated. Agile is, and always was, about doing the best you can with what little you have - something Google may have somewhat forgotten in the path to the largest market cap in history. C’est la vie, I guess.
- To summarise: Time, budget, scope. Pick two.
(Not rocket science, I know - but it had to be said).