Chapter 14. The Customer

The customer drives the project. He defines the project and sets its goals. The more accurate his work and the more frequent his involvement, the greater the chances the project will succeed.

The customer makes business decisions. His rights and responsibilities stem from his business knowledge. He has the authority to set the project’s goals and features. He must answer the questions: “What should this feature do?”, “How will we know when it is done?”, “How much can we spend?”, and “When shall we start working on it?

The customer works closely with the developers. He writes story cards to explain and to schedule the desired features. This answers the what question. He participates in the planning game to schedule stories for the next iteration. This answers the questions of when and how much. He creates and runs acceptance tests, with developer assistance, to verify that features are complete. This answers the is it done question.

The customer represents the end user. In a corporate, in-house project, he may be an end user. In other situations, he serves as a proxy for end users. He identifies the features users really need from their perspective. The developers will take care of the technical perspective.

The customer also represents the business interests that are paying for the project. His goal is to maximize their investment. At any point, the software should contain the most valuable features that could have been scheduled based on the available knowledge. ...

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.