Roles In Extreme Programming (XP)

In my previous article, we learned

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.

Role XP

The Whole Team

Like the Scrum team, the XP Team is also self-organized, cross-functional, and co-located and also does 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 work items or projects, as context switching of developers will hamper the valuable work.

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 set up a work culture that's balanced with the rest of the organization, mentor the team to contribute to their tasks, facilitate the team, and help them perform.

On-Site Customers

As the Product Owner role in the scrum, in XP - the 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 release planning crafting project vision, maximizing the return on investment in each iteration, mitigating risks, and providing feedback to the 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 reducing 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 in 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 cases, 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 the team, collects the information and metrics from the tools information, and 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 a very important stakeholder of the project. A team must interact with sponsors regularly to provide 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 architect, and domain expert.

Knowledge doubles if you share it, so please share if you like this article.