Musings about software development, Java, OO, agile, life, whatever.
Recently I've done three distributed project retrospectives. I've heavily used the ideas in the Esther Derby/Diana Larsen book Agile Retrospectives to provide a foundation for these online meetings. Here's their general flow with a few comments and one addition:
- Establish base rules They need to "own" the rules but you should expect to kick off with a few of your own.
- Safety exercise "I am planning on being very open and vocal during this retrospective." - strongly agree, agree, neutral, disagree, strongly disagree. Answers to this will help you hold at least some people to their promises to talk. It may suggest the need to do even more anonymous polling during the meeting.
- Gather data For project retrospectives, the Time Line activity has been especially useful. I simply share my desktop, put Excel up and start filling in events, with some dates, from left to right.
- Generate insights, locate strengths
- Commit to improvements I solicit as many variant solutions as possible for a given challenge, and then let them vote on what they think the best one is to carry forward on a new project.
Here are some brief suppositions and observations:
- Use "online only." Everyone on the line should be at a separate station, not meeting together in a room. While this can increase phone line costs, it prevents "phone vs. live" dominance issues. Everyone sees the same thing.
- Use some sort of communication software with polling capability. I used WebEx for each of these three sessions. It's flaky but works. Make sure you try creating some questions ahead of time and understand both ends: How are questions defined, and what does the end user see?
- Some of the problems with WebEx polling:
- No scaling/ranking question type available
- Easy to create a screwed-up poll and not know until answers are submitted
- Crummy interface overall. Too many opportunities for "user error"
- Can't easily share anonymous answers to "free form" questions
- Lame file-based save/load interface
- I didn't see how to change the amount of time a poll was open
- No way to limit the number of "votes" on a multiple-choice answer
- Come prepared with some good poll questions, but also look to create them on the fly. For example, after soliciting things that went poorly, it's useful to find out the top three or so to concentrate on. You might normally do this with dot voting and cards. Here, you can create a poll and ask people to select a certain number of items from the list.
- No matter how hard you try, many people will choose to not talk in a larger (> 15) meeting. With a meeting of ~15 or less, the idea (Derby's?) of starting the retrospective by asking everyone to express their hopes for the meeting is a very good one; it gets people talking.
- Get an assistant to take notes, type questions, monitor chat, etc. They will allow you to focus on listening and steering the retrospective.
It's never the same as everyone being there! I view online retrospectives as a microcosm of doing the whole of agile in a highly distributed fashion. Effective communication becomes very difficult.
Coming back from a long Thanksgiving weekend is always tough. This year it's tougher, as I had eight guests stay for four days and thus didn't keep up to date on things.
I realized I didn't properly offer up thanks during our chaotic Thanksgiving dinner. So here are some of the things I'm thankful for today.
- Test-driven development, a technique that reinvigorated my interest in programming and made it far more enjoyable and effective for the past ten years.
- The shrinking of the international community through technology.
- People like Tim Hunter who provided much-needed laughter in this industry. I love spoofs.
That's it. Nothing earth-shattering here.