Tracker :- A tracker is a person who keeps track of the schedule. A tracker can be a manager or a trusted developer. XP keeps track of certain metrics that include team velocity. This is the ratio of ideal time estimated for accomplishing a task to the actual time spent implementing them. The tracker also includes other data such as change in velocity, overtime worked, and the ratio of passing tests to failing tests. It is the responsibility of the tracker to prepare good estimates of the tasks. Preparing good estimates is a matter of practice and feedback. The tracker has to make estimates to a great extent and notice how reality conforms to the estimates. Giving feedback is essential because the team can work on the feedback and improve their performance.
The tracker should also be able to keep an eye on the final outcome. Halfway through an iteration, the tracker should be able to tell the team whether they will accomplish the task if they follow the current schedule or if they need to modify it. After a couple of iterations into a commitment schedule, the tracker should also be able to tell the team whether they are going to make the next release without making big changes.
The tracker acts as a team historian. The tracker keeps a record of the functional test scores and the defects reported. It is the job of the tracker to keep track of who accepted responsibility for each task, and what test cases were added on each defects.
The data presented by the tracker helps in calculating the progress and finding the rate of progress. They help in ascertaining if the project is on schedule for iteration. They can also show behavioral changes that may affect the schedule. In order to measure velocity within the iteration, the tracker needs to ask each developer about the tasks accomplished by them every day or two. This has to be done in an informal and comfortable way as possible. The developers need to be honest while giving out their work details and at the same time the tracker needs to be non-judgemental. The XP team adjusts to the flow of work when there is regular tracking of progress.
Coach :- A coach is a person who is highly respected and has experience in guiding and mentoring the team. Having a coach can be helpful when adopting XP. It could be difficult to apply XP consistently. An XP team requires certain skills that may take some time to develop. Also there are certain occasional obstacles and subtleties that need the guidance of a master. Thus, a coach's main quality is experience. The coach helps the XP team to understand the XP practices and software development methodologies either by teaching the team, working along with the team or by being an intermediary. It is the responsibility of the coach to make suggestions with reference to how a practice is implemented, offer ideas to solve technical problems, or act as a mediator between the team and management. The responsibility of the coach is also to ensure that the team works smoothly and harmoniously towards achieving their goal. Coaching is mainly focused on the technical execution of the process. An ideal coach should be a good communicator, technically skilled and confident. A coach can be a person who has worked on other projects as a lead developer or system architect. The role of a coach is not to make decisions, but instead it is to help everybody else make good decisions. The coach is not expected to take responsibility of all the development tasks, instead they are expected to take up the following job responsibilities:
- Act as a development partner, especially for new developers or for technical tasks that are difficult.
- Encourage small scale refactoring by looking into long term refactoring to address parts of these goals.
- Assist developers with tasks such as testing, formatting, and refactoring.
- Give details of the process to the top level managers.
- Ensure that the project stays ‘Extreme’ by mentoring the team efficiently.
- Formulate a vision of the goal and convey it to other developers, for them to work towards it.
- Select methodologies that are suitable and adapt it in the business.
- Keep the team on track with respect to XP.
- Act as a mediator between the XP developer and the management.
Therefore, we can conclude that the role of a coach is very essential for an XP team.
- answered 5 years ago
- Gul Hafiz