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:




Extreme Programming

Thoughts on the Wired XP Article

By Matt Stephens
(with contributions from Dino Fancellu)
September 4, 2003

The September issue of Wired magazine includes a contentious article about extreme programming (also available on-line). The tone of the article is cheerful and fun, but in places surprisingly borders on the sinister.

The article, written by Martha Baer, begins:

"The Mountain Dew-fueled all-nighter is history. Today's supercoders work 40 hours a week. And two to a computer. It's called extreme programming - and it's revolutionizing the software world."

That's quite jolly so far. In fact, the article continues in much the same vein. It describes how XP is hitting the mainstream, and how socially oriented programmers everywhere love pair programming. The article is embraced with pictures of pairs either clad in the same oversized T-shirt or wrapped-up together with pieces of rope, and looking boundlessly happy. In fact, to be honest, it all looks a little bit gay.

But anyway... you might wonder why I'd describe such a perky article as sinister.


But... Sinister?

XP is well known for being a highly social discipline. XP done properly involves a noisy room whose inhabitants see concentration as the enemy, and prefer instead to talk each other through problems, relying heavily on osmotic communication to keep everyone up to speed on the design. The merits of this approach are debatable, and different types of people are well suited to this approach, but it's definitely not for everyone.

But it's okay not to want to be one of these social creatures, right? To prefer to program alone to a detailed specification, deep in concentration? Well, not any more, it seems.

Take the following quote from the XP article:

"Recent research into autism suggests that some software engineers may actually suffer from a genetic disorder that impedes their ability to interact."

It's worrying that the XP hype machine is starting to take on this kind of tone. XP hype used to be along the lines of "[imagine what we can do if] we've flattened the cost to fix defects curve", which was annoying but cuddly. Now it's showing signs of being "if you don't like XP then you're a genetic defect," which is altogether more sinister. This approach is also highly manipulative. It attacks the subconscious, making you feel on an unconscious level that non-XP approaches to software development are unacceptable (it's also easy to forget that we're really talking about an approach to software development here!)

Further on, the article describes a pair of pair programmers:

"They tip back in their springy chairs simultaneously. Throughout the building, these four guys seem like the only ones breathing. Elsewhere, the place is like an abandoned dotcom, or a natural history museum - silent humans at desks, motionless behind the glass."

You could be forgiven for thinking that there's a subtext going on in the XP hype machine. Anyone who dislikes XP just isn't normal. Programmers who like to code alone, or document their work, or design up-front, are like lifeless, dusty dinosaur skeletons locked away in a museum and largely forgotten about.

So it seems that if you don't like XP you're a villain, one way or another. Before we were just cowardly custards ("afraid of change" and so forth). Now we're defective, lonely, not truly alive, secretly yearning for the warm embrace of our fellow geeks. It could be said of any "enemy" - they're broken, not truly human, jealous of us, seek to destroy all we do, and so on. There have been many examples throughout history where groups of people have been persecuted for these types of reasons.

Of course, I'm not suggesting for a moment that XP is turning into the latest genocidal propaganda machine (although in our book Extreme Programming Refactored, we discuss in a tongue-in-cheek context how XP seeks to change the social contract between programmers and customers - XP's practices used together take on distinctly Marxist characteristics). It does seem odd, though, that they're making it feel almost socially unacceptable to dislike the XP etudes (and pair programming in particular).

But, lucky us, enter the panacea for our antisocial sins:

"Kent Beck, who wrote the first book on extreme programming, is a computing rock star and provocateur. Referred to by several colleagues as 'the most brilliant programmer I know' and admired by coders all over the map, he's as open and eager as a kid. The bibliography of Extreme Programming Explained, his 2000 book that introduced the 12 rules, includes The Structure of Scientific Revolutions, The Athletic Skier, and Sex Tips for Girls."


A is bad therefore B must be good.

Interestingly, the article justifies XP in terms of previous non-XP project failures. The IT industry is in a sorry state, with countless failed projects (the article quotes a Standish Group survey, in which it was found that cancelled IT projects cost the sector $38 billion each year), and that of the projects that don't get cancelled, they only deliver 52 per cent of the requested features. This is classic fallacious argument, often used by politicians. "The other lot have failed in all these areas, so vote for us."

It's true that the industry is in a sorry state. The explanation that Beck and co. want us to believe is that the accepted practices just don't work. But often, the problem is simply that the wrong combination of practices was used. Every project is different, and every methodology (including XP) needs to be tailored to fit the local conditions of the current project. Often, it's easier to just blame the management for their high-level blunders and move on to the next ill-fitting project.

Ironically, the poster child XP project (the now-infamous C3 project, a payroll system for Chrysler) was cancelled after four years and only one-third complete (significantly less than the 52 per cent industry average which they use to justify XP's existence). To explain C3's premature cancellation, XP creator Kent Beck (who was himself involved in the C3 project) says in the Wired article that it was Chrysler's fault for "botching" the project.

Another example of how manipulative the article gets, is in the way that the book Extreme Programming Refactored is referred to simply by its sub-title, The Case Against XP (without any mention of the full title at all). In doing so, the book is made to seem like a "slam piece" against XP, as if it is outright rejecting all of XP without exception. Of course, there is a lot of anti-XP argument in the book, but it's also quite positive about certain aspects of XP (unit testing and TDD in particular). Also, the point about the book is that it presents alternatives, summed up in the last chapter as an example "refactored" version of XP that sets out to achieve the same agile goals. So not really deserving of the dismissive hand-waving treatment that Beck and Baer give it.


To sum up...

The Wired XP article is classic hype. It isn't "journalism" per se, but true editorial. You'd think they were trying to get someone elected for President. It goes to show that XP was, and is, always about the emotions. If the article had presented some new iron clad logic, that would have been surprising.



Software Reality XP Forum

<< Back to XP Central

<< Back to Lifecycle

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.