Part I: XAR: Extreme and Agile ReviewA Review of XP and AMs


Welcome to yet another book on Extreme Programming (XP) and agile methodologies (AMs), of course.

Writing a book about new software development methodologies can be both a very easy and a very difficult task. It could be very easy because you could talk about very generic and high-level vaporware without ever entering into the details and by backing your approach with politically correct statements such as "It requires customization," and "No silver bullets."

You could take the completely opposite approach and still have a fairly easy task if you have ever run a project with your methodology. You could enter a detailed description of what you did, distilling a complete approach around your idiosyncrasies. It would be best if you added something esoteric, such as typing on the keyboard with only the right hand and using the left to hold a silk napkin with which you would clean your sweater every other minute.

Software authors are not bad by nature. We should remember that in the early days of studies in electronics, the equation for the resistor was quite complex, with lots of terms that were insignificant. Nowadays, it is a simple algebraic division: R=V/I.

However, writing about a new methodology becomes dreadfully difficult if you aim to create something valuable for the reader, combining the limited theoretical understanding with the limited experimental evidence and avoiding terse language.

This book takes that approach. We combine an overview of XP from the hands of the people who proposed it, a description of experiences in specific areas that are as yet unclear and subject to debate, and an empirical evaluation of how XP projects are progressing in software companies.

Part I provides an overview of the methodology. We assume that you have already read the cult books (Kent Beck's, Martin Fowler's, Ron Jeffries', Jim Highsmith's, and so on), so we summarize all the foundations in Chapter 1, by Don Wells.

In Chapter 2, Jim Highsmith presents the essence of "agility." This insightful chapter explores agile methodologies in depth and explains the rationale behind any agile proposal.

The large number of agile methodologies may disorient software managers and engineers. To help overcome this, Michele Marchesi provides guidelines to select which among the several agile methodologies best suits your environment (see Chapter 3).

Most people thinking about XP probably associate it with pair programming. Its detractors say that it is only a fad that wastes the time and money of software companies. Its supporters are convinced that it is the Holy Grail of software development. In Chapter 4, Laurie Williams discusses the principles of pair programming, details when and how to adopt it, and summarizes the expected benefits.

Effective analysis in XP centers on the ability to find a suitable metaphor. This is not an easy task, especially when the project becomes larger and more complex. In Chapter 5, William and Steven Wake focus on the issue of metaphor. In particular, they detail their approach to finding a metaphor, relating the objects of the system to it, and evaluating whether there are "bad metaphors."

XP is not "cowboy coding," nor is it completely uncontrolled development. It is the opposite of these. But how is it possible to couple an agile approach with measurements and process control? They appear to be an antinomy. In Chapter 6, Giancarlo Succi discusses possible avenues for implementing an agile measurement program, taking advantage of data sources naturally available to software engineers and managers.

To what extent is each practice of XP useful? How many of them should we keep in our project for it to be successful? What is a safe level of customization of the practices? In Chapter 7, Ron Jeffries attempts to address these tricky issues that confront managers every day. He analyzes the most relevant practices and concludes with a caveat for agile customizations.

Finally, in Chapter 8 Michele Marchesi explains how you can hit your targets by using XP. He explains how to align business and technical goals, and outlines possible problems that you may face when implementing an XP project as well as how to solve them.



Extreme Programming Perspectives
Extreme Programming Perspectives
ISBN: 0201770059
EAN: 2147483647
Year: 2005
Pages: 445

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