Shooting the Messenger


Criticism of XP can often produce some vitriolic reactions from the Extremos. A brief glance through comp.software.extreme-programming uncovers many such examples. These reactions reveal a certain level of insecurity among the XPers: If they weren t so unsure of themselves , they might not be quite so defensive.

A common reaction to somebody saying I don t like A is Oh, so you don t like B or C then? For example, if you don t like XP, then you must also not like testing, or software agility, or people. Of course, such responses are erroneous and childish at best. We wouldn t describe ourselves as the world s biggest XP fans, but we do generally like people (in fact, some of our best friends are also people). We re also big fans of testing and even software agility. As we ve maintained elsewhere, the agile goals of XP are good, it s just the ways that XP goes about achieving those goals that we believe are wrong.

Parts of XP are good, and other parts are bad. However, criticizing one part of XP can produce an extreme reaction because its proponents feel that the whole deal is coming under fire. This makes it easier for them to respond to such criticisms: A is bad. But B isn t!

Why does XP produce this kind of extreme reaction from both its creators and its followers? It could be because what XP teaches is in many ways contrary to the 30 to 40 years of established thinking that has driven the software development world. For example, waterfall and iterative processes, where there are distinct analysis, design, and implementation stages, aren t entirely without merit. It s a good idea to write down your requirements before you design the system, otherwise you don t know what it is you re designing. It s a good idea to design the whole system (or at least a reasonably sized chunk of it ”something beyond the current feature you re working on) before you start coding, so that there are no surprises and nothing will need to be rewritten. XP turns all of this on its head. Conventional wisdom gets thrown out of the window.

start example

As we discussed back in Chapter 1, Kent Beck described XP as a waterfall run through a blender .

end example
 

Throwing conventional wisdom out of the window is not always such a bad thing ”it is good to shake up the establishment every now and again. But it is not necessarily always a good thing either. Embracing change ”change for the sake of it ”tends not to be the best motivation to flip things around. Therefore, there must be a really good reason to go up against conventional wisdom. Those who do risk facing ridicule from the rest of the industry. To be seen to be wrong about one small thing feels like it has much greater gravity than it really does. Every small issue is therefore blown out of proportion. This is even more the case with XP, where all its practices are daisy-chained together in one big, fragile circle of snakes : Prove one item wrong, and the entire argument ”the entire methodology ”could unravel. Small wonder , then, that XPers are so defensive about their beliefs.

It does seem, however, that it s okay to criticize aspects of XP from within. A quick look through the Wiki Web confirms this: There are pages of point and counterpoint regarding the XP practices ”all good, healthy debate that has helped to improve aspects of XP over time. However, by virtue of their location on the Wiki Web, these messages are effectively from XP insiders. These insiders are arguing because they want to improve certain parts of XP. This contrasts greatly with the sorts of arguments that you see on the newsgroups, whose authors generally divide into two camps: those who are learning XP and naturally question its teachings, and those who are both philosophically and practically opposed to XP and who seek to disprove its practices and theories . It s this latter group that can provoke the most extreme reactions. No one likes to be told that their baby is ugly, and they will likely become quite offended, even in the face of overwhelming evidence to support the claim.

So Extremos are often seen to be fanatical about XP. Nary a word shall be spoken against it! The resultant atmosphere is one in which people are afraid to speak out, because the Extremos have honed their adverse reactionary tactics down to a fine art. This atmosphere isn t imaginary. Check out the feedback to the The Case Against Extreme Programming article ( http://www.softwarereality.com/lifecycle/xp/feedback.jsp , also shown in Figure 4-1) for some examples of people who are uneasy about XP but are even more uneasy about other people finding out this fact. Many of the people who sent these messages asked to be kept anonymous because they were afraid of the repercussions ”for example, if their employers discovered that they were anti-XP.

click to expand
Figure 4-1: Some positive but uneasy feedback

In fact, fear drives (and is driven by) XP in many different ways, as we explore in the next section.

First, though, it s time for something completely different.

start sidebar
SATIRE WARNING
The Extremo Inquisition (This May Sound Familiar)

JoJo: Trouble with program.

Customer: Oh no ”what kind of trouble?

JoJo: One on t objects gone owt askew with NullPointerException at line 147.

Customer: Pardon?

JoJo: One on t objects gone owt askew with NullPointerException at line 147.

Customer: I don t understand what you re saying.

JoJo: [Slightly irritated and with exaggeratedly clear accent ] One of the objects has gone out askew with a Null Pointer Exception at line number one hundred and forty-seven.

Customer: Well, what on earth does that mean?

JoJo: I don t know ”Uncle Joe (the XP coach) just told me to come over here and say that there was trouble with the program, that s all. I didn t expect a kind of extreme inquisition.

[JARRING CHORD]

[The door flies open and Cardinal Becht of Spain enters, flanked by two junior cardinals. Cardinal Geoffrey has goggles pushed over his forehead. Cardinal Henrik is just Cardinal Henrik.]

Becht: Nobody expects the Extremo Inquisition! Our chief weapon is courage . . . courage and testing . . . testing and courage . . . courage and testing . . . Our two weapons are courage and testing . . . and ruthless refactoring . . . Our three weapons are courage, testing, ruthless refactoring . . . and an almost fanatical devotion to snack food . . . Our four . . . no . . . Amongst our weapons . . . Amongst our weaponry . . . are such elements as courage, unit tests . . . I ll come in again.

[The Inquisition exits.]

JoJo: I didn t expect a kind of extreme inquisition.

[JARRING CHORD]

[The cardinals burst in.]

Becht: Nobody expects the Extremo Inquisition! Amongst our weaponry are such diverse elements as courage, testing, ruthless refactoring, an almost fanatical devotion to snack food, and nice red uniforms ”oh damn! [To Cardinal Geoffrey] I can t say it ”you ll have to say it.

Geoffrey: What?

Becht: You ll have to say the bit about Our chief weapons are . . .

Geoffrey: [Rather horrified] I couldn t do that. . . .

[Becht bundles the cardinals outside again.]

JoJo: I didn t expect a kind of extreme inquisition.

[JARRING CHORD]

[The cardinals enter.]

Geoffrey: Er . . . Nobody . . . um . . .

Becht: Expects . . .

Geoffrey: Expects . . . Nobody expects the . . . um . . . the Extremo . . . um . . .

Becht: Inquisition.

Geoffrey: I know, I know! Nobody expects the Extremo Inquisition. In fact, those who do expect ”

Becht: Our chief weapons are . . .

Geoffrey: Our chief weapons are . . . um . . . er . . .

Becht: Testing . . .

Geoffrey: Testing and ”

Becht: Okay, stop. Stop. Stop there ”stop there. Stop. Phew! Ah! Our chief weapons are testing . . . blah blah blah. Cardinal, read the charges.

Henrik: [To JoJo] You are accused of heresy on three counts ”heresy by design, heresy by framework, heresy by coding alone, and heresy by forgetting to unit test your code ” four counts. Do you confess?

JoJo: I don t understand what I m accused of.

Becht: Hah! Then we ll make you understand! Henrik! Fetch . . . the programmer s cube!

end sidebar
 



Extreme Programming Refactored
Extreme Programming Refactored: The Case Against XP
ISBN: 1590590961
EAN: 2147483647
Year: 2003
Pages: 156

flylib.com © 2008-2017.
If you may any questions please contact us: flylib@qtcs.net