Time. There never seems to be enough of this precious commodity. And the perceived lack of time is frequently used as a reason to quickly move from one project to another. In the case of Agile software development projects, the post-sprint retrospective is a common casualty in a perceived effort to save time and get on to the next thing more quickly. An Agile retrospective is a meeting that's held at the end of an iteration where the team reflects on what happened in the sprint and identifies actions for improvement going forward. Teams that bypass retrospectives are likely not saving time at all.
“Effective retrospectives are lessons-learned meetings that result in concrete actions and experiments for the next iteration,” said Tim Baumgartner, Scrum Master at TDK Technologies. “A lack of retrospectives leads to a lack of follow through and accountability.”
Baumgartner said the best time to hold the retrospective (retro for short) is prior to planning for the next sprint. That’s because the action items can directly affect that next iteration. He schedules retro sessions to last about an hour-and-a-half, but notes they can be run longer or shorter depending on the nature of the project. Baumgartner believes the five stages outlined in the book, Agile Retrospectives, Making Good Teams Great, by Esther Derby and Diana Larson offer a solid approach.
Set the Stage
Baumgartner said the first step is among the most important. Setting the stage establishes the focus for the retro by sharing the plan with the group and laying out how the team will work together during the session. He suggests starting with a simple welcome and appreciation for the team’s investment of time. Then everyone in the room gets a turn to speak.
“It can be just one or two words. But it allows everyone in the room to hear what the others are thinking,” Baumgartner said. “When someone doesn’t speak at the beginning of the retro, that person has tacit permission to remain silent.”
Baumgartner likes to use a Focus-On, Focus-Off activity to break the ice. This is an 8 to 12 minute activity that involves establishing a positive mindset that can foster productive communication and basic working approach for the entire retro. It emphasizes inquiry over advocacy, dialog instead of debate, conversation as opposed to argument, and understanding rather than debating.
“Don’t set the goal for the retro to determine what went wrong. Set positive goals on ways to improve the project; on what we are doing well.” Baumgartner said. “One of the big things is to not just look at the negatives. But instead, think about the roadblocks and the misunderstandings that may have played into the problems. This is an approach you can carry to other retros as well.”
It is also recommended to focus on specific areas and set all other issues to the side for purposes of the retro. Choose a focus that reflects what's going on for the team.
“This is very important. It is much better to establish one focus and set everything else aside than to have a laundry list of things,” Baumgartner said.
The next step is an opportunity to create a shared pool of data that considers both objective and subjective experiences to help the team sort through the issue at hand. The subjective experience information deals with “feeling data” and can be generated using some specific activities.
- Triple Nickels:
- 30-60 minutes to generate ideas for actions or recommendations.
- Divide up into small groups of 5 or less.
- Each person has 5 minutes to individually brainstorm. Each passes their paper to the right and repeats the process by expanding on the ideas.
- Repeat until the paper returns to the original owner. Debrief as a group.
- Triple Nickels Debrief:
- What did you notice while you wrote ideas?
- What was surprising? What was not? Why?
- What is missing from the lists?
- What ideas and topics should we examine further?
- Triple Nickels Debrief:
- Mad, Sad, Glad:
- 20-30 minutes to get the “feeling” facts out in the open.
- Color coded sticky notes to describe time where they were mad, sad or glad. Cluster, title and debrief.
- Mad, Sad, Glad Debrief:
- What stands out?
- What was unexpected about the cards? What was difficult about the card topic? What parts felt positive?
- What patterns do we see in the cluster? What do those patterns tell us about our team?
- What does this suggest for our next step?
- Mad, Sad, Glad Debrief:
“You are presenting the hard facts. But you also want to get to the feelings data and begin to put some of the reasons behind those hard facts,” Baumgartner said.
The next step attempts to understand systemic influences and root causes that have emerged in the retrospective. This involves reviewing the data to observe patterns, build shared awareness and to identify system effects that may be at work. It is also important to move beyond habitual thinking.
“This is where you get into the reasons for what happened. Generally, gathering data flows pretty seamlessly into generating insights. Try to focus on things within the control of the team, not something outside the room,” Baumgartner said.
Activities that help generate insights include Fishbone, Asking the Five "Whys?" or Force Field Analysis (which is outlined here):
- 45-60 minutes when proposing a change, to determine what factors will support or inhibit the change.
- Each group works for a few minutes to identify and present factors. As a group, they score the factors and examine.
- Force Field Examination
- Ask: How can the driving factors be strengthened and how can the restraining factors be mitigated?
- Ask whether enhancing driving factors or reducing restraining factors is more likely to achieve the desired state.
Decide What to Do
Next in the process for an effective retrospective is laying out the plan, where the team moves from discussion to action. Baumgartner believes it is important to settle on no more than two actions or experiments.
“You need to select what the team has energy to accomplish. Don’t select a grandiose action that could have a huge impact, but is so grandiose that the team can’t accomplish or have the energy to complete,” Baumgartner said. “And it has to be something that can be done within the team within the sprint. If it is something that is an extra task for someone that would take time away from normal duty, that usually gets pushed off as a secondary thing to accomplish. Those don’t succeed very often.”
An important activity for this step of the retro involves applying the SMART test to potential action items the team has identified:
- 20 – 60 minutes to translate ideas into priorities and action plans.
- Evaluate goals to validate that they meet the SMART Goal characteristics - Specific, Measurable, Attainable, Relevant, Time-Based
- Select goals that do, discard goals that do not?
“Don’t look at them as action items that will fix the problem. Look at them as experiments. It’s something to review in the next retro to see if it worked or not. That incremental change, as opposed to constant change, allows improvement to be made over time,” Baumgartner said.
Close the Retrospective
Baumgartner believes the last step, along with the first, are the two most critical steps in a retro. To close things, it’s important to reiterate actions and the follow-up needed. The conclusion is also an opportunity to identify ways to make the next retrospective better.
“Set individual commitments, otherwise people will assume 'the team' will do the work and then no one does it,” Baumgartner said. “Leave with a concrete plan and accountable parties clearly identified.”
There should also be time set aside to appreciate contributions. Allow the team to thank someone else and to appreciate one another.
“It’s important to set the environment for a retro session that is welcoming; a place where people can speak and where there won’t be retribution,” Baumgartner said. “The way I think about retros is that they can change the way people think.”
More information about TDK’s approach to effective software development is located at https://www.tdktech.com/tech-talks/software-development.