May 9, 2007

...Learn TDD with Codemanship

Post-Agilism Explained (Pretentiously)

I've been biting my tongue while I watched a debate about post-Agilism unfold on a handful of blogs.

Jonathan Kohl - who kindly offered his thoughts for my pilot podcast last month - wrote a FAQ about "post-Agilism" on his blog, which was quickly attacked by Paul Gerrard, who accused Jonathan of being pretentious.

James Bach then waded in to the fray and highlighted a few errors in Paul's attack.

This comes after I've noticed a few other brief posts from others who are not happy with the term "post-Agile", even if it seems clear that they have all failed to appreciate what it really means.

J. B. Rainsberger, for example, highlights the logical fallacy of post-agilism - and if we weren't being case-sensitive here, he'd be quite right. Adapting to circumstances is an agile strategy that can significantly improve our chances of success. But post-Agilism - with a capital 'A' - is not about strategies. It's about hype and it's about dogma, and how they can - and, let's face it, actually have - put a choke-hold on genuine innovation within the Agile community over the last few years. This is not what the Agile pioneers envisaged, I suspect. So, J.B., I remain staunchly post-Agile, and see no fallacy in remaining decidely agile to boot! Just because you don't like Big Macs, it doesn't mean you hate beef burgers...

It's like drawing a clear distinction between the Christian church and the teachings of Christ. They are most evidently not the same thing, as George W. Bush has clearly demonstrated. I don't need to be a church-goer to believe that it's wrong to kill and that we should turn the other cheek. These are good values to live by, regardless of which book they're written in or what kind of tall, pointy hat the man was wearing when he told you about them.

"For verily they did integrate continuously, and they saw that it was good"

Some, like the recently suddenly very famous Kathy Sierra, have suggested that folk like Jonathan and myself aren't clear about what "post-Agilism" is. I can only speak for myself, but I'm 100% clear on what I mean by it.

Post-Agilism is simply doing what works for you

The way we know if something works is that we try it and achieve some degree of success with it. The meaning of "success" depends on what we're setting out to achieve - and that's not always working software.

I recall an online debate I had about Extreme Programming with a merry band of Agile disciples in 2004, where I dared to ask the question:

"But how do I know I'm doing it right?"

"Ah", said one of the disciples, "You cannot know, for it is unknowable. There is no test, no measure, no criteria that can tell you this."

At this point, another skeptic suggested that many XP projects still fail. To which the same disciple answered:

"Ah, then they could not have been doing it right."

And that got me to thinking that, if no test exists that can tell you if you're doing XP right, then maybe, just maybe, nobody has actually been doing XP right. Certainly I've never seen it done "by the book". Not ever. Nor have I ever seen RUP, or DSDM, or Catalysis, or FDD, or any of the other methods done "properly".

And this made me wonder that perhaps there is no such thing as "properly", since you can never know for certain that you really are doing it the way it's supposed to be done.

And yet life goes on, software gets delivered (or not, as the case may be) and projects rise and fall as slaves to their own, probably unknowable, fortunes.

Somebody, somewhere has been doing something right. The test is that they succeeded, perhaps even in spite of what they did.

And all too often now I come across teams who want to "go Agile", (and, let's be fair about this, who want to "go service-oriented", or "go Web 2.0" - Agile isn't the only church in town), and who consider the success or failure of their project a secondary concern.

Now, unlike some Post-Agilists, I have no great investment in the Agile movement. I don't think it needs "fixing" or "saving". Agile (with a capital 'A') is a social and commercial phenomenon. "agile" (with a small 'a') is a strategy. We can be "agile" about plenty of things - indeed, if often makes sense to be, since it's a strategy that can greatly improve our chances of success in complex endevours. But I don't need to be "Agile" about anything. TDD works whether it's "Agile" or not. I can succeed doing TDD in the Unified Process. But then, of course, the Agile disciples might accuse me of doing "Agile UP", such is their need to spray those particular pheromemes over as much intellectual real estate as possible (remember "Agile Six Sigma"?!) And as far as I can tell, the objections to the term "Post-Agilism" seem to be largely territorial.

I'm not attempting to claim any territory for myself. I am arguing that it belongs to nobody, and we are free to roam and explore as far as we see fit. This, I suspect, was the spirit in which the whole "Agile" thing got started in the first place. It's a free-thinking, pioneering spirit that has somehow been lost as the term "Agile" has become cynically commodotised.

It no longer means what it used to mean. And we are less free to really innovate within the Church of Agile, precisely because of the attitudes that try to confine our thinking to whatever-it-says-in-the-Agile-manifesto. I see more and more of the people who wrote that manifesto back in 2000 voicing similar concerns. They went out and took some real risks to jolt the industry out of its Big Waterfall Process Inertia, only to see us get stuck in the quicksand of Agile Process Dogma. Take a look at the session titles from the last three years of Agile conferences, if you want concrete evidence that the pace and daring of innovation has slowed down. I won't be going to any of them this year - frankly because I haven't seen much that looks new enough and exciting enough to make me want to hand over my money and give up my time to go. For pretty much the same reasons, I haven't bought a book about Agile Software Development since 2004.

What was needed to be said has been said, and now some of us - who are big fans of what was said and owe a debt to those who stuck their heads above the parapit to say it - just want to take it forward and move on.

So, if that makes me pretentious, too - and you wouldn't be the first person to accuse me of that (because, unlike Jonathan Kohl, I really am pretentious) - then so be it.

Here endeth the lesson. (Please give generously on your way out.)

Oh, and while you're down there, don't forget to let me know what kind of book I should write.
Posted 15 years, 7 months ago on May 9, 2007