Jun 27, 2004

The Extreme Irony...

In the May issue of Dr. Dobbs, the authors of Extreme Programming Refactored: The Case Against XP have written an article entitled, "The Irony of Extreme Programming."

Some of the reaction to this article has been that this is another article explaining why it can't work, but software developers are still successful with it. While software developers are having success with it, this does not mean that there are not some problems associated with XP. Like every other software process, there are some environments that truly suit it, and others that do not. This is why software processes need to be flexible.

In this regard, a process is similar to a pattern. In Christopher Alexander's The Timeless Way of Building, there is a conversion between Chris and Gita in Chapter 14, in which Gita is describing patterns of an Indian Inn. This inn consists of a large courtyard, and on three of the sides surrounding the courtyard, there is an arcade that leads to equal sized and styled rooms. Everyone eats and talks together in the courtyard, and essentially sleep together in the arcade. Christopher Alexander focuses on how this pattern is different than what the Inn pattern that we have in North America and how the Inn pattern described would not work in Greenland, but this is not to say that portions of the pattern will never work in North America or Greenland.

I think that software processes are very similar in this fashion, and this is why the process must be flexible. There are many aspects that make a process successful, and the process will need to be tweaked according to the environment in order to make it successful. In the opening paragraphs of the Irony, the authors state that list of failed projects and death marches alone prove that we need process, however, I am sure that a number of those failed projects and death marches were attempting to use some process. In fact, in Death March, Edward Yourdon clearly indicates that using a new technology or process can be the beginning of a death march.

In any event, I have little direct experience with XP, but I found the article an interesting read. I saw the problems that were raised more from the perspective that these are places where things can go wrong, especially if you expose all the issues that they have mentioned. Knowing this list would probably help projects using XP.

Filed In