Thursday, August 27, 2009

SPA London, Tom Gilb and the doom of Agile

I’m planning on going to SPA London session next week, Tom Gilb is giving a talk entitled “Does real Software Practice Advancement need yet another 'Manifesto'? ” He’s being quite provocative, look at this from the synopsis:

"AGILE HAS DOOMED ITSELF - TO BECOME YET ANOTHER FAD: XP IS ALREADY DEAD. What is Seriously Wrong with Agile practices and interpretations - why AGILE, AS CURRENTLY PRACTICED, is PROJECT-failure-prone as a culture."

I think Tom is both right and wrong. He is right that projects need more of a value driven approach, he is right that Agile is a fad but he is wrong to say XP is dead or Agile is doomed. Personally I’ve been expecting an “Agile backlash” for at least two years now, and to some degree I think it deserves it.

I too have concerns about “Agile” both the marketing of it and what lies below. The term is very vague, covers a multitude of things and is often abused. Its fair to expect it to come down a peg. But, now I look too faced, and you may be asking “Why does Allan talk a lot about Agile?” the answer is simple. Its the best tag we have at the moment, its the best term for grouping all these ideas together.

Lets take the synopsis one part at a time.

“Agile has doomed itself”: perhaps, the term is poorly defined. As a result a lot of bad practice hides behind the Agile label and gives Agile a bad name. Still there is a lot of good in there.

“[Agile] is another Fad”: certainly there is a lot of hype, much undeserved and certainly this will blow over. As bits of Agile become mainstream some of that will go naturally. But some hype is necessary, its called “marketing” and its all around us. The Agile bubble will deflate, it might get pricked but thats not a reason to attack it alone.

“XP is already dead”: I’m sorry to see Tom adopting this view. XP’ers were the storm troopers of the Agile movement. The very word “Extreme” meant it would repulse some people. But XP got people listening, got people excited and now XP takes a back seat.

Look at what XP has left us with: Test Driven Development, Continuous Integration, Refactoring, simplicity in design - the technical practices which underpin Agile development.

XP’s project management side was always a bit weak but it isn’t that different to Scrum. Scrum finesses it a bit, makes it more acceptable to management, adds in some bits that were missing and tightens it up but the two are the same. If XP’s project management is deeply flawed then so too is Scrum.

So XP is still with us, it just split in two. If XP is dead then it died so Agile might live.

Hopefully the talk will explain the rest of the synopsis.

Now why Agile is a success and is here to stay. There are three parts to this, one especially for Tom.

First, as I’ve argued again and again, Agile software development is a branch of Lean thinking, in particular Lean product development. Lean has been around for a long time and for about 20 years has been documented, studied and been something of a “fad” itself. As such I don’t think Agile is going away, but I think we will see more use of the word Lean.

Second is the name factor. “Agile” is a solution, it is a solution to slow software projects, it is a solution to poorly run software projects, it is a solution to poor quality software, it improves team performance and customer satisfaction. Yes “Agile” is a vague term but it is a label for all those things.

Go searching on Google for any of those things. You’ll find what you want, eventually. You will need to dig through lots of stuff first. Yes “Agile” is something of a marketing term but it is a marketing term that labels a whole set of desirable outcomes and ways of achieving them. As such it is short hand for finding ways to make software work better.

Finally, there are lots of different pieces make up the “Agile” toolkit. Scrum brings Project Management. XP brought better quality software - a crown inherited now by the Software Craftsmanship movement. Crystal (remember that one?) and Lean bring continual improvement. Elsewhere I’ve written about Agile governance, and so the list goes.

Tom and Tom’s Evo method brings important tools to that toolkit. Evo pinoneered short iterations. Evo emphasizes value delivery. Which leads us to better requirements understanding and governance. Evo emphasizes measurement. Planguage gives us another way of documenting requirements. And so the list goes on. If you are not familiar with Toms work then its well worth a look, lots of good ideas.

But, Tom’s ideas aren’t the whole toolkit. XP, Scrum, Lean, Kanban, etc. all bring something to the party, its up to you to decide which guests you want.

On the one hand I find it ironic that Tom appears to be attacking Agile. For me Evo is an Agile method. Evo shares common roots with Agile, namely the work of Edwards Deming. On the other hand, I enjoy Tom’s ideas, he’s thought provoking and I always learn something. Maybe he’s just getting some of the Agile hype for himself.