(Note: First Drafted 4/23/2004, this seems like a good one for a New Year's day reflection, so I thought I'd post it next -- also its keeping me sane as I edit some crufty build scripts...)
I used to argue with those who denounced Extreme Programming (XP) as a "religious movement." I recently stopped doing that because I realized something:
They were right.
XP is a religion.
Before the anti/pro xp pundits get too excited:
Let me explain...
Perhaps I argued against it because I didn't like the idea that I was being religious, or maybe its just the obvious negative tone of such accusations, but when I break it down, I can't really see a difference between methodology and religion.
This realization has had the the opposite effect on me than you might think however: See I never saw XP as sacred or saw Kent Beck as some sort of demi-god (as those who generally characterize XP as a religion love to depict its practicioners). And no, in some mad fit of Cognitive dissonance I haven't changed my mind (sorry Kent). Nor has this realization caused me to abandon XP. What its done is changed my understanding of what a religion is (how's that for Cognitive dissonance!).
I now see religion as the energy that builds around a good idea (generally expressed by an insightful person) as that idea fires other people's imaginations and contributes to their own success. As it grows and spreads, this energy (i.e. the idea) is amplified, distorted, enshrined, preserved, dissipated, combined, and ultimately re-expressed -- then the cycle starts all over again. Along the way, things can start looking absurdly like the opposite of what they once were -- leading to all sorts of counter-movements, and other opposing bursts of energy -- and even (unfortunately) result in exhaustion and dissillusionment as people run out of energy to support the idea or oppose it.
Some ideas and the energy they have generated have been resonating like this for a really long time; we call them Religions and take them for granted (pro or con) without really thinking too much about why they've lasted so long. This seems to have been going on for as long as there have been people, and seems likely to continue until there aren't any more people left to do it. Maybe because it's a by-product of trying to improve our situation -- something that nearly everyone does. A good idea after-all is only good if it helps you in some way. (I think we'll stay off the shoals of Utilitarianism and stop this thread here -- apologies to those JS Mill fans out there).
What I find most interesting is the fact that the first people involved in one of these energy blooms most likely didn't have any intention in starting such a conflagration. They simply did something or thought something and liked how it turned out, so they told two friends, and they told two friends, and so on, and so on. Only later do 'followers' start to canonize the early people, bless them as geniuses, analyze their every move, attack their detractors, preserve their speechs, and otherwise deify them (OK, we're starting to drift a bit too close to Joseph Campbell now, so I'm going to snip this thread too).
Moving On, I think there is an answer to Life the Universe and Everything, the catch is that the answer can't be expressed once, because we immediately set out to use that answer to solve the puzzle we wanted the answer for in the first place. We are hardwired to ask, so we have to keep asking. To stop asking is to die. That's why "42" is as good an answer as any, because you are just going to start asking again regardless of the answer you get.
There's nothing particularly mystical about this BTW -- its more psychological than anything -- a combination of people's desire to know, the distortion caused by passing ideas along, and the drive to provide for ourselves and our loved ones. But here's the kicker: the essential message of XP (and Agile): "its about the people stupid" seems to be the same damn message that everyone has been saying all along -- everything else is just extra baggage, (aka specificity). Call me crazy, but that seems like a pretty spiritual message -- whatever your beliefs.
Where was I? Oh yeah methodolgy. This has implications for methodolgoies in general. Since they are just like typical religions in the sense that both are belief structures centered on principles and advocating certain practices that aim at desired outcomes. Just like typical religions they seem to attract their evangelists, their zealots, their pious (if dogmatic) practictioners, their obsessives, their casual practictioners -- and their skeptics (practicing or otherwise). They are subject to the same distortions and need for renewal. At best they can get you started on the path to wisdom, they aren't the end of it (maybe there is no end). At worst, they are a collossal waste of energy; causing as much harm (or more) than they alleviate.
Religion has become a dirty word for many (including me) because it is so closely coupled with dogmatism and superstition, but maybe it doesn't have to be that way. Why should we let the fundamentalists and the dogmatists (and the methodolgists?) be the only ones who can take advantage of collective energy?
And so we come to the point: Why do I still believe in XP?
Because doing so taught me that Belief doesn't have to be sustained by dogmatism or preserved by ignorance. One can be rational and still believe that abiding by a set of principles, and following certain practices will result in desireable outcomes. Even faith doesn't have to equate to dogmatism if its used to help us through those times when we can't see if what we are doing right now will be helpful in the longer term. But -- and this is where its easy to get derailed -- allowing faith to carry us beyond our principles can land us anywhere. IOW trust in practices can only be taken so far. The trick to following any belief structure is to be loyal, not to the outcome, not to the activities themselves -- not even to the people you meet along the way -- but to the motives and principles that led you to believe it in the first place.
This is where knowledge and an open-mind become essential: they change our practices as we learn and so allow us to stay on the path. Over time knowledge may even change our principles. Sure this changes the religion (methodology) but this should be no big deal -- since the outcome will take care of itself (either people will find the change useful, and so the energy described above will grow, or they won't in which case the energy will dissipate). I guess the point here is that ultimately you have to be true to yourself and your principles, not to your religion or methodolgoy (Watch those Shakespearean Rapids over there would you please!).
Since principles are foundational (and even they can change) then really it comes down to what principles you choose to live by. Of course principle itself is one of those slippery words that make the whole thing feel like we're in a Terry Pratchett novel -- i.e. Methodologies are belief structures that consist of principles and practices. Principles are foundational beliefs about how to behave. From there its either turtles all the way down, or one big turtle swimming through space. I'll let you decide.
Incidentally, what a better way to keep us busy as we kick around on the back of the turtle than to make life a puzzle where all the good answers serve to recreate the puzzle. If someone were going to create the perfect universe maybe they'd...
...No There is too much, let me sum up...
People. Where'd the people go? Well, in short, none of this principle stuff makes any sense at all without other people around. I mean how can there even be a path for principles to guide us down if someone didn't walk that way before?
In closing, to all of you anti-xp pundits out there drooling over my admission of your correctness, and to all of you pro-xp pundits out there frothing at my apostasy, and the rest of you wondering what Bill's been smoking over the holiday's, all I can say is that I am holding true to my principles: I am being as Honest as I can be. I am trying to Communicate my beliefs with Courage and Integrity (no matter how silly I look). I came to this point by thinking about XP and trying to work with all of the people I've met on my projects -- not just the ones who agreed with me.
Personally I think that makes me a real XP practioner, but what the hell do I know? I just proclaimed that XP has caused me to find religion.
(There I managed to get Feedback in now too, now if I could only find a way to make it Simpler...)