Published: March 15, 2023 • Updated: May 01, 2023 • 4 min read
Retrospectives are one of my favorite engineering team practices. In this post, I’ll explain why and how I run retros. If you’ve never done one before, you can do it!
I’ll be covering:
Let’s get started!
What is a retro? From a dictionary:
Retro, short for retrospective: ‘a surveying of the past.’
Retros are a Scrum/Agile ‘ceremony’, a collection of best practices for software engineering teams.
I see a retro as a safe space for a team to pause work, discuss what’s going well and what could be going better, and take action to improve.
Why should we retro? We should retro because processes can improve with effort and communication.
In Extreme Programming Explained, Kent Beck shares one of the core ideas of XP: if something is good, we should do it all the time. Communication is good and retros are part of a strategy to communicate often.
Every great team I’ve worked on has done regular retros. As a leader, it shows you have vision beyond the current obstacles and are building processes to last.
When should we retro? Anytime!
I like to do retros at the end of a project. They can be done weekly or monthly, too. If you feel like you’re not getting as much value out of each one, do less. If you feel like communication is poor, do more.
Let’s get set up!
First, put the retro on the calendar and invite your entire team. Everyone must attend the entire meeting; no absenteeism, leaving to fight fires, or multitasking. I think an hour is the right amount of time.
Second, assemble materials. The tools I use for in-person retros are:
Sometimes tensions can be high, even on productive teams. That’s why I always start by reading ‘The Retrospective Prime Directive’ aloud:
“Regardless of what we discover, we understand and truly believe that everyone did the best job they could, given what they knew at the time, their skills and abilities, the resources available, and the situation at hand.” —Norm Kerth, Project Retrospectives: A Handbook for Team Review
Setting the right tone takes just a moment but has an effect on the entire meeting and beyond.
How do we actually collect the feedback that we need?
The most common format I’ve seen is asking:
Write these on the whiteboard as two columns, and give everyone five to ten minutes to jot down their thoughts on Post-Its. When time is up, have people place their Post-Its on the whiteboard under the appropriate column.
If tensions are high on the team, you can anonymize the feedback by conducting the retro online and anonymously, via the many tools that now exist to support this. For fully-remote teams, you’re doing this anyway.
💡Pro tip: mix up the retro format. On the next retro, ask:
Or, try one of the dozens of retro formats you can find online. I’ve found that mixing up the format wakes people up and elicits better feedback.
When you’ve finished collecting feedback, pick a team member to read the Post-Its. I like to delegate this task to a different person each time to increase participation.
If you’ve chosen to anonymize the feedback, give people the opportunity to speak up about their feedback, or not. Usually someone will speak up, even when the original author doesn’t, because few retro ideas are held by just one person. As a leader, your job is to facilitate conversation, ask open-ended questions, and make sure someone is taking notes.
Retros need action items; demand action. Here’s an example:
If you aren’t assigning concrete tasks from the meeting, you’re doing it wrong. People don’t just want to be heard, although that is important. They must believe that things can improve. To build that belief, you must take action.
Start the next retro by reviewing the action items from the previous retro. Did everyone do what was asked? Keep pushing until the answer is yes.
💡Pro tip: take a picture of the retro board when you’re finished. It’s a snapshot in time and a record of the effort your team is investing to get better.
If you want to dig deeper, Atlassian has a great collection of resources about Retrospectives in their Playbook.
Retros are important; give them a try! They are one of the best tools I know to evolve a team.
What are your thoughts on this? Let me know!
Get better at programming by learning with me! Join my 100+ subscribers receiving weekly ideas, creations, and curated resources from across the world of programming.