Thursday, September 28, 2006

Agile vs agile

I must confess I'm the sort of person that gets completely taken by whatever argument I am reading at any given time and don't have a very good, critical (argument analysis) type mind. So I tend to get taken in by whatever point of view I'm reading. I lack an ability to pick holes in arguments immediately. When I watch one of those CSI/SVU/NYPD cop/courtroom dramas I tend to be completely convinced by whichever case is being put at any given time. God help the accused if I'm ever on a jury. Imagine my predicament when, as a self confessed "Agile" junky I read this article - postulating Good and Bad Agile (warning very long - see you back here, if you can remember where you came from, once you're done)!

Anyway, I was actually quite encouraged when it recommended throwing out the physical "index cards" common in Agile teams and move the work queues onto a software based queue - something my teams have done all the long, simply for the ongoing records, recoverability, sharing and flexibility offered by an issue tracking system - (my current favourite is OnTime although pretty keen to give FogBugz a try).

So my final verdict - Agile is by definition agile. Agile says to me, do what works. Here's a bunch of techniques that will help you solve some age old problems (Everyone wants everything tomorrow, they don't want to tell you what they want exactly - that's up to you to figure out coz you might have some good ideas, but they'll be happy to label you responsible if they don't get it, and by the way, how much will it cost and when can I have it - careful, there will be penalties if you're late - and be flexible coz some of this will change - now hurry up!). So these techniques will help you fight this mentality, and if you want to employ more/new/or varied techniques, here's some prinicpals to help guide you in their (the new techniques) inception.

I've often said the Software Development co-ordination should be the easiest job in the world - everyone else should make all the decisions for you, just do what they're asking. Putting this into practice is another story but Agile techniques can help. You still need common sense and some real pragmatism to get the job done though. There is no silver bullet and any marketing based initiative that purports to be said "silver bullet" will not only fail, but will immediately put all but the most niaive software developers, off-side. Developers are intelligent and synical by their very nature - a condition that is cronically worsened by the presence of Marketing people promoting their Software Marketecture techniques.