Lately I was chatting with a collegue, an experienced agile developer who is just now beginning to work as an XP coach. He said to me “It’s difficult to picture what a coach does all day — it is much simpler when I am a developer.”
I also felt that way at times. When I first spent so much time away from the code, that I was not able to provide any significant technical help anymore, it hurt. There is also a danger that the coach drifts away from doing useful work for the team. There’s so much email to be done, so many things to coordinate, so many things that beg your attention. It’s important to keep your focus on the work of the team.
So, what is it that a coach is doing all the time? I wrote down a list, so that whenever I find myself doing something not on this list, I know I may not be doing my job well.
- Coach developers, customers and other collegues about agile values, principles and practices.
- Write iteration reports.
- Update and tidy up the team documentation (aka wiki gardening).
- Mantain data about team performance: stories, effort, code metrics.
- Train junior developers.
- Ensure the team keeps up the practices they gave themselves.
- Encourage developers. Invent or find new things to keep work fresh and fun.
- Provide feedback.
- Lead retrospectives.
- Pay attention. Observe the process. See what the developers are doing, and how they are doing it.