eXtreme Placebo
From my friend and coworker Darin comes a reference to Robert X. Cringely on refactoring and extreme programming. In it he makes statements much like what I've been saying here:
Refactoring and another related fad called "extreme programming" are new ideas. Their worth is anecdotal and it is arrogant to think that there is only one right way to do it. Extreme programming has competition from many development methodologies. All seem to work to some degree. Testing, quality and organization seem to be underlying themes to all of them. There is nothing inherently wrong with any of this.
I've been saying from our forays in XP at work that the only thing I see of value in it is that the structure require organization and good automated testing to be there or nothing happens. I think we're getting a shell game when the virtues of XP are presented, because those are really the virtues of being organized. I think any form of getting equally organized would have the same benefits. Where I think XP gets harmful is the credo that you don't think or do about anything until you need it. In places where people tend to underdesign, not think through issues until they are catastrophes this just plays into the worst tendencies of the group. Now failure to design isn't something wrong, it's part of how we do business. When unexpected things happen at rollout or when at integration time we realize we are missing parts of the API, well that's just how it goes in XP. I am still trying to keep an open mind and not deliberately sabotage our experiment, but the more I see the less I like. I think I was actually more productive using Ant and JUnit to do rigorous unit testing but without every other part of XP.