Rob's guide to effective retrospectives
Retrospective facilitation is a skill
I'm continually amazed by the number of people I speak to who run retrospectives but haven't read Derby and Larson's Agile Retrospectives: Making good Teams Great (or similar material on effective facilitation, see External Resources). Making sure the meeting is not being driven by whoever shouts the loudest or ending up as a long ineffectual rambling debate takes thought and practice. The first three chapters of Derby and Larson's book are a must read in my opinion.
Rotate the facilitator role
Are you finding your team aren't particularly enthusiastic or engaged in your retrospectives? The most common reason I see for this is it being one person's job (usually a scrum master or project manager) to facilitate/lead them. This is a bad thing in my opinion - it prevents a team from feeling truly empowered to solve their own problems. It may be one person's job to make sure they happen and everyone turns up, but that does not (and should not) mean they also have to run every retrospective as well.
Instead try and get everyone to take turns facilitating. Not only does this ensure no one feels retrospectives are always being driven by one person's agenda, there are many other side benefits, including:
- Learning how to facilitate is great for developing communication skills and generally how to have effective meetings.
- The burden of planning retrospectives is shared across multiple people.
- Retrospectives are less likely to become dull or repetitive.
Get someone outside the team to facilitate
Really easy to do if you have more than one software team - ask for someone from another team to facilitate your retrospective and when it's their turn return the favour. This is a great technique to avoid the risk of facilitator bias (face it, we're all biased whether we believe it or not!) and even better has the wonderful side-effect of being a great way to cross-pollinate ideas between teams.
Achievable actions and owners for each action
Probably the most common failing with retrospectives is either not taking actions away or the actions not being completed. My first tip here is make your actions small, really small. Big wafty goals like "write more unit tests" are pointless. A great retrospective to encourage small achievable actions is the Plan of Action retrospective.
Once you have your achievable actions make sure someone is responsible for each and every one you choose to take away. This does not have to be the person who is going to do the work, just the person who is responsible for making sure it happens before the next retrospective.
Write all the actions on a flip chart sheet, write the name of the owner next to each action and stick the sheet up in the team's work space.
Start each retrospective by going through the actions from the previous one
Before doing anything else, begin the retrospective by pinning the flip chart sheet to the wall and checking if all actions from the previous retrospective have been completed. If not, why not? Time box this to 5 minutes.
If the team took 5 actions but completed none, there's not point taking any more than 1 action away from this retrospective. Once the team has got better at completing the actions they've comitted to then maybe they can take more actions away.