Roles In Extreme Programming (XP)

In my previous article, we learned what is Extreme Programming (XP) and Core Practices in XP.
 
Like Scrum roles, XP also has a cross-functional team that works on stories and releases that at the end of each Iteration. This article introduces some of the roles seen in XP teams.

The Whole Team 

 
Like the Scrum team, XP Team is also self-organized, cross-functional and co-located and also does the ceremonies like planning meetings, daily standup meetings, review meetings, and retrospective meetings in each iteration.
 
An XP team can consist of 5 to 20 members having various and complementary skills. in XP it is not recommended to work on multiple workitems or projects, as context switching of developers will hamper the valuable works.

XP Coach 

 
Since the team is  self-organized and cross-functional, a management layer or explicit leadership role is often found not useful.
 
Instead of traditional management roles, the XP Coach plays a supporting role in the team’s success.
 
A coach helps a team follow the process and helps the team to learn discipline and make sure that XP Principles are followed well by the team. They setup a work culture that's  balanced with the rest of the organization, mentor the team to contribute on their tasks, facilitate the team and help them to perform.
 

On-Site Customers

 
As the Product Owner role in the scrum, in XP - On-Site Customer role is responsible for maximizing the product value, and defining the features and stories with acceptance criteria. They are domain or product specialists and experts in the release planning crafting project vision, maximize the return of investment in each iteration, mitigate risks and provide feedback to team for the work done at the end of every release.
 
If the on-site customer is not present at that time role can be filled with product owners, product managers, UI designers, and business analysts as proxies roles.
 
The word “on-site” means that the customers or their proxies sit together with the team to ensure that communication flows smoothly.
 

Programmer 

 
The XP team has 4-10 developers who can work together practicing XP core values like pair programming, practice test-driven development, continuous integration, automation testing and reduce technical debt by refactoring the code as required.
 
Each team should have at least one designer, senior programmer, and system architect so that the team can work toward an incremental design and architecture. They pull the user stories and work as a self-organized way to achieve the iteration goal.
 

Testers

 
Tester is also one of the important roles and a rule of thumb is to have one tester per four programmers. in some case XP team members play the role of testers and there aren't any  dedicated testers, the programmers and the on-site customers are expected to fill the role by using strategies like Test-Driven Development, automated regression testing, or exploratory testing.
 
In general, Testers assist the on-site customer in writing the acceptance test criteria, executing test cases and communicating their results back to the programmers. Unlike traditional methodologies, XP testers do not perform long manual regression cycles. Instead, they use techniques like exploratory testing to help the team identify whether it is successfully preventing bugs from reaching finished code. Testers also look at nonfunctional requirements like usability, performance, stability, resilience, and ability to handle long periods of load and stress.
 

XP Tracker

 
XP Tracker is the role to keep track of the team's progress at an iteration level. The Tracker tracks the progress of team, collects the information and metrics from the tools information, prepares the reports without disturbing the team.
 
Sometimes the tracker can also facilitate activities within the team and help them to do external communication.
 

Sponsor 

 
The sponsor is the person who is funding the project and is very important stakeholder of the project. A team must interact with sponsors regularly to provides demos and get valuable feedback.
 
Above are the core roles in XP but some of the other roles might be relevant and important based on the situation like Business Analyst(BA), UI designer, System Architects, and domain expert.
 
Knowledge doubles if you share it, so please share if you like this article.