Debate: Is Agile a Religion?
Three years ago Tony Morris asserted that Agile is a non-idea, an unfalsifiable pseudo-science. To illustrate his claims he drew an analogy between Agile and his conception of religion:
Hitherto Agile and religions exhibit common traits; ill-definition ("you know the real Agile", or "are you a real Muslim?"), sub-cultures in conflict (religion implies war), extreme absurdity in contrast to a mild absurdity (an invisible sky daddy watching everything we do, whose son died for sins…), cult leaders able to alter the course of the flock, and cognitive dissonance - holding two otherwise immediately apparent logically contradicting positions at once.
The post provoked an interesting discussion on Morris' blog, all of which I definitely recommend you check out. At any rate, here we are in 2011 and, while the downfall in the popularity of Agile methods that Tony referenced doesn't seem to have happened (yet?), the discussion about the nature, usefulness and longevity of Agile is still kicking. Last month S. Lott revisited the question of "Agile as a religion" in his article The Agile Religion - 'What'? and came to Agile's defense.
It's not clear whether Lott is responding directly to Morris. Either way, most of the criticisms he attempts to deflect are found in Morris' post, making the two a good pair to read together. Lott's rebuttal can be boiled down to three key arguments:
1. The Agile method is not vaguely defined. Detractors would have us believe that the Manifesto for Agile Software Development doesn't provide developers with clear directives. Furthermore, the classic, process-oriented method stifles critical thinking.
2. To say that the discussions Agile-enthusiasts create are quibbles and "religious wars" is to say that it's worthless to weigh the benefits of one method over another (see #1).
3. This is related to #2 and has to do with being "unimodal," i.e. closed-off to other options. Given #1, why is wanting to stick with something that's not just uniquely good, but unequivocably better than the classic method(s?) a bad thing? We never "need to have a rigid, unyielding process that sticks strictly to the schedule irrespective of changes which may occur."
We tried the waterfall method. And it didn't work very well. Agile isn't a "religion". It's a simple acknowledgement that reality is messy.
Lott makes some good points, but is Agile really that good and are the alternatives really that bad? As far as that goes, Lott's analysis, while making some good responses to Morris, does seem to treat Agile and "the classical waterfall method" as the only options. If Agile does have noteworthy limitations, what are the other choices? Here it would have been nice to hear more about Morris' conception of good development practices and useful alternatives to Agile (the "classic waterfall method"? nothing?)
So is Agile vague, pseudo-scientific hype that will be replaced sooner or later by some other fad? Are Agile enthusiasts too much like religious evangelists? Let us know what you think in the combox!