Chapter 2. The XP Equation

Software projects can be managed in terms of four variables: time, scope, resources, and quality. Every project works under some combination of these variables. Even if they’re not measured directly, their interactions shape your project.

Imagine a water filtration plant on a space station, as shown in Figure 2-1. A reservoir of unpotable water sits on one side of the plant, and potable water flows to the station inhabitants from the other side. In this closed system, water re-enters the reservoir very quickly.[2] The plant has a control panel with four dials, labeled Time, Resources, Scope, and Quality. Each dial controls an aspect of the filtration process.

A closed water cycle
Figure 2-1. A closed water cycle

This image can also represent software development, as shown in Figure 2-2. A customer makes a request; this unfinished work, or business problem, is the unpotable water supply. The request is implemented by developers; this is the filtration process. The finished request is delivered to the customer in the form of a code solution; this is the potable water. Based on the results, the customer makes another request and the cycle continues. The water represents the software itself, continually being refined in a tight loop.

The Time dial adjusts the amount of time spent filtering water. This is a limiting factor. If the other dials remain constant, running the plant for a ...

Get Extreme Programming Pocket Guide now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.