In Part VI, some ideas on how to extend the application of XP and agile methodologies (AMs) are presented.
First, in Chapter 42 Mark Paulk discusses how XP could be compliant with the Capability Maturity Model (CMM) for Software. In fact, XP addresses many CMM Level 2 and 3 practices and is even compatible with the requirements of Levels 4 and 5. On the other hand, CMM focuses on management and organizational issues that are not covered by XP. The conclusion is that a CMM-certified organization may actually use XP, provided that XP practices are thoughtfully implemented in an appropriate environment.
Chapter 43 is a deep explanation of the rationale and the value of the XP process from the perspective of quantitative risk analysis. Hakan Erdogmus and John Favaro first explain what the financial and real options are and how they can be evaluated; then they apply this theory to software development with changing requirements. They show in a quantitative way, perhaps with a depth never reached before in the software development field, why the XP process and practices can be more valuable than traditional big design up-front, from a risk management perspective.
Next, Chapter 44 deals with a big issue related to XP: Is it possible to use XP in a distributed environment? Although the usual answer is no, Michael Kircher, Prashant Jain, Angelo Corsaro, and David Levine present their experience and show how XP (or at least a substantial subset of it) can be applied by teams and developers working in different locations and even on different continents. Because distributed development is being used more and more, the information in this chapter is good news for many organizations.
Chapter 45, written by Ron Crocker, is also about one of the unresolved issues of XP: Is it possible to make XP scale to bigger projects than those with at most 10 to 15 developers? Ron analyzes the problem, identifies the reason why XP does not scale, and suggests a solution based on his experience with big projects with many interacting teams. Some rules and practices, which are beyond the scope of XP as currently defined, are proposed for inclusion in the methodology, not excluding other changes. In this way, the software development methodology would not be as agile as the original XP, but it would be able to scale.
Chapter 46 addresses another problem that could arise in applying XP in complex project settings. The issue occurs when the customer role is split between two figures: the prospective user of the system, who knows its technical requirements, and upper management (the gold owner), which knows the strategic and business goals of the system under development. In this situation, the planning game cannot be easily accomplished in the usual way, because whoever writes the user stories (the goal donor) has limited knowledge of the business value of each story. Martin Lippert, Stefan Roock, Henning Wolf, and Heinz Züllighoven propose a solution to this problem, based on their experience, that extends the classical XP roles.
Finally, Chapter 47 is about applying Semantic Analysis Patterns (SAPs) to XP. Based on his research, Eduardo Fernandez shows how knowing and applying SAPs can be a guideline in devising the system architecture, especially when global aspects such as distribution, security, and persistence must be addressed throughout the system.