The roles in Extreme Programming (XP) are the Developer, the Customer, the Tester, the Tracker, and the Coach.
The Developer estimates stories, defines engineering tasks from stories, estimates how long stories and tasks will take, implements stories and unit tests.
?????? Same as developer????? Tester: implements and runs functional tests. Graphs results, makes sure people know when test results decline.
The Customer drives the project, setting goals and priorities, explains stories, views CRC sessions.
The Tracker goes around and asks each Programmer how he’s doing, listens to the answer, takes action if things seem to be going off track. Actions include suggesting a CRC session, setting up a meeting with customer, asking coach or another programmer to help.
The Coach schedule meetings, makes sure the meeting process is followed, records results of meeting for future reporting, passes to tracker.
Some roles can be combined in the same individual. For example, the same person could have the Coach and Tracker role. Some roles probably should not be combined like for example Programmer-Tracker and coach probably shouldn’t combine with anything except Tracker.