Agile 2010 part 4: Effective coaching and how to grow as a coach
Topic: General
I spent quite a bit of my time during the week in this area. I attended four sessions that directly or indirectly addressed the topic, and participated in two informal group discussions about how to improve the state of the art of coaching in the agile space. The coaching-related sessions I attended were very different from one another, and all were presented by people who do this sort of coaching for a living: David Draper, Arto Eskelinen, Sami Honkonen, Rachel Davies, Gino Marckx, and Michael Sahota. It's worth noting that there were many more sessions on the topic of coaching; it was a strong focus of the conference program.
Retrospective for an agile coach (David Draper)
David shared three past experiences in coaching agile teams. He set out a timeline for each, consisting of a horizontal line representing time and a series of boxes highlighting key events in the project. The timeline was general and did not represent absolute increments of time. Each box contained a small smiling or frowning face icon, and some boxes contained one of each.
David summarized the course of events in each case and described what had happened at each of the key points in the timeline. Then, working in small groups, we talked about what had happened and how a coach might have approached each situation differently.
The value of the session was that each of us gained new insights and ideas from our peers that can help us handle similar situations in our own work.
At one point, David described an incident in which the team presented a project roadmap to the business stakeholders that demonstrated the team would have to increase its velocity exponentially (and here I do not use the word in its loose sense) in order to meet the prescribed deadline. The stakeholders did not understand the implication, and told the team to proceed with the plan. David wrapped up the story with a quotable quote: "When you tell people what they desperately want to hear, they don't necessarily detect the fact you're saying it tongue-in-cheeck."
That's a very valuable lesson to take from the story. All too often, we who understand how agile works assume it's perfectly obvious one cannot play games with velocity and force a given scope to fit into a given schedule. It's not so obvious to others, especially when an on-time delivery of the full scope is in their vested interest. We have to lead them by the nose toward understanding.
Effective questions for an agile coach (Arto Eskelinen and Sami Honkonen)
This session was very different in content and in presentation style from David's. In a very well-structured series of short explanations and short workshop activities, Arto and Sami introduced us to a coaching model called GROW: Goal, Reality, Options, and What To Do. They reinforced a concept we should all know, but that we can forget in the heat of the moment: Our role as coaches is to create awareness and a sense of responsibility, and not merely to hand people instant solutions to their problems.
A key point was that the way in which we formulate questions has a great deal to do with whether we will receive meaningful and actionable responses. They pointed out that a good coaching question has the following characteristics:
- It leads to exploration
- It aims for a descriptive answer
- It avoids judgment
- It avoids unproductive states of mind
Generally, these will be
What? When? How many? How much? questions.
Who? and
Why? questions can easily lead to defensiveness and blame-shifting.
Arto and Sami suggest that unproductive states of mind can be created by asking questions that cause:
- Laying blame
- Justification
- Denial
- Guilt
- Shame
- Obligation
It's hard not to notice the similarity between this list and the levels of personal responsibility defined in Christopher Avery's
Responsibility Process (short of the final level, Responsibility):
- Denial
- Lay Blame
- Justify
- Shame
- Obligation
So, if we can keep in mind basic principles of personal responsibility, we won't go far wrong in formulating constructive questions with coachees.
In discussing the session with Arto and Sami before we began, I offered the following negative example: "Did you write that code on purpose, or did you just let your cat walk across the keyboard?" They agreed that this was indeed a negative example. It in no way leads to exploration; it does not guide the person toward a descriptive answer; it is highly judgmental; it creates a defensive state of mind.
I must admit it was not a random example. Not so long ago, I was sitting with a programmer on a team I was coaching and reviewing some of her code. I asked, "Have you heard of the Single Responsibility Principle?" She cheerfully recited a textbook definition of SRP. The code itself did not bespeak a profound understanding of SRP, but at least I had dodged the sarcasm bullet. It was sheer dumb luck that she took the question so literally. In any case, the question did not lead to any improvement of awareness or responsibility.
In the real case, I found that in subsequent interactions with that team member I was able to help her see potential improvements in her code by asking more specific questions about particular sections of the code, and by focusing on questions about how the structure of the code might affect future modification and support of the application. It would have saved us both some time had I participated in this session first.
The coachee might not realize there is a problem at all. In that case, we need questions with the characteristics listed above to help him/her reach an understanding that there is something to be done. In the personal example, the team member did not perceive any problems with her code. A few exploratory questions could have set the stage for a constructive working session.
In the Goal phase, we are trying to find out what problem the coachee wants to solve, and how he/she will recognize success when it happens. We want to help identify a goal that is:
- high enough
- positive
- meaningful
- specific
In applying this advice to the personal case, I find myself at a loss to define a good goal prior to working through at least the Reality and Options portions of the GROW model. A preliminary goal statement might be:
- Carry out a refactoring that takes the class closer to a clean design.
There's no assumption that we can completely refactor the class in one fell swoop, so at least it isn't unrealistic. It
sounds positive. On the other hand, it isn't really meaningful, and definitely not specific. We don't have enough information yet to know which of the several responsibilities the class supports would be the best choice for the initial refactoring exercise.
At this point, I'm thinking the GROW model doesn't necessarily have to be applied sequentially, although that's the way the workshop exercises introduced it. In retrospecting the real case, I thought that maybe the Reality phase would enable us to craft a better goal statement.
According to the GROW model, good Reality questions are designed to explore the coachee's view on the current state. We want to find questions that:
- test assumptions
- explore different angles
- expose feelings
Relating this to my personal example, it was clear that the team member needed guidance to discover the problems in the structure of her code. I did get around to this, despite my poor opening question. Feelings exposed: Pride of workmanship. Assumptions tested: What does SRP actually look like in real life? Different angles explored: What sorts of changes would improve this code? What sorts of changes are possible? New feelings exposed: Desire for
greater pride of workmanship. No feeling of blame, judgment, or obligation. So far, so good; but we still don't have a good goal statement.
The Options phase of the GROW model looks for alternate paths to the desired state. To that end, questions should:
- state existing ideas
- challenge limitations
- include discussion of "stupid" ideas
- bring out at least 3 alternatives
I have to pare down the details of the real case considerably in the interest of space. Suffice it to say the class in question was to be part of a webapp generated by a relatively rigid framework. The framework would call methods in this class to execute custom code as part of its built-in request/response cycle. The obvious and crude implementation (and the one recommended in the product tutorial) was to jam all the custom code directly into the callback methods. The problem in real life is this approach results in a bloated class that performs several distinct functions.
Relating the Options phase of GROW to the personal case, I could have used well-crafted questions to help expose the team member's existing assumptions about the structure of the class and the possibility of refactoring the code, to challenge the apparent limitations imposed by the rigid framework, explore a few "stupid" approaches in hopes this might spark some out-of-the-box thinking, and bring out 3 or more alternative approaches to improved design.
At this point, we could have returned to the Goal step armed with information obtained from the Reality and Options steps. We would have enough information to craft a goal for a first pass at refactoring the class that was high enough (it wouldn't be easy in any case), positive (it would extract the largest chunk of secondary functionality), meaningful (it would clearly improve the readability of the code, if nothing else), and specific (it would address one particular secondary responsibility).
That takes us to the What To Do step, the W in GROW. Arto and Sami described this as "agreement to walk the path." In the case of my personal example, we could define a specific refactoring that had a clear definition of done, an observable outcome, and a target date. The session was about coaching in general, and not all coaching has anything to do with technical issues. Agreement to walk a path of improvement in mindset, process, or principles may mean that the coachee agrees to begin walking the path, or to resume walking a path from which he/she has strayed. In the more general case, the What? questions should examine:
- What to do?
- When to do it?
- Observable outcome?
- Obstacles removed?
- Uncertainty cleared?
You might think that the GROW model applies best in general coaching situations, and may have less to offer in a technical coaching situation. In fact, technical professionals have very sensitive emotions, especially with respect to their own code. There are a lot of programmers out there who perceive themselves as very advanced, very "senior" professionals who already have a long track record of success. Yet, most of them have no inkling of Software Craftsmanship. We have to be able to explore relevant information and bring out unpleasant facts without touching the wrong buttons. Otherwise, we won't get anywhere.
This was a truly excellent session. If you have a chance to see it on another occasion, don't miss it. For more information, download http://sami.honkonen.fi/checklists.pdf.
Agile Coaching Dojo (Rachel Davies)
Rachel was intrigued by the coding dojo concept and wanted to see whether it could be used to improve coaching skills. This session was a run-through of a dojo structure she created for coaches.
Working in groups of six or seven, we took the roles of seeker, coach, observer, and facilitator. The seeker was the person seeking help. The seeker is a coach who has a challenging coaching situation and seeks advice from his/her peers. Each group had one of these. The coach is just what the name implies. Each group had 2 or 3 coaches, who interacted with the seeker one at a time for five minutes each. The observer did not speak, but observed the nature of the interaction between each coach and the seeker, and provided feedback after all the coaches had taken a turn. The observer's feedback was not coaching advice, but was limited to comments on the interaction itself. The facilitator kept time and kept everyone within the boundaries of their roles.
Everyone chose the role they wanted to play. The first step was for the seekers to choose a coaching problem from their own experience. They discussed it in roundtable fashion with their group. Then, each seeker left their original group and joined a different group, where no one had heard about the problem. Then the kata began. Each coach interviewed the seeker for five minutes, one at a time. Other group members did not speak during the interviews. Observers observed, and made notes if they wished. After the interviews, the observers discussed their observations of the style of interaction with the rest of the group. At the conference, there was insufficient time for multiple rounds, but in an actual dojo everyone would have a chance to play each of the roles at least once.
It seemed a worthwhile exercise to me. The seeker at our table said he came away with some concrete ideas about how to coach the people in his organization through the problem he was having. It reminded me somewhat of a session at Agile 2007 along the same lines. In Coaching 101: A Role-Playing Session, Jeff Nielsen and Dave McMunn led us through contrived coaching situations in groups of three: Coach, coachee, and observer. The session leaders and some of their colleagues acted as facilitators, to answer questions about the process and to keep time. In that session, the facilitators created contrived situations; coaches could just as well use real scenarios. The three-person format may allow for more-focused interaction and faster role changes than the seven-person format.
Another possible advantage of the three-person format is that there may not be enough coaches in any given local area to form even a single group of seven for regular practice. For example, David Draper was in our group, and he mentioned that a coaching dojo would be a great thing for his company, but they have only five agile coaches in the London area. Using the three-person format, his company could organize an internal coaching dojo with the five coaches plus another employee in a role that calls for coaching skills, such as a project manager or Scrum Master. The six could have a very productive 90-minute dojo session with ample opportunity to act in all three roles, and to explore several coaching scenarios from their various clients. Coaches who work in the same general area, but who work for different companies or independently, could also organize their own dojos.
Regardless of the format, repeated practice of the basics is as important for honing coaching skills as it is for honing programming skills. I hope Rachel will continue to refine the idea and move it forward.
Quadrants of Effectiveness Game (Gino Marckx and Michael Sahota)
This is a board game for five participants designed to illustrate strategies for maximizing the effectiveness of a team. It's described on Gino's blog and in this set of presentation slides. After the session, I asked Gino if the game materials were available for purchase, because I want to use the game with my own clients. He said the materials would be available sometime soon.
I won't go into details about game play. The basic idea is that each group of players makes moves based on cards, as in trading card games. Players move markers around a board. Each player has two markers — one that tracks the urgency of the current move, and one that keeps track of the number of points the player has accumulated.
The point of the game is to demonstrate the effect of different strategies for maximizing value. Certain aspects of the scoring are not explained at the outset, so that players will craft individual strategies. At some point, the facilitator explains that the real goal is for each team to maximize its points. The five players at each table constitute a single team, not five individual competitors.
At our table, people played competitively at first. Once the team scoring aspect was explained, the team's dynamic changed to a collaborative style. Using the collaborative strategy, we finished the session with the second-highest score. The highest-scoring team had also changed to a collaborative strategy early in the game.
The results also brought out another aspect of team dynamics: The speed with which decisions are made. We did not count the number of rounds played at each table, but we speculated that the speed of game play may have accounted for the difference in scores between the top two teams. Our team was very slow to make each move. The team members discussed options and possible moves for some time before reaching a decision. We wondered whether this caused us to play fewer rounds in the allotted time, and therefore to accumulate fewer points than the top-scoring team.
The relevance to real team dynamics is that we cannot take too long to make decisions in our projects, because events will overtake us. We have to be able to make decisions quickly based on limited information. That is not an explicit part of the Quadrants of Effectiveness Game; it is simply an observation based on the outcome we obtained in the session.
In general, games are a great way to bring out important points we want our clients to understand so that they can make well-informed decisions during the agile transformation. This particular game is especially powerful and simple enough to learn quickly. I relate this session to the theme of improving coaching skills because I like to use games in my coaching of non-technical people and non-technical practices.
Informal discussions of coaching in the agile space
On Tuesday morning, I stumbled into a great conversation. In search of breakfast in the hotel restaurant, I encountered a group of people waiting for a table. I knew some of them, so I asked if I could join them for breakfast. They warned me they were going to have a breakfast meeting, so I could sit with them as long as I kept my head down and my mouth shut. I had planned to keep my head down anyway so that I could shovel food into my mouth, so I agreed.
This was no random assortment of breakfast-seekers. The instigator was Rachel Weston, Director of Services at Rally Software Development, and the group comprised Lyssa Adkins, author of Coaching Agile Teams: A Companion for ScrumMasters, Agile Coaches, and Project Managers in Transition; Rachel Davies, author of Agile Coaching; Alan Atlas; David Chilcott; Julie Chickering; and Mark Kilby — all agile coaches.
What brought these big brains together was the growing need for coaches in the agile community, and the lack of support for coaches who want to improve their skills or exchange ideas with peers. These individuals, who are leaders within the agile community in the area of coaching coaches, are not necessarily leaders in the broader field of coaching. They were full of ideas, and Rachel Davies agreed to set up a forum on the Agile Alliance website to serve as a collection point for links, contacts, and other information relevant to coaching the coaches.
Unfortunately, I have been unable to access that forum. I had a series of problems getting logged into the site at all, and ultimately gave up. I'm very interested in being part of the coaching-the-coaches initiative, but not interested in websites that prevent people from getting in. I expect eventually there will be another entry point for internet access to these resources. Rachel made it clear that she was willing to get things started by creating the forum, but that she would not be able to carry the load of volunteer work to keep the thing going. I think we will need a user-friendly site that doesn't ask for passwords and annual membership fees.
The group agreed to host a discussion in the Open Space area later in the week. I attended that, and was pleased to see at least twenty professional agile coaches in attendance. The group generated even more good ideas, which were noted on flip chart sheets. I think this initiative will result in a higher level of coaching skill throughout the community.
Posted by Dave Nicolette
at 8:52 PM EDT