Monday, December 13, 2010

A Great Coach

This is Part 3

Part 1     Part 2     Part 3    Part 4     Part 5


Great coaches know their sport, know their game, know their playing field and are able to guide & teach to improve performance for individuals and the team as whole. Great Coaches get the most out of their teams.

If you're adopting agile, you're new to it and no one in your organization knows much about agile, it's best to find a great coach to help you get started and progress rapidly. 
When I think about agile coaches I think of two kinds of coaches - process coaches and engineering practices coaches. A process coach is someone capable of moving a team through an approach like Scrum. They are able to help you build your backlog, plan your iterations, hold standup meetings, perform demos, conduct retrospectives, use planning poker and so forth. An engineer practices coach is a developer who can help your team with the technical practices, like TDD, CI& UT, etc.

Coaches may be able to do one or the other or both. Typically an individual who is a process coach and not an engineering practices coach is someone who has not been a developer or someone, like me, who is not current with the latest development languages and environments. Engineering practices coaches must be able to sit side-by-side with a developer on your team and show them how to implement the technical practices. Many times an engineering practices coach is also a process coach.

A typical question I get is - "how long will we need a coach?" The standard answer is - it depends. In my experience, when coaching a new team on agile processes, I find that teams tend to take 3-5 iterations to establish a rhythm, becoming comfortable with agile process basics. During this initial time period it is best to have a coach available full-time to assist the team. As the team becomes proficient the coach can move to part-time allocation to the project. I've found the time it takes for teams to adopt engineering practices varies greatly based on the team's development skills. I've worked with teams unfamiliar with current practices & technologies, watching how difficult is was for them to adopt agile engineering practices. In fact, I've been in circumstances where we chose to discontinue the adoption of the engineering practices until a later date. So in this case, it really does depend.

As a coach works with the team, they can't forget the project/product stakeholders. The coach works with the various stakeholders outside the project, setting expectations, communicating, educating, and performing relationship management. Many times when a team doesn't succeed adopting agile, it's not because the team didn't get it, it's because the stakeholders weren't engaged and/or supportive.

One difficulty you might have is finding a great coach. If your organization is not familiar with agile, you may not be able to adequately assess coaching candidates. To get started you might want to look to consulting organizations who are known to provide talented coaches.

No comments:

Post a Comment