Updates
Latest Tweet
What's New?
Check out for latest innovation, a computer based training video collection
Like this Page
Extreme Programming Explored Review by Charles Ashbacher
Good for beginners, not so hot for others
While I am now convinced that Extreme Programming (XP) is an effective way to design small to medium sized systems, I am not sure that much of it is all that different from the informal methods we have used for decades. The pairing together of programmers into teams of two where one types while the other thinks is similar to the informal chats that have gone on between programmers since the proverbial first programming team. It is different only in the formality of the system rather than in the fundamental structure. In fact, applying the partner rule too rigorously could lead to additional problems, in that it may reduce the amount of professional interaction between the members of the larger programming team.
If you have no previous exposure to XP, then this book is just right for you. However, if you know the principles of the process, then you will have to search for points of major interest. The book consists of a listing of the principles of XP as well as going through some simple examples. Some of the major problems that need to be addressed before XP can take its place as an effective methodology are stated but not really examined. At the end of the book, there is a short section entitled "Where is XP going?", with the subsection, "Limits of XP". In that subsection, there is the question, "Can a large team do XP?", with no attempt at an answer. This is one of two questions that the proponents of XP must answer soon.
All the books I have read, including this one, explain XP by going through examples of modest size. No one could possibly doubt that it will work in that environment. In fact, it is ideally suited for such projects. However, no one seems willing to tackle the problem of scalability. If the answer to the question about large teams doing XP is no, then it must be determined what exactly is a large team.
The second of the major problems with XP deals with the stress of working intensely with another human being for long periods of time. There are some sidebars where practitioners talk about how the synergistic effects of pairing lead to a dramatic increase in productivity. In one of the sidebars, there is the phrase, "working in pairs seems to bring out the best in everyone. " In my experience with programmers, there have been many occasions where the result is the exact opposite of the descriptions here. It doesn't always work, we all know it, so why coat it with sugar. This would have been a much better book if the issues of conflict resolution between pairs of programmers had been dealt with. Choosing and managing the paired programmers is clearly the most significant management dilemma that XP will ever present.
This book is a good description of XP at the basic level. Unfortunately, there are still some major unanswered questions concerning XP, and I await the book that makes a serious attempt to address them.