It’s not very different from XP. In fact, this model of teamwork is part of how XP works best, keeping XP values of customer satisfaction as the focal point of each software version release. In an ideal situation, the roles of an XP team help keep everything running as smoothly as possible
Here is a look at the more common Extreme Programming roles you might hear about:
This person is usually assigned to talk to each programmer once or twice per week, ask how that person is progressing and listens to the answer. If progress seems to be slowing, the tracker may suggest some sort of action, from a CRC meeting, talking to the Customer, or perhaps talking to another programmer or even the team Coach.
This particular role may or may not be filled by an “end-user,” but their function here is key. A Customer will be the one to write User Stories, decide on questions of the stories, and will likely have job titles such as “Analyst,” “Planner,” or perhaps even “Designer.”
There will, of course, be more than one programmer on a team, but those who fill this role are the ones to listen to the user stories, define tasks based on the stories and give an estimate on how long tasks will take, along with performing Unit Tests on their code.
This person’s function is often manifold, because of the different “sub-roles” a Coach has to take on. They are often considered the “Chief Architect” of a project because their job is not only to see a grand vision for a project, but to also possibly mentor less experienced team members and decide a methodology for a project, among other activities.
While Programmers run their own individual tests, a Tester’s role is a bit more general, in that they run functional tests, chart the results and note when test results start declining.
This role falls somewhere in the middle between Coach and Tracker, concerning overall responsibilities. The person filling this role is usually the one to schedule and attend team meetings, assures the agreed-upon meeting process is followed and makes a note of the results of the meeting, which are then handed off to the Tracker.
It’s often debated if this is an actual role or merely a personality trait, thus the quotation marks, but there is little doubt that having such a person on an XP team can be worthwhile, especially if the person in question also has the ability to be tactful, even while seeing the pitfalls ahead and warning the team. This can be something of a “wild card” role, in that any other person on the team can be a “Doomsayer.”
Much like XP itself, there is a clearly defined logic to Extreme Programming roles. Since there is no specific end product, but instead updates to software with each interaction with a customer, the function of an XP team is, ideally, smooth. Each person performs their assigned tasks and tests, reports to the appropriate people of the results, listens to the Customer, taking action where needed, another member calling meetings, and so on.