All the contributors to an XP project sit together, members of one team. 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,
coordinating activities. None of these roles is necessarily the exclusive
property of just one individual: Everyone on an XP team contributes in any way
that they can. The best teams have no specialists, only general contributors
with special skills.