Extreme Programming (or XP) is a popular software development process that encourages a return to the days of little or no documentation, Design After First Testing, and Constant Refactoring After Programming. Despite its popularity, not everyone thinks XP is a good idea.
For those people that are prepared to think independently about XP and not get angry in the process, I hope that by providing a contrary point of view, these articles will help you to make your own minds up about whether XP is right for you. Have fun!
Is XP really the panacea for our software development sins? Is Kent Beck really the new Messiah of software development? Possibly not... (audio link)
Some Home Truths
Being outspoken against something as popular as XP sometimes provokes some colourful (and sometimes downright wrong) responses from its proponents. So, speaking for myself and my XPR co-author Doug Rosenberg:
By criticizing XP . . .
||We're not saying that "XP cannot possibly work" (though it's generally accepted that 'vanilla' XP is applicable to a small number of projects unless you tailor it heavily)
||We're not trying to "kill off" XP (we'd much rather see XP improve and to have its flaws fixed)
||We're not looking for reasons not to apply XP (they just seem to present themselves)
||We're not simply "lambasting" XP without suggesting better ways of developing software, or working to help people improve
Instead, we are recognizing that there are some good ideas inherent in XP's agile goals, but that the practices need to be more robust. So in our book Extreme Programming Refactored (XPR) we dissect the problems in great detail, and suggest "refactored" practices along the way (culminating in a chapter which puts it all together and shows an example "refactored XP" project).
We also recognize that the hype surrounding XP has gotten somewhat out of control; so XPR (and the articles linked from this page) can be thought of as "anti-hype", an attempt to restore some balance to the industry.
With regard to the last point (not working to help people improve)... Doug has spent the last 20 years or so training people on how to design software; his ICONIX Process is inherently agile, as it's all about getting from requirements to code in as few steps as possible, and with a minimum amount of documentation or modeling of diagrams.
Phew, now I've got that off my chest, here's the other stuff:
Extreme Programming Criticism
|The Case Against XP
||August 26, 2001
(Updated: January 26, 2003)
|A detailed analysis of XP's many flaws.
The XP article has now been refactored into the following sections:
A Self-Referential Safety Net
Contracts in XP (Release Plan Optimism)
Key Rules and Tenets
Here's some feedback from the article.
|Thoughts on the Recent Wired XP Article
||July 14, 2003
|XP hype, previously annoying but cute, is showing disturbing signs of becoming altogether more sinister. We dissect the article on XP
that appeared in the September 2003 issue of Wired magazine. It's a shining example of manipulative mainstream XP hype.
|Emergent Design vs Early Prototyping
||May 26, 2003
|These are two radically different ways of designing software - and yet there is some common ground too. But which is the better approach?
|XP From the Trenches
||December 15, 2002
|What really goes on in an XP project? Here's a report from a practicing XPer.
|Some other articles and websites that cast a critical eye over XP. Not your usual collection of XP links...
And Going Back in Time...
Other places on Software Reality that pertain vaguely to XP:
|Extreme Tales 1: Twin Valley Kingdom
||December 30, 2001
|Strife and heartache in a mystical land obsessed with bridges. Even if you don't see the parallel, it's an entertaining story.
Rumour Mill - Slightly dubious stories from the News Troll:
And the one that got me started - initially had very little to do with XP (and still doesn't):
<< Back to the Front Page