(From the Back Cover)
Extreme Programming (XP) has been the subject of heated debate since its arrival on the programming scene in 1998—understandably so, as it contradicts many traditional software development beliefs. We've heard success stories about sweeping changes made to organizations as a result of XP. We’ve read books about how this approach can work for our teams. However, are there times when XP isn’t appropriate? There are certainly instances when making the leap to XP could potentially jeopardize a whole project. What’s missing from all of this rhetoric? Witness Pete McBreen, software craftsman, examine the issue from both sides. In Questioning Extreme Programming, the author helps you examine and answer the following questions: Is the cost of change really low? Does XP allow proper testing? Does XP make sense? Is XP a return to the dark ages? Can we adopt XP practices for other approaches? Do you need process improvement or process change? Why are developers so zealous about adopting XP? Is XP suitable for your projects? What is the next step after Extreme Programming?After reading this thought-provoking book, software developers can make informed decisions about Extreme Programming, and whether it is suitable for their organization. Readers will also be able to determine whether Extreme Programming is inappropriate for a particular project. The author challenges you to look past the hype and start asking the hard questions about how software is built. Discover for yourself.
Review By: Brad Appleton 06/24/2004This book is a balanced, accurate, honest, and open-minded critique of Extreme Programming (XP). I particularly like that it uses a question-based approach. The author doesn't appear to be trying to make up your mind for you as to whether XP is the best or worst thing since sliced bread. Instead, he skeptically but inquisitively raises important issues and presents accurate information from both sides of the fence, and lets you make up your own mind.
The author’s admission that he has “never worked on an XP project” cuts both ways. On one hand, it suggests the lack of an “insider’s understanding” and full depth of experience. On the other hand, by not being an “insider” it strongly suggests that the author is capable of being impartial and unbiased toward XP. The preference for viewing software development as a craft rather than an engineering discipline clearly comes through. (The author is, after all, the writer of an earlier book called Software Craftsmanship.) Those who feel otherwise may think this makes it biased toward XP. However, I feel it is nonetheless an honest, accurate, and balanced look at XP.
The book does an outstanding job conveying the “flavor” of the concepts, practices, values, culture, and community surrounding XP, as well as of its origins, strengths, and gaps. When the author talks about a particular practice, he describes it at a basic level, but if you are hungry for more information you'll have to rely upon the references for further information. Fortunately, the references are excellent and include many online resources. The coverage is quite good, and the chapter summaries are excellent. Those wanting the author to take a strong pro or con position will be disappointed; while those wanting to decide for themselves and be inquisitive and open-minded will be pleased.
The writing style is very readable and I finished it much faster than I'd expected. Although it is generally about software development and software development methodology, it touches on a great many aspects of testing, QA, design, process change, integration, and project/risk management.
The chapters are concise and the chapter summaries are even more succinct. The breadth of issues covered is surprisingly good compared with the book’s small size. The substance is a little light at times, and I found myself having to look up the references to gain a more satisfactory understanding of a particular practice or controversy. But the thing that comes through most for me, and which I find most invaluable, is the open, honest, and inquisitive nature of the book. It gives me a strong sense of being balanced, accurate, and objective. That’s not to say I agree with every single thing the author says, but I don't feel the author is trying to persuade so much as to inform. I have the highest regard for that.