So let's work together as a community to make expectations clear about what a coach does, and doesn't do. Here's my stab: An Agile Coach helps a team shift its perspective, thereby allowing the team solve its own problems. I also second George Dinwiddie's definition:
[A coach] build[s] the capability of the existing team. Rather than making choices for the team, the coach provides guidance about the choices available, perhaps making recommendations, and encouraging them to consider the options and choose their actions. The coach teaches the team about techniques or tools that increase their available choices. The coach offers observations about the team’s activities, and helps the team make it’s own observations and reflect on them. The coach helps the team articulate the results it wants, and generate courses of action to achieve those results. The coach partners with the team on the coaching process, but allows the team to exercise its own judgement about the software development practice. The coach does not become a member of the team, but endeavors to wean the team off of the need to consult with the coach on a regular basis.With this kind of definition of Agile Coaching, I believe that clients will benefit even more from coaches-since there's the expectation that the coach isn't always there, and for that reason will be more likely to bring ideas in to the team from other environments. Another slant to this is that to me, a key responsibility of a coach is to go out and learn as much as possible that can be applied to the teams being coached.