Software Reality
Extreme Programming

Site Map

XP Central
Case Against... Songs

Use Case Driven
Use Case Driven Object Modeling with UML: Theory and Practice
Get from use cases to working, maintainable source code. Examples use Spring Framework, JUnit and Enterprise Architect

Agile UML
Agile Development with ICONIX Process
A practical subset of agile development techniques, illustrated by example

Get Controversial!
Extreme Programming Refactored
Extreme Programming with a dose of satire
Available now:

XP Central

Extreme Programming

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)
XP's Audience
Key Rules and Tenets
Four Values
Team Roles

Here's some feedback from the article.

Also Featuring...

OT2004: The Dangers of Extremism April 3, 2004
The transcript of a talk I gave at OT2004.

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.

Songs of the Extremos January 13, 2002
Part One  Part Two  Part Three  Part Four  Part Five
The merrier side, courtesy of Doug Rosenberg and son.
Email your vote for your favorite Song of the Extremos to !

Collective Ownership, Oral Documentation and Scalability: The Perform Storm July 14, 2003
Extreme Programming consists of many symbiotic practices. Combine two of them with a large project and you have... the perfect storm. Gulp!

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.

XP From the Trenches 2: Vanilla XP February 24, 2003
Another practicing XPer speaks out.

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.

Extreme Tales 2: Emperor's New Code July 15, 2002
Satire from ICONIX author Doug Rosenberg.

Rumour Mill - Slightly dubious stories from the News Troll:

XP Society's Annual Picnic - Just Smell That Fresh-Faced Enthusiasm! August 19, 2001

Extreme Perl Group Sues XP for Use of XP Acronym August 19, 2001

And the one that got me started - initially had very little to do with XP (and still doesn't):

Reactive Programming (RiP) Special: VB Coder Invents New Methodology! July 22, 2001

<< Back to the Front Page



All trademarks and copyrights on this page are owned by their respective owners.
Stories and articles are owned by the original author.
All the rest Copyright 1998 onwards Matt Stephens. ALL RIGHTS RESERVED.