Retrospectives are an essential tool in Agile software development. Whatever methodology you use, as long as you develop software in iterations you will have retrospectives after each of those (and if you don’t: shame on you, my friend).
Retrospectives help the team to take a step back from the day-to-day business and to reflect on what’s happened in the past iteration. The team gets to discuss about problems and risks, annoyances and moments of frustration, but also about success stories and progress. The intention of this is to find a way to eliminate the bad and encourage the good things in the future.
Every retrospective will be facilitated by one person (the facilitator) who will prepare and setup the retro and guide the team. There are different approaches on how to facilitate a good retro and there are more books than you will want to read about that specific topic so I won’t go into detail here 1.
In our team at ThoughtWorks we take turns on who will facilitate the next retrospectives. This week I volunteered to facilitate the retro for our team and so it was my turn to prepare the session. I have facilitated a couple of retrospectives since I’ve joined ThoughtWorks. My previous approaches to gather data for the team to discuss about usually revolved around the classic questions of “what was good?”, “what was bad?”, and “what puzzles me?” or some slight variation of these. This is a very easy and proven concept. The team is familiar with it and it gets the job done. On the other hand the terms “proven” and “familiar” indicate that it tends to be pretty boring for the team. And boredom is nothing you’d want if you want to push the team to get creative and open before starting a discussion.
In order to make the next retro more interesting again and to get the creativity flowing, I wanted to try something new instead of following the well-known and easy path. But where to start? I am far from being an experienced facilitator. I’ve read The Retrospective Handbook by Pat Kua (which I can totally recommend, it’s a quick and enjoyable read and really helps you keeping everything in mind for preparing retrospectives) and facilitated a handful of retros that got the job done but that’s about it. There’s no vast pool of experience that I could rely on.
Luckily enough there’s a nice place for inspiration online that a colleague showed me a couple of weeks ago: the Retr-o-mat has a very nice collection of ideas and approaches for the individual phases for a retrospective. And on top of it it will automatically generate a fully fledged plan for your next retro by randomly picking one of the concepts for five typical steps in a retro’s agenda.
Introducing five new concepts for our team in the upcoming retro was more than I wanted to do. For once we only have limited time and I want to get the most out of it instead of spending most of it explaining new games and approaches to the team. Secondly we are not that strict when it comes to the agenda of a retro. So instead of picking a completely generated plan I started browsing through the individual suggestions for the “Gather Data” and “Generate Insights” sections.
Eventually I stumbled across the “#tweetmysprint” idea by Thomas Guest and found it to be really interesting. It suggests using Twitter’s Tweet format to let the team write their thoughts about the past iteration and ordering it in a timeline. I decided to let my retro revolve around exactly this concept. As it turns out it was a great idea. Our team had lots of fun and we got some really interesting results out of it.
The concept in a nutshell
You start off describing the concept to the team. The team gets to write a couple of Tweets about the last iteration on sticky notes. #hashtags, @mentions and emojis are highly encouraged. Next you organize all these Tweets into a timeline and read it out loud. Every teammember gets to vote on the Tweets he or she wants to discuss about using Retweets and Favourites. You organize the highest voted Tweets into Trending Topics and give the team time to discuss about these in more detail.
It turns out that the Twitter universe offers everything you need for a retro. Restricting the opinions on the sticky notes to Twitter’s 140 characters limit is a good lesson on brevity and conciseness. It is challenging to stick to this format and therefore will result in some really creative answers. Hashtags, Mentions and Emojis offer some unique opportunities. Mentioning someone in a Tweet can be used to appreciate a specific person or to celebrate success. Hashtags are a great concept to put additional information, emotion or funny references into the short Tweet format.
As usual make sure to have a room where the whole team fits and can talk and discuss in an undisturbed way. Get enough sticky notes and pens for everyone. Make sure to pick the right format for the sticky notes. I’ve found a wide rectangular shape to be fitting (obviously resembling the format of one single Tweet).
Print enough of the Tweetrospective Sheets at the end of this post for your team and cut out the Retweet and Favourite icons. Prepare a bunch of these icons for each team member and hand them out together with the sticky notes and pens.
Facilitating the Retro
Facilitating your Tweetrospective won’t be any different from other retros. Try your best to set a scene where everyone feels secure and comfortable. Writing Tweets allows to get creative and share short thoughts in an entertaining way with others. This could be a good opportunity to break the ice in a team.
Presenting the Concept
There might be people in your team who don’t know the concept of Twitter. Even if you think everyone is aware, it’s a good idea to recap what Twitter is and how it works to set the scene for all participants. Make sure to explain the concept of Twitter and to describe the whole vocabulary around it. Tell the team what type of content gets published on Twitter. Mention the 140 characters limit of Tweets, Hashtags, mentioning other users and Emojis.
Give the team around 10 minutes (feel free to vary) to write as many Tweets as you consider suitable (personally, I gave no limit)
In my Tweetrospective I prepared one example Tweet on a sticky note that included hashtags, mentions and emojis to show off what was possible. The content of this example Tweet was just a reference to one of our team’s inside jokes which laid out the foundation for a lighthearted atmosphere and got the idea across easily.
It might be helpful to give your team a couple of examples of what they can write about. Possible Tweets are success stories of the last iteration, stories of failures, lessons learned, rants, appreciations of others or shameless plugs of something a teammate has been up to.
Usually, Tweets always contain the author’s name. To stick to the concept of Twitter as close as possible, your Tweetrospective’s Tweets could also contain the name of the individual authors. However, this might influence the safety levels of your teammates. I decided to encourage the team to write their name on top of each Tweet if they think it’s suitable for the content. However, if they prefer to stay anonymous they could simply write “anonymous” instead.
Organising the Timeline
After the time is up, collect the individual Tweets and arrange them in a timeline. Read out the timeline to the team. This is probably the funniest part since reading out hashtags and emojis is something unusual and offers a great potential where people can get creative.
Retweets & Favourites
You’ll want to find out which topics are most important for the team to discuss. Instead of relying on dot-votes or something similar, you can - once again - use Twitter’s mechanisms for that. Let everyone put Retweets and Favourites next to the Tweets they are most interested in for the upcoming discussion. Everyone can use the cut-out icons you have prepared previously. In our Tweetrospective I made no difference between the semantics of Retweets and Favourites. However, you could also consider applying different semantics to Retweets and Favourites respectively. A possible way would be to say that Retweets are considered as votes for the upcoming discussion while Favourites indicate that you want to put emphasis on a Tweet’s content (e.g. underline the appreciation of a teammate).
After everyone has gone wild with their Retweets and Favourites you can identify the most voted-on Tweets and re-arrange them to the Trending Topics. Go through these trending topics from most to fewest-voted and let the team discuss the individual contents.
From here on it’s all discussion for the team. Just make sure to moderate and guide the discussion as you would usually do and extract action items out of it.
A Tweetrospective can be done easily and without much preparation. Just make sure you have enough sticky notes, pens and a whiteboard for everyone. You can simply let everyone draw Retweet and Favourite icons on the whiteboard right next to the sticky note Tweets.
If you want to step up your Tweetrospective game and save some time during the voting phase (drawing Retweet and Favourite icons seems to take quite some time) you can also print out the following Tweetrospective Sheets and cut out the icons for your teammembers before the retro.
The Tweetrospective we had was a really fun and insightful session for our team. I plan to repeat it again some time in the future. Perhaps I could get the idea across and inspire someone to try it out themselves. If you give it a try feel free to share your experience. If you find something to improve or criticise just leave a comment in the comments section.
If you’re interested in this topic you can find a comprehensive guide in Derby’s and Larsen’s Agile Retrospectives: Making Good Teams Great ↩