One of the most common questions I receive from other current and aspiring Scrum Masters is how I run Sprint Retrospectives for my team. I think the Sprint Retro is the most important (and most fun) meeting for any Scrum team. It’s a squad’s opportunity not just to inspect and adapt how they’re working, but also to pause and celebrate, reflect, and appreciate. Taking time to practice gratitude for each other and all the people who helped us is one of the most crucial parts of being a healthy, high-functioning team.
Below I’ll take you through my typical agenda for a Sprint Retro. Right now I work fully remotely, so I’ll tell you about the tools and softwares I use to make these run smoothly for distributed teams.
1. Start with the Sprint Goal
As with nearly everything I do with my Scrum Team, I think it’s important to remind everyone that our focus is the Sprint Goal. That’s why I start with it at the very beginning of the meeting. I’ll start the meeting by sharing my screen showing the Sprint Goal. I used to just show our Scrum Board in Jira, which has the Sprint Goal at the top, but I found that having all of our stories up on the screen took away from the focus on the goal. People would start talking about the stories and skip over the goal itself. So I recently started opening up a blank Figjam board and writing the Sprint Goal in giant letters across it. This way, when my team joins the Zoom, all they can see is our Sprint Goal.
As people are joining, we are all making small talk and chit-chatting. I think it’s very important to establish a relaxed, laid-back atmosphere for these retros. My teams have been working together for years so this comes pretty naturally to us now, but for newly-formed teams, or as a newer Scrum Master, I would recommend focusing a ton of energy on just getting the right vibe for these meetings as it will go a long way. The most perfectly sculpted agenda and Retro board will be useless if everyone feels too uncomfortable to share anything.
Once everyone’s in, I’ll say “Ok, let’s get started! Here’s our Sprint Goal, did we meet it?” I’ll wait for the team to answer, and hopefully it’s an easy “yes” or an easy “no”. I’ll make sure we come to a solid collective decision, with the understanding that if it’s not clear whether we did or not, then we probably did not meet it. The Definition of Done can be a big help here if the team is falling into a debate around it. I’ll add a green checkmark to the Figjam board if we met the goal.
2. Review the actions from our last Retro
The next item on my agenda is always the action items that came out of our team’s previous Retro meeting from two weeks ago. I keep these logged in our team Confluence space every sprint, and I will have that page open in a tab on my browser. Ideally we should have 1-2 action items each sprint. Having more than that will probably be too much to manage, and it’ll be harder to tell if they had any impact if there are many variables at play.
For each action item, I’ll ask the team:
Did we do this?
If so, was it helpful?
If yes, do we want to repeat it?
Depending on the answers to the above, we may abandon an action item, we may carry it over as an action item for an additional sprint, or we may decide to permanently incorporate it into our processes. If it wasn’t helpful or relevant, we’ll typically abandon it. If it was helpful but we’re not yet certain about it, we’ll probably just copy it over as a planned retro action item for the next sprint. If it was helpful, and we’ve probably carried it over a time or two already, we will likely look to incorporate it permanently into our processes. That can happen in a lot of different ways, depending on what the action item is. It may mean a change to our Definition of Ready or Definition of Done, a reminder set in Slack, a change to a meeting agenda or format, or something else entirely.
3. EasyRetro
For the “meat” of the Retro, I use a tool called EasyRetro. I’ve tried a lot of different Retro apps and this is by far my favorite. The only thing that beats it is physical sticky notes in an in-person meeting (though even that requires the SM to do a lot of manual input if they want to keep a text-based record of the Retro). For hybrid and remote teams, EasyRetro is an streamlined way to let your team give anonymous feedback, vote, answer surveys, and collaborate. I always set up a board that contains the following sections:
A Survey: How did the sprint go?
Thanks & Shoutouts
Things that went well
Things that didn’t go well
Action items
Those are the key elements that I like to have my team frame their Retro around, but I will change up the wording from time to time, sometimes using a metaphorical Retro format like a Sailboat Retrospective. I’ll dig into each of these sections below.
I’m lucky to have a company that has purchased a Business plan for EasyRetro, so all of our teams are able to create an unlimited number of boards. We use them for every hybrid/remote Retro, as well as for a lot of brainstorming and Lean Coffee sessions. But even if your company hasn’t purchased a subscription, you can always grab a Free plan on your own. This will give you 3 boards per month, which should be more than you need for a single Scrum Team running 2 week sprints.
4. Survey
I like to start the Retroing with a high-level survey of how the sprint went. This is a little temperature check to see how people are feeling. On a scale from Great to Terrible, I want to know what my team is thinking when they look back on the past two weeks. This is especially interesting when discussed alongside the Sprint Goal. Sometimes we met our goal but most people feel the sprint went badly, which probably means we have a lot to unpack. In the same way, sometimes we missed the goal, but people still feel like it was a good sprint, which means we probably learned something new or uncovered something interesting. It’s a great tool to help me as the facilitator get a good start to the retro and figure out how to best direct our conversation.
5. Thanks & Shoutouts
After we’ve all voted in the survey and discussed high-level how we felt, I’ll typically move us into the first column of the Retro board: Thanks & Shoutouts. I think it’s important for the team to take a moment to reflect on all the people who helped them this sprint, and who they want to recognize for doing an awesome job. Gratitude and appreciation for each other and people outside the team goes a long way and is such a grounding force. Even if we faced challenges this sprint, chances are there is still a lot to be thankful for, including the fact that we got to take on those difficulties together and work on a squad with considerate, caring, and thoughtful team members.
6. Reflect on what went well
Next, we’ll move onto things that went well this sprint. I’ll usually give the team 2 minutes to quietly think and add cards to this column. I like to use EasyRetro’s timer feature for this. After the cards are added, we’ll talk about them. Whether we met the goal or not, we’ll discuss everything that felt good, and if applicable, I’ll ask the team if there are any action items we could take to ensure that these positives are repeated the following sprint. For example, maybe someone was stuck on a coding problem, and a team member offered to pair program with them after hearing about it in a Daily Scrum. If that was a big win for the team, perhaps we could consider pair programming right after Daily Scrum any time someone shares a problem they’re stuck on this sprint. It’s important for me not to come up with these solutions for the team, but rather to help direct the conversation towards ideas they come up with on their own. This was (and still is) one of the biggest challenges I faced as a new Scrum Master, and it can take some time to develop this skill.
7. Reflect on what didn’t go well
After that, we’ll repeat the same process for things that didn’t go well. I’ll set another 2-3 minute timer for team members to add their cards, and then we’ll discuss. When cards are similar, we’ll usually merge them together to get an idea of what the biggest challenges were. We will spend most of our Retro time on this section. Even if we’re not able to come up with solutions, talking about our challenges is an important moment for a team. It can be therapeutic just to feel heard, and it’s important for everyone to hear each other out. It can give a junior team member a big confidence boost to hear a senior colleague talk about the difficulties they faced. So many people struggle with imposter syndrome and think that they are the only ones that get stuck or feel confused. Normalizing that this happens to even the most experienced engineers can have a big impact. This is one of my favorite benefits of Scrum.
This conversation will also flow nicely into a conversation about Action Items. As we talk through our negative experiences this sprint, I’ll ask the team “What should we do if we want to ensure we don’t deal with this again next sprint?” Sometimes things will feel impossible to fix, and these are the items that a Scrum Master should be writing down. I like to keep a running list of negative Retro cards, so that I can monitor which ones are repeated sprint after sprint. Those items are likely clues to larger organizational issues that I will want to tackle with my Scrum Masters Chapter.
8. Action items
Hopefully, my team will have come up with 1-2 action items based on their discussions of positive experiences they want to repeat and negative experiences they want to avoid. If we find ourselves with more than 2, I will encourage my team to vote on the top 2 action cards, using EasyRetro’s voting feature. I have found in the past that taking on more than 2 action items adds risk to all of the actions, and makes it harder to tell which were helpful. The team and I will discuss how we want to help ourselves remember these actions. Often, I set up a Slack reminder to tell us what the Retro actions are every Monday, or to remind us on a certain day if they are time-sensitive. For example, if my team set an Action Item to only refine stories with a certain Jira tag added to them. I might set a Slack reminder the day before our Refinement meeting which says “Remember to tag stories that need to be refined tomorrow!” I will add creating these automations, meetings, or reminders onto my personal to-do list and tackle it right after the meeting.
9. Closing
To wrap up the meeting, I will thank everyone for attending and for being open. It’s crucial to create a pattern of honesty and vulnerability within a team. It’s also one of the most difficult balances to strike in a professional setting. Asking people to share their frustrations and joys is asking them to open themselves up and sacrifice some of the hard, polished exterior that we’ve grown accustomed to wearing at work. As a Scrum Master, I take this very seriously and I consider it an honor that my team is willing to do this with me and with each other.
After thanking them for sharing their thoughts and listening to one another, I’ll remind my team of our action items and how we plan to incorporate them into our sprint, and then we’ll close the meeting. We typically do Sprint Planning right after our Retro, so the PO and I will give the team 5-10 minutes between ceremonies to go grab coffee, water, or take a break. We’ll often play a short meditation during this window for anyone who wants to stay on and listen to it, and then we’ll start our Sprint Planning meeting.