This post originated from an RSS feed registered with Agile Buzz
by Greg Vaughn.
Original Post: Fundamental Problem with Extreme Programming
Feed Title: Potential Differences
Feed URL: http://gigavolt.net/blog/development/index.rss
Feed Description: Greg Vaughn on Agile methodologies, Java, OS X, whatever piques my interest!
Matt Stephens gives some strong arguments against Extreme Programming. It’s a long article, but worth a read if there’s just something about XP that doesn’t feel right to you. Now, I think he does go off into rant mode in places (and he’s also trying to sell you something), but the article was helpful to me to really put my finger on the fundamental problem with XP.
XP requires too much of an investment from the business. Even aside from the obvious on-site customer that XP requires (and Mr. Stephens makes a good case that the best you’ll get is a junior person) there’s the regular unfinished (and unpolished?) versions of the software they’re expected to use and give feedback about in the Planning Game every few weeks. There’s also the ideal of the business users working to develop the acceptance tests.
It’s like watching sausage being made. Business users are not techies, and generally don’t want to become techies. They want the software, and they want it with a minimum of their effort. The overall development efficiency that XP is built around actually decreases the business users’ efficiency in doing their own job during the development. They find it tiring to think like a techie and answer all the detailed questions about how various requirements interact and handling all sorts of ‘what if’ scenarios.
Please, don’t misunderstand me, gentle reader. I do respect XP. It has served as the spark that got people (me included) thinking more about Agile methods in general (though the ideas go back much further than that). I’ve written in more detail about why I choose to associate myself with the Agile movement rather than XP before. The gist of which is best explained by comparing XP to Free Software (FS) and Agility to Open Source Software (OSS). XP/FS adhere to uncompromising purity of their ideal. Agility/OSS agree with those ideals, but realize compromises must be made in the name of practicality. XP/FS have actually become special cases of the broader Agility/OSS categories.