Los roles de Extreme Programming son Tracker, Customer, Programmer, Coach, Manager, Tester. Cualquiera puede ser Doomsayer. También existen antiroles. Abajo son explicados cada uno.

Tracker

Es el encargado de seguimiento. Proporciona retroalimentación al equipo. Debe verificar el grado de acierto entre las estimaciones realizadas y el tiempo real dedicado, comunicando los resultados para mejorar futuras estimaciones.

Customer

También llamado cliente es quien escribe las historias de usuario y las pruebas funcionales para validar su implementación. Asigna la prioridad a las historias de usuario y decide cuáles se implementan en cada iteración centrándose en aportar el mayor valor de negocio.

Programmer 

Es el programador considerado el mas importante miembro del equipo ya que escribe las pruebas unitarias y el código del sistema.

Coach

Es responsable del proceso global y se encarga de guiar a los miembros del equipo para seguir el proceso correctamente.

Tester

Ayuda al cliente a escribir las pruebas funcionales. Ejecuta pruebas regularmente, difunde los resultados en el equipo y es responsable de las herramientas de soporte para pruebas.

Big Boss

Es el dueño de la tienda y el vínculo entre clientes y programadores. Su labor esencial es la coordinación.

Consultor

Es un miembro externo del equipo con un conocimiento específico en algún tema necesario para el proyeco ayuda al equipo a resolver un problema específico y puede que no siempre haya un consultor como parte del equipo.

Manager

Se encarga de agendar las reuniones, se asegura de que el proceso de juntas sea seguido, registra los resultados de las reuniones para futuros reportes para el Tracker. Asiste a las reuniones y trae información importante, mantiene al equipo feliz y productivo.

Qué no hace:

  • Lo que tienen que hacer. (El Cliente y el Plan de Iteración hacen eso.)
  • Cuando deben terminar. (Release Plan hace eso.)
  • Revisar como van. (Tracker)

Doomnsayer

 Se asegura de que todos los miembros conozcan los riesgos del proyecto.
Asegurándose:
  • De que todo el mundo sabe los riesgos que algo implica.
  • Que las malas noticias no se oculten ni sean pasadas por alto.
  • Que las malas noticias no sean exageradas.

Este rol debe tener cuidado porque puede bajar la productividad del equipo pero será responsable de los cambios al proyecto gracias a los riesgos. Se debe ser constructivo al respecto.

Algunos roles pueden ser combinados en la misma persona; por ejemplo la misma persona puede ser el Manager y el Tracker y otros es recomendable que no sean combinados: Programmer-Tracker, Programmer-Tester, Customer-Programmer, Coach-Tracker, por mencionar algunos. El Manager no debería combinarse con algún otro rol ademas de Tracker. Ron Jeffries opina que el Coach no debería combinarse con el Programador, pero que podría terminar de una manera satisfactoria. Solo que no lo suficientemente buena.

También existen anti roles de Extreme Programming tienden a meterle ruido a la realización del proyecto.

If these people are on your project, remove them. If you can’t, remove yourself or prepare for pain. -Ron Jeffries

StandardsAndMetodologyGuy

Normalmente un ex-académico la clase de persona que nunca ha hecho que un día valga la pena, codigo dificil en su vida, pero tiene el poder de decirte que estas haciendo mal y por qué el emplear Extreme Programming puede no funcionar y no funcionará. Puede haber unas discrepancias con el Manager.

GodHead

El tipo de persona que quiere ser el ChiefArchitect (rol que no existe en esta metodología) o el Manager pero no lo es. Gusta de estar en el centro de todo. Memoriza suficientes detalles del sistema para abalanzarse  dentro de cada discusión acerca del diseño. Toma responsabilidad en todo lo que ve. Y el resto del equipo teme tocar su código o el diseño sin el.