Group Retrospectives

As a part of our retrospective process, at the end of each release, each Product Group should hold their own Group Retrospective. The goal of the retrospective is to talk through what went well, what went wrong, and what can be improved. Some Engineering sub-departments, such as UX and Quality, also conduct their own retrospectives to feed into the main R&D retrospective and should generally follow the same process outlined here.

Requirements for an efficient retrospective

In order to generate the best results from a retrospective, the following elements must be present:

  1. A safe environment for feedback and discussion
  2. A plan for advancing discussion from facts to conclusions

Not every retrospective will require both of these elements - for example, an iteration where “nothing went wrong” may see retrospectives that don’t benefit from a safe environment. Similarly, an iteration that has nothing but “obvious” problems will probably have a productive retrospective even without a strong plan for the discussion. However, even iterations that seem fine on the surface can harbor deep problems, so it is always best to be prepared.

Establishing a safe environment

Retrospectives are inherently conversations about what went well and what went wrong in a project or iteration. While it’s easy to talk about what went well, what went wrong can be a touchy subject. Without a safe environment, issues may go unmentioned, and the group won’t improve as rapidly as they otherwise could. To collect as much feedback as possible, we recommend that you observe the following:

  1. All retrospectives should have an impartial moderator. This moderator actively attempts to remain objective and is focused on guiding the conversation forward throughout the meeting. If participants feel that the moderator has a stake in the conversation, they may feel as though it is not safe to voice dissent or share concerns.

    Normally a manager should act as this moderator. In some circumstances, the moderator may feel a strong need or desire to participate in the conversation. In that case, they should make it clear that their participation is as an individual participant, not as the moderator. If the moderator wants to take a very active role in the discussion, they should find a peer, Director, or other member of the group willing to moderate.

  2. Emotions are not only allowed in retrospectives, but they should also be encouraged. Emotional language (“I was angry when…,” “It made me sad that…”) not only helps convey intensity, it also helps expose issues that may have been difficult to sort out otherwise. Make sure all participants know they are free to express their feelings, although we do expect them to stay consistent with our values.

  3. When possible, all parties should be present. No one should have to worry about sharing concerns or experiences because another party isn’t there to represent their side of the story. This includes stakeholders outside of the group, where necessary - if someone’s role or contributions are going to be discussed, they should have the opportunity to contribute to the retrospective as well.

  4. Use an issue to collect feedback asynchronously. Consider using an issue to collect feedback asynchronously. This allows everyone involved to think about and record their feedback on their own time. It is recommended that the group uses the retrospective issue template for the issue.

  5. When necessary, get people face to face. After a particularly difficult iteration, or when there’s a strong risk that emotions will be running high, it’s almost always worth the cost to have everyone in a video meeting to talk through the retrospective in real-time. Some groups choose to not record the meeting if the group prefers to not do so in order to be able to feel that they can speak freely. If the group chooses to do a meeting, consider scheduling it twice with one time good for those in EMEA and Eastern AMER time zones, and one time good for those in APAC and Western AMER time zones. Additionally, some groups choose to not have people leaders in attendance if they are the direct managers of those on the group so that attendees feel they can speak freely.

Having a plan

It’s easy for retrospectives to go off the rails if there isn’t a good plan for collecting actionable insights. If the moderator doesn’t guide the conversation successfully, the retrospective could be dominated by a few “loud voices” or could stay focused on the facts and feelings about the past iteration without drawing any conclusions. To make sure the conversation is productive, we recommend that you have a clear agenda for the conversation. The moderator for the retrospective is then responsible for ensuring the agenda is followed and completed. While the specific nature of this agenda will vary from group to group, we recommend something that follows this general pattern:

  1. Introduction - remind people of the purpose of the retrospective, and that the conversation should be scoped to the project/iteration under review. Ensure everyone understands the rest of the agenda.
  2. Gather data - don’t try to draw any conclusions up front, simply collect facts. This can be done by constructing a timeline, soliciting impressions (“what made you mad, sad, or glad in this iteration?,” etc.), or any other number of fact collecting exercises.
  3. Generate insights - now that you have all of the facts, try to work together to identify patterns or causal relationships (because we did x, y happened).
  4. Decide what to do - with the insights firmly in hand, it should be fairly easy to identify action items for the group. This could be things to change with our process, it could be things to experiment with in the next iteration, or any other number of things. Consider having group members vote on which things are most important to be acted upon.
  5. Close the retrospective - make sure everyone who participated receives positive feedback about how they helped create these results. Observe any surprising or unexpected results from the retrospective, which confirms that the retrospective was valuable. Make sure all of the action items are appropriately assigned to one or more group members with clear expectations for when they should be completed.

Retrospective Notes

Right now we are leaving it to individual Engineering Managers how they would like to collect retrospective notes - GitLab issues, Google docs, etc. After the retrospective is complete, the Engineering Manager has until the Retrospective Summary (shortly after the monthly release) to make relevant notes from the retrospective public. Groups are encouraged to link to these notes from their group page in the handbook.

Learn More

We recommend the following resources if you’d like to learn more about running effective retrospectives:

  1. Agile Retrospectives: Making Good Teams Great
  2. The Human Side of Post Mortems