09.28.06
Agile again
And while I’m on the subject of Agile…
If anyone (credible or otherwise) starts railing against Agile (capital-A) as a bad thing, chances are they have missed the point. The fact that a senior voice at Google has joined the chorus of folk slagging agile without taking the time to understand it goes a long way to showing the dire state the IT industry is in today. Everyone is always too ready to call bullsh*t on any new trend, for fear it might upset their applecart and require learning new skills. Yes, Google boys, your interviews might be hard, but they don’t test for innovation or rational thought - only alpha-geekiness. Hence the “no delete button in gmail” fiasco. Hence Google boys feeling they have to “debunk” Agile and similar.
In a futile effort to clarify the debate for everyone once again:
Agile is for a set of specific circumstances:
- Limited budget
- Hard deadline
- Uncertain or poorly understood technology
… check the details of the approach in these terms and it comes clear…
- Test-driven development: because your underlying tech probably is buggy.
- Pair programming: because in a week they will be the two world experts.
- No requirements documents: because you don’t have time.
- No status update (or other, preferably) meetings: because you _really_ don’t have time.
- Deliver early, deliver often: because at least if you run out of budget, there’s _something_ to show for it.
- (SCRUM) Meet for brief periods of time to let your team know what you are doing for the next 24hrs and what they might have to do to make sure it happens: because you don’t have time to wait for each other to catch up.
… and so on, and so forth. Agile is a good approach to a particular problem. Much like Assembler is a good approach to particular problems, Django is a good approach to particular problems, Wasabi is probably a pile of bollocks, and J2EE is a solution looking for a problem.