Sunday, November 22, 2015

10 valuable lessons for agile retrospectives

"Today should always be better than yesterday" - mother of Gabby Douglas, the first African American to win individual all-around gold and the first American to win gold in both the individual all-around and team competitions in gymnastics.

A retrospective provides the opportunity for teams to get together and tweak "something" so they can achieve better results than before. Teams use retrospectives for joint learning, making a decision, choosing an action or strengthening a common bond. In Scrum, retrospectives are held at the end of each sprint. Kanban is non-prescriptive about retrospectives, but most kanban teams end up doing retrospectives at a regular interval or as-needed basis.

Some teams resist the retrospectives and lose them entirely. Why does that happen and what is the impact? Well, that's another article for later.

Here we look at the positive, and how agile teams use retrospectives to their advantage. This list is just a small subset of many possibilities on what agile teams can do in a retrospective!

10 valuable lessons for agile retrospectives

  1. Discover team strengths, weaknesses and opportunities: Retrospectives help team members discover what the team is doing well and where it can make improvements.

  2. Raise the bar on team performance: Based on the strengths and weaknesses, agile teams inspect and adapt. They either improves their performance or helps them adjust to new situations and stay on course.

  3. Review data, important trends: Scrum Masters and other team members may collect important data and trends and review with the team during the retrospective. The data can be a generic trend or related to a specific issue that the team would like to resolve or anything else relevant to the team. Looking at the data together usually produces new insights for all team members. It helps to find better ways to resolve the problem.

  4. Prioritize problems that the team must address: Teams usually identify multiple issues and areas of attention during the retrospective and then they narrow down to the most important ones for them to solve.

  5. Solve difficult problems: Sometimes teams may already know of a problem that must be solved. In retrospectives, teams may deploy various problem-solving techniques, such as root cause analysis or five whys, or even discussing the results of an A3 process together.

  6. Ask for organizational and leadership support: Depending on the organization, some problems may be beyond the team's sphere of influence. By prioritizing and discussing possible solutions, the teams can make a case for change that would impact them positively.

  7. Cheer, appreciate, express gratitude: Retrospective can be a forum to celebrate success on completion of a hard initiative or a specific activity that the team undertook. Teams can utilize retrospectives to bond together and appreciate each others' strengths and contributions and thank each other for critical help in completing or making progress towards a goal.

  8. Support each other: A healthy team harnesses and extends ideas from its members. Retrospectives are an opportunity to strengthen some of the beliefs and the ideas that team members want to adopt. In that process team members support each other and make progress on what they think is important.

  9. Challenge each other: Not only are the retrospectives meant for supporting ideas, they are also meant for challenging ideas. Challenging ideas helps the team narrow down to one or few ideas that the team wants to try.

  10. Experiment: Teams, Scrum Masters, and facilitators can and should experiment with how they conduct retrospectives. They can vary the format, agenda, and results they want from the retrospective. They may also just use the retrospective to have a conversation to make changes that are needed.

Lastly, even if you are a Scrum team, please do not wait for a sprint-end retrospective to have a conversation with your team about important issues that you need to solve.



  1. Love it. Good post, Rahul. I like that you included "Ask for organizational and leadership support." Too many times teams think they just have to grin and bear it. It is their job to zealously (and clearly) ask for what they need to meet their commitments.

  2. very good read. Thanks Rahul.


14 Essential Software Engineering Concepts for Engineers and Managers

There are many terms and concepts that are important for an engineer to be familiar with, in order to effectively build software. This post ...