SN-Logo NewSN-Logo NewSN-Logo NewSN-Logo New
  • Agile Training
    • Scrum Master
    • Scrum Product Owner
    • Leadership Development
    • Private Workshops
    • Calendar
  • Enterprise Solutions
    • Unstoppable Program
    • Agile Keynotes
    • Private Workshops
  • Products
    • Personal Agility Book
    • Ten Agile Contracts Book
    • Extreme Manufacturing Explained
  • Blog
  • About
    • Peter B. Stevens
    • Scrum
    • Personal Agility
    • Saat Network
  • Contact
0

CHF0.00

✕
Scrum Breakfast June: Agile Management
03-05-2011
Making your Company a Better Place
19-05-2011

How we do a retrospective

Published by Peter Stevens on 05-05-2011
Categories
  • how we do
  • retrospective
Tags

I consider the retrospective to be the most underrated meeting in the Scrum Flow. Since it is not about the concrete results of the project, there is a certain temptation to ignore it. It is easy to fall in to the trap that “there is always something more important to do.”

Still, each Sprint should produce two results: 1) A product or service which is an increment of functionality closer to delivery and 2) a better, happier, more productive team. The retrospective is the primary opportunity for achieving the second result.

There are many ways to do a retrospective. Variety is the spice of life, and few areas are in need of more spice than a retrospective. So feel free to vary your approach, the questions, the focus, the location, the moderation, etc to keep the energy level up. The retrospective format described below takes about 2 to 3 hours, depending on the size of the team and your timeboxing. I like to use this format when getting started. It is also suitable for reflecting on a longer time-frame, e.g. a quarterly release or for reflecting over organizational boundaries.

A retrospective should identify and prioritize actionable suggestions to improve performance. As moderator of a retrospective, my goal is to get everyone to contribute to the discussion. I seek to channel discussion and debate to the proper moment, but also to prevent un-constructive discussions. I usually go through the following steps:

  1. Establish safety
  2. Identify the facts
  3. Identify the team’s strengths
  4. Collect ideas for improvement
  5. Consolidate and prioritize the ideas.

Establish safety

Why establish safety? Very simple, so that people can talk freely about what happened and what could be better, without fear of consequence. If people are afraid of the consequences, they will be unwilling to talk about substance.

Sometimes it can be helpful to talk about the retrospective prime directive. I have also asked each team member to introduce him or herself and answer some questions about the story of their lives. And sometimes it is even useful to have a secret vote on how secure people feel about talking about their situation.

For the remainder of the retrospective, the following pattern is an easy way to get everyone to think about the question at hand, communicate their most essential points, and listen to what the other people have to say.

  • individual reflection – each person, thinking for themselves, writes down their points on sticky notes (one idea per sticky note!), then posts them to a common area on the wall. I usually time-box this to 2 or 3 minutes and encourage everyone to write down at least 5 points.
  • presentation – each person presents to the group what they wrote down. (I strictly time box this part to 2 minutes per person). Clarifying questions are allowed. Debate is not. No-one has to defend themselves while presenting their facts or ideas.
  • group discussion/debriefing – after everyone has presented, then I let the group discuss what they have heard. This is also my opportunity to ask illuminating questions about the topic.

So each of the following points goes through the same scheme of reflect – present – discuss.

Identify the facts

Here I ask the team ‘what happened?’ This is about facts and events, not opinions or judgements. The idea is to build a common understanding of what happened and what was important during the period. If this is a sprint retrospective, then then time frame is simply the sprint. Sometimes a team will want to reflect over a longer time period, say 3 months.

I like to draw a time line on a flip chart in landscape format, then I draw a 🙂 and a 🙁 on the y-axis. Just as the people are about to put their stickies on the wall, I ask them to position the sticky horizontally in time and vertically by how it moved them (happy or sad). The resulting distribution paints a surprisingly clear picture of the team’s emotional state. (BTW – I discourage the team from thinking about high and low points while they are writing – that’s already focusing in, which is contrary to the objective of this step, i.e. is to open up and let the information flow).

On debriefing, I first ask if the team has forgotten anything important. Then I continue with a very open question to start the discussion (‘OK guys, what do think?’ or ‘How do you feel about what you see?’) Often different participants will have brought up complementary or even contradictory perspectives on the same event which are worth illuminating in more detail. (My favorite example: Sales: ‘I asked development for estimates but, as usual, they didn’t have time. So I had to estimate the project myself.’ Development: ‘We got yet another project from Sales which had been estimated without our knowledge or participation.’).

Identify the team’s strengths

I do not ask the team what it does badly. I think this gets people focused on the negative which is not helpful to improvement. I much prefer the positive formulation: ‘what do we do well’?  I like to ask this question for two reasons. 1) It gives the team a chance to pat itself on the shoulder — and it may need the opportunity if the results of the previous step were too ‘bottom heavy’. 2) I can see how well the team is functioning as a team.

Sometimes, after the team has presented its tickets, I ask the people ‘what should be on the list, but is not’. I don’t ask them to produce tickets, but just think about the issues.

If the team is performing at a high level, I would expect to hear them talk about craftsmanship, conflict and attention to results:

  1. Craftsmanship. A software team should be good a building software and master many of the modern engineering practices. So I would like to hear about their continuous integration server, their test processes, their pairing, their source code control, etc. If they are doing good engineering, they should be able to talk about it.
  2. Conflict. A well functioning team should be able to argue passionately about the subject matter, make decisions, commit and move forward. I like to hear evidence that the team is able to work effectively as a team. For instance: ‘It is the power of the argument, not the positional power which determines the winning argument.’
  3. Attention to Results – The team should be producing something which  a customer wants. So I would expect to hear about releases, communication with the customer or feedback from the user. In particular, the quality of requirements being presented to the team for implementation.

Obviously, if anything is missing, I will ask the team about the current situation: “I would have expected a top team to be proud of the their approach to testing. I don’t see anything about testing. How do you handle testing….?’

Collect ideas for improvement

The last question for the team is, ‘What could we do better?’ The objective is identify concrete improvement potential which the team could start working on tomorrow. Ideally the team has been well primed based on the previous discussion to come up with good ideas.

Consolidate and prioritize the ideas.

This approach produces many ideas. Too many, to implement all of them. Many will be duplicates or multiple suggestions to address a more fundamental problem. So after all the ideas have been presented, you need to create some order from the chaos. The team has to decide what it will really do.

As moderator, I go through the tickets one by one and ask two questions:

  1. Who can fix this issue, the team (people in the room)? Or is help from someone else necessary (e.g. management, another department)?
  2. Does this tickets belong together with some other ticket, or is it a new issue? For instance, there might be three different suggestions related to testing, and these might get grouped together on the common theme.

I usually group the tickets in two columns, one for own jurisdiction (the team can address the issue itself) or one for foreign or shared jurisdiction.
If there is some doubt as to who has jurisdiction over a particular problem, it is helpful to trim the scope of the ticket so that them team can take responsibility. Otherwise, negotiation is required with a third party, say management or another department. This will at least take time and may even call into question whether the idea can be implemented. A team can move much faster on issues for which it has jurisdiction. (Non-Scrum teams are often totally dependent on their management to get any improvements done at all! – No wonder Scrum teams are faster!!)

Once the tickets are grouped and consolidated, the team can prioritize the improvements, e.g. using dot-voting. Depending on the number of tickets in each column, the team might vote on each column separately or both columns together.

At this point the team has a prioritized list of improvements it can make to improve its performance and/or make it a happier team. Usually I suggest that the team stop at this point. The next day, just after the daily Scrum, the team should decide how many of the items it wishes to take on for this sprint and how to tackle those items.

It is better to commit to and succeed at implementing just one improvement rather than to commit to too many ideas and not get any of them accomplished.

I suggest taking a picture of the results and posting them to project wiki. I do not suggest keeping track of suggestions you decided not to implement. This list would become heavy baggage to carry around. If the issues are important, they will resurface in a future retrospective. It can however be quite satisfying to keep track of the improvements that you have actually implemented, both for you and your management.

Share
Peter Stevens
Peter Stevens

Related posts

01-04-2015

Should the Scrum Master validate the inputs from a retrospective


Read more
31-12-2014

How many people do you need in your team?


Read more
26-05-2014

The Three Faces of Done


Read more

3 Comments

  1. Unknown says:
    18-11-2012 at 16:14

    Hi Peter,
    thanks for the detailed description of your way doing retrospectives. It helped to find some more things I can try in our retros – e.g. I did not use the grouping + who can solve it before the voting, which topic to consider in detail.

    As you mentioned in the beginning its really important to energize the retrospective again and again, keep it vital and fresh as the tendency to a boring meeting is there if no variations occur.

    To address this top I tried to list various ways for variations at Evolving retrospectives – variations to avoid boredom – energize it – maybe you can share your opinion on it and maybe you have more variations to add?

  2. Peter says:
    18-11-2012 at 16:31

    Hi Sebastian,

    I agree wholeheartedly on the importance of keeping retrospectives energized.

    Your article has many good suggestions: A couple thoughts I would add to your article:

    1. Always commit to 1 point, and really do it! Nothing demotivates more than doing the exercise and not doing anything with the results.

    2. Limit the number of points you seek to address in a sprint to 1 or 2. Better to get 1 or 2 finished than have 5 "in progress".

    3. Put the selected items into the sprint backlog. Improving the team's performance is usually more important than getting the last few story points in the teams performance each sprint.

    4. Apply creative amnesia: Nothing weighs you down more than a list of things you haven't done, so don't keep a list of the things you didn't address. If they're important, they'll resurface in the next retrospective. If not, who cares about them?!

    Best,
    Peter

  3. Unknown says:
    18-11-2012 at 17:38

    Hi Peter,
    thanks a lot for the nice additions. I added them already 🙂

    We still note down the things we found – at least to remember later what we had as topics during the year. Sometimes this creates new ideas (e.g. when discussed with other teams) and it's management is not that time consuming.

    For points we found but did not address during the retrospective we apply what you call – creative amnesia. I completely agree with you – if they are important they will make it to the next retrospective.

    Regards,
    Sebastian

Learn more about Agile

  • Module 1 | Self-Leadership with Personal Agility |  June 6-7, 2023
    in Zurich
    June 06, 2023 -
    June 07, 2023
    Register Now
  •  

  • Certified Scrum Product Owner | Face-2-Face | English | Jun 29-30, 2023
    in Zürich
    June 29, 2023 -
    June 30, 2023
    Register Now
  •  

  • Certified Scrum Master | Face-2-Face | English | Jul 06-07, 2023
    in Zürich
    July 06, 2023 -
    July 07, 2023
    Register Now
  •  

  • Certified Scrum Product Owner | Face-2-Face | English | Aug 24-25, 2023
    in Zürich
    August 24, 2023 -
    August 25, 2023
    Register Now
  •  

Saat Network GmbH is a small, independent company dedicated to helping you discover and apply the values, principles and practices that will enable you to thrive in the 21st century.

Quick Links

  • What Really Matters – Peter Stevens’ Blog

High Performing Teams

  • Get Stuff Done
  • Get Right Stuff Done
  • Create Alignment
  • Leadership

Free Resources

  • Personal Agility Institute
  • Impressum
  • Terms and Conditions
  • Privacy Policy
© 2023 Saat Network GmbH. All Rights Reserved.
0

CHF0.00

✕

Login

Lost your password?

We use cookies on our website to give you the most relevant experience by remembering your preferences and repeat visits. By clicking “Accept All”, you consent to the use of ALL the cookies. However, you may visit "Cookie Settings" to provide a controlled consent.
Read more about our Privacy Policy
Cookie SettingsAccept All
Manage consent

Privacy Overview

This website uses cookies to improve your experience while you navigate through the website. Out of these, the cookies that are categorized as necessary are stored on your browser as they are essential for the working of basic functionalities of the website. We also use third-party cookies that help us analyze and understand how you use this website. These cookies will be stored in your browser only with your consent. You also have the option to opt-out of these cookies. But opting out of some of these cookies may affect your browsing experience.
Necessary
Always Enabled
Necessary cookies are absolutely essential for the website to function properly. These cookies ensure basic functionalities and security features of the website, anonymously.
CookieDurationDescription
cookielawinfo-checkbox-advertisement1 yearSet by the GDPR Cookie Consent plugin, this cookie is used to record the user consent for the cookies in the "Advertisement" category .
cookielawinfo-checkbox-analytics11 monthsThis cookie is set by GDPR Cookie Consent plugin. The cookie is used to store the user consent for the cookies in the category "Analytics".
cookielawinfo-checkbox-functional11 monthsThe cookie is set by GDPR cookie consent to record the user consent for the cookies in the category "Functional".
cookielawinfo-checkbox-necessary11 monthsThis cookie is set by GDPR Cookie Consent plugin. The cookies is used to store the user consent for the cookies in the category "Necessary".
cookielawinfo-checkbox-others11 monthsThis cookie is set by GDPR Cookie Consent plugin. The cookie is used to store the user consent for the cookies in the category "Other.
cookielawinfo-checkbox-performance11 monthsThis cookie is set by GDPR Cookie Consent plugin. The cookie is used to store the user consent for the cookies in the category "Performance".
viewed_cookie_policy11 monthsThe cookie is set by the GDPR Cookie Consent plugin and is used to store whether or not user has consented to the use of cookies. It does not store any personal data.
Functional
Functional cookies help to perform certain functionalities like sharing the content of the website on social media platforms, collect feedbacks, and other third-party features.
CookieDurationDescription
mailchimp_landing_site1 monthThe cookie is set by MailChimp to record which page the user first visited.
Performance
Performance cookies are used to understand and analyze the key performance indexes of the website which helps in delivering a better user experience for the visitors.
Analytics
Analytical cookies are used to understand how visitors interact with the website. These cookies help provide information on metrics the number of visitors, bounce rate, traffic source, etc.
CookieDurationDescription
CONSENT2 yearsYouTube sets this cookie via embedded youtube-videos and registers anonymous statistical data.
_ga2 yearsThe _ga cookie, installed by Google Analytics, calculates visitor, session and campaign data and also keeps track of site usage for the site's analytics report. The cookie stores information anonymously and assigns a randomly generated number to recognize unique visitors.
_gat_gtag_UA_42152348_11 minuteSet by Google to distinguish users.
_gcl_au3 monthsProvided by Google Tag Manager to experiment advertisement efficiency of websites using their services.
_gid1 dayInstalled by Google Analytics, _gid cookie stores information on how visitors use a website, while also creating an analytics report of the website's performance. Some of the data that are collected include the number of visitors, their source, and the pages they visit anonymously.
Advertisement
Advertisement cookies are used to provide visitors with relevant ads and marketing campaigns. These cookies track visitors across websites and collect information to provide customized ads.
CookieDurationDescription
NID6 monthsNID cookie, set by Google, is used for advertising purposes; to limit the number of times the user sees an ad, to mute unwanted ads, and to measure the effectiveness of ads.
test_cookie15 minutesThe test_cookie is set by doubleclick.net and is used to determine if the user's browser supports cookies.
VISITOR_INFO1_LIVE5 months 27 daysA cookie set by YouTube to measure bandwidth that determines whether the user gets the new or old player interface.
YSCsessionYSC cookie is set by Youtube and is used to track the views of embedded videos on Youtube pages.
yt-remote-connected-devicesneverYouTube sets this cookie to store the video preferences of the user using embedded YouTube video.
yt-remote-device-idneverYouTube sets this cookie to store the video preferences of the user using embedded YouTube video.
Others
Other uncategorized cookies are those that are being analyzed and have not been classified into a category as yet.
CookieDurationDescription
COMPASS1 hourNo description
cookies.jssessionNo description available.
S1 hourNo description available.
SAVE & ACCEPT
Powered by CookieYes Logo