All the contributors to an XP project sit together, members of a whole team. The team shares the project goals and the
responsibility for achieving them. This team must include a business representative, the "Customer" who provides the
requirements, sets the priorities, and steers the project. It's best if the Customer or one of her aides is a real end
user who knows the domain and what is needed. The team will of course have programmers. The team may include testers,
who help the Customer define the customer acceptance tests. Analysts may serve as helpers to the Customer, helping to
define the requirements. There is commonly a coach, who helps the team keep on track and facilitates the process. There
may be a manager, providing resources, handling external communication and coordinating activities. None of these roles
is necessarily the exclusive property of just one individual. Everybody on an XP team contributes in any way that they
can. The best teams have no specialists, only general contributors with special skills.
Subservient in organization to the Whole Team are the teams that focus on the business decisions (XP Customer Team), the technical decisions (XP Developer Team), and the organization that supports those teams (XP Organization). To create a context for clear communication, XP provides a set of
guidelines defining the rights of the customer and developer. These guidelines are referred to as the customer and a developer bill of rights.
Progress visibility: customer gets real feedback on a daily basis.
Agility: customer can steer team on a daily basis.
Reduces miscommunication: contact is direct and face to face, single point of contact.
Speeds up communication: customer is always available to answer questions.