Chapter 4. Assuming Sufficiency
Software development is often a competition for time and resources: managers fight developers, developers fight managers, and everyone fights customers.
XP asks a different question. Given sufficient time and resources, how would you develop software?
Sufficient Time
XP enables sufficient development time. Rather than scrambling to meet an impossible deadline, work at your normal pace. The amount of work you can do is constant—the only real question is which work to do. Adjust scope to fit the schedule to the available time.
Sufficient Time also implies that change is inexpensive—that the customer can change his priorities cheaply and you can change the code easily. Several XP practices combine to produce flexible code.
XP attempts to produce the most valuable software for the time and resources invested. To do this, you must be able to estimate accurately the amount of work you can actually do. The customer must be able to identify the most important work that can be done. You must be able to change both the schedule and the software as the customer’s needs change. Of course, it may be impossible to fit the desired work into the schedule. XP attempts to identify this as soon as possible so that the customer can stop the project before he invests too heavily without payoff.
XP projects work in very short cycles, reducing the length of time between an action and its analysis. There are many opportunities to judge the current progress and to make course corrections. ...
Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.
Read now
Unlock full access