Roles in Extreme Programming Methodology
If you are a software developer, you probably know that each project management methodology has its own amount of roles. Sometimes these roles are typical only for one methodology, but there are also cases when a certain role is common for several methods. In this article we will tell you about the roles typical for the Extreme Programming methodology. But before doing that we have to give its full definition.
Extreme Programming is an Agile software development methodology that originated in the early 2000s. It is considered an innovational method because of its unique approach to software engineering. Many people even call it the most effective software development methodology that has ever existed. That is because of the fact that XP is aimed at creating high quality software within the shortest amounts of time. In other methodologies a software development project may last about a year or even more, depending on its complexity. In Extreme Programming even the most complex projects last only several months. XP is an Agile methodology and shares all Agile principles, including strong communication, high degree of customer involvement, and iterative structure of projects. The communication inside of Extreme Programming teams is probably the strongest communication in all software development industry. That is explained by the fact that XP teams always work in strict time frames, so they have to discuss all project issues and solve them quickly.
The degree of customer involvement in Extreme Programming projects is also the highest among all software development methodologies. The client is a member of XP team that participates in its work constantly. It allows the developers to save a lot of time and to create products that fully meet the customers’ requirements. Extreme Programming has the shortest iterative cycles if comparing it with other Agile methodologies. A typical XP iteration lasts only one week. The methodology is also famous for its unusual and extremely effective software development practices like pair programming and test-driven development.
Now let’s look at XP roles in greater detail. The first thing we have to mention is that unlike other Agile teams, Extreme Programming teams include all traditional roles like testers, analysts, and project manager. A typical XP team includes six roles.
The customer is the person who is responsible for writing user stories, setting priorities and formulating the product backlog.
The programmer is an ordinary developer, who writes the code and performs the entire amount of project tasks.
The coach is the person who watches the team’s work, controls it, and teaches its members to implement the most effective practices.
The tracker is the person whose main task is to monitor the progress of software development and to detect all problems in it.
The tester is the team member responsible for product testing. The quality of the final product strongly depends on his work.
The doomsayer is the person who tracks the project risks and warns the team about them.