When we talk about Agile, we use the phrase “Inspect and Adapt”. "Inspect and Adapt” is a powerful aspect of agile. We inspect the progress of the game and adapt our plans to the reality of what is emerging. This is the purpose of the Sprint Review and Planning meetings. However it also applies to how we are making the game as well. This is the purpose of the Sprint Retrospective meeting.
The Sprint Retrospective is possibly the most important and neglected practice in Scrum. The goal of the meeting is to promote continuous improvement in how the team creates value in the game. This is accomplished in the Retrospective by asking key questions about the practices that benefited the team or worked against it during the last Sprint and to identify new practices that should be started during the next Sprint.
The Retrospective is where much of the long term change of the Scrum practices occur. The changes don’t necessarily have to be large ones. A one percent improvement in the effectiveness of the team every Sprint will compound into huge improvements over the long term.
The Retrospective meeting occurs following the Sprint Review. It run by the Scrum Master and is time-boxed. The amount of time spent in the meeting is determined by the team. The meeting is for the benefit of the team but anyone can attend.
This is done by answering three questions in the meeting:
What worked well last Sprint that we should continue doing?
The practices that worked well during the previous Sprint should be identified and continued in the coming Sprint.
What didn’t work well last Sprint that we should stop doing?
The team or customers should identify practices that worked against the team during the last Sprint and focus on stopping those things during the next Sprint.
What should we start doing?
The team identifies practices that should be implemented during the coming Sprint that will help them work better together.
People outside the team can offer suggestions as well. Some in the Scrum community suggest that the meeting is only for the team, but I believe that if a team interacts with people outside the team during the Sprint, then including these people in the Retrospective is valuable.
The Scrum Master will record all the answers given for each question. Unlike the Daily Scrum, there is a lot of debate and discussion that occurs during the Retrospective. The Scrum Master should mediate these discussions to keep the meeting within it’s time-box, but otherwise allow the discussions to occur.
Action items the follow from the answers don’t necessarily have to be assigned during the Retrospective. Below are some examples of answers to the question “what should we start doing” and some potential actions that could result:
“Start having QA approve all tasks marked “done” if possible”
This doesn’t require an action item as it would be a practice for the entire team to adopt.
“Make sure Joe tests his animations before committing them”
Clearly Joe has to follow up on his animation testing, but since this has to happen daily, there doesn’t need to be an action item.
“Have the build server send an email when the build is broken”
There might be an action item for the Scrum Master to pass along this request to the team that maintains the build server. If the team has a programmer who can implement this change, then the action might be to add this request to the team’s backlog.
Following the Retrospective, the Scrum Master will post the answers given during the meeting in the team area. During the following Sprint the Scrum Master will check off all the items that have been accomplished on the list. During the following Sprint’s Retrospective, any items left unchecked from the last Retrospective and discussed. These items can be either carried forward to the next Sprint or removed from the list based on what the team decides.