A two year long software project completed recently and not wanting to lose the learnings that we had gained, we decided to run a team retrospective that would be fitting for such a substantial piece of work.

One of the biggest challenges with any retrospective is remembering what happened, particularly over such a length of time as two years. Even in a two week iteration retrospective, people often say things like “I can’t even remember what happened yesterday, let alone last week”.

For the team involved, a project of this size is like going on a long journey together, very often a journey into uncharted territory. There will be large challenges, some insurmountable, that the team have to get over or get around. This, combined with the length of time the team are together, means that unique friendships and bonds are formed.

I often use metaphors in the retrospectives that I facilitate to help trigger reflective thinking. And in this case the journey metaphor seemed like a great theme to run with.

With the theme decided, I next needed to start triggering reflective thought processes amongst the team, without distracting them too much during what was a very busy period of time. A week before the retrospective I sent a calendar invitation briefly explaining that we would be holding a retrospective to reflect on the project.

I then followed that up at the next Daily Standup. I explained we would be holding a project retrospective and as part of that I wanted them to bring artefacts that represented souvenirs of the project.

As the final piece of stage setting, I sent out the following flyer to the team the day before the retrospective:

The use of images on flyer; the departure lounge, departures board, postcards and of Rio de Janeiro, were intended to set the scene. The narrative was intended to do the same:

“We’ve just been on an epic journey together, we’ve shared some good times, some sad times, and hopefully had a few laughs. We’ve definitely all grown as a team.

No journey would be complete without the explorers getting together one last time before they head home and reflecting on how far they’ve come.

So let’s get together tomorrow to send those last minute postcards that you meant to send (but were having too much fun). Let’s laugh and cry (maybe laugh/cry) about the souvenirs we’ve collected, what they mean to us now and what we hope they will come to mean to us in the future.”

I also reminded them to think and be prepared to talk about the following for their chosen souvenir:

  • Describe the souvenir, what it meant to them.
  • Why was it important to the team?
  • What can we learn from this souvenir?

On the day of the retrospective, we gathered in our largest meeting space, which conveniently has a large glass wall down the length of it. On the wall I placed large post-it notes along the top which represented months within the project, starting from October 2012 and ending in December 2014. I didn’t put a post-it up for every month, instead I spread them at quarterly intervals.


I then set the scene regard what we were here to-do today. I reminded the team that a long running project was like a journey together and although the project was near complete, we were now sitting in the departure lounge on the final leg of the journey home. This was the last time that team would be together in this way and it was a chance to reflect on the journey we’d taken, including the lows and the highs, what we learned and what we would do differently next time.


The first thing I asked the team to think about was when each of them had joined the project. I also asked them, if they could, to recollect their thoughts on joining. I handed out a set of Arrival Cards that look like the following:

I asked them to complete the cards before placing them on the timeline in the appropriate spot. They used the “Anything to declare” area to write down their recollection of their initial thoughts on joining the project.


I then asked the team to remember the people who had been on the project but had already left. I asked them to complete both an arrival card for when that person had started on the project and a departure card for when that person left the project. They chose to use the “Anything to declare” sections to write something memorable about that person.

The arrival and departure cards for each past team member were then added to the timeline.


The next stage of the retro was to consider the souvenirs that the team had bought. I asked the team to go around the table and to each talk about their particular souvenir using the following as their guide:

  • Describe the souvenir, what it meant to them.
  • Why was it important to the team?
  • What can we learn from this souvenir?

Once each team member had discussed their souvenir, I asked them to place it on timeline at the point they had collected it. Some of the souvenirs were objects that were too large to place on the wall, so they placed a text or drawn version on the wall instead.


To give the team a break from the timeline and to give the team members an opportunity to give each other some feedback, we ran an activity that I found on Nomad8’s blog - Postcards from the Edge.

Each team member was given a pre-stamped postcard, we then asked them to write their name and address on the postcard. The next part takes a little setup and a few rules:

I explained that we were about to pass our postcards around and ask each team member to write a message to the recipient. But, it was important that you don’t see your postcard again until it arrived in post as it would spoil the surprise.

We used the following simple rules:

  • Pass your postcard to the right.
  • Write a message to the addressee of the postcard, sign your message.
  • The postcards aren’t big, so be legible and concise
  • When you spot the postcard you are writing is intended for the person on your right, give it to your friendly Agile Coach.

As each postcard was passed around the circle there was minimal chatter, as everyone got down to the serious business of writing 20 or so postcards.

I collected the postcards up at the end of the session and put them in a postbox on the way home. My postcard arrived on the following Saturday, it made me smile (I hope it made the others smile too).


After a small break, we then returned to the timeline. After reflecting on what we had added so far, I asked the team what further significant events there were that we could add to the timeline.

What followed was a fairly free-form activity, where groups, pairs and individuals discussed the timeline and added further items on post-it notes.

As the team's effort ebbed and flowed, I checked in with the team whether there were more events to add. I tried to jog memories of the types of things that might have been significant, for example, the first release. Once they were sure there were no further significant events, we moved to final stage of the retrospective. The timeline now looked like this:


We then used the following headlines to discuss our learnings:


We nominated a scribe for each headline and held a group discussion. We asked that members of the group indicate which headline they were calling out an item for first.

We gathered approximately 6 items for each headline. Some examples included:

  • Getting things done (what worked well)
  • How to have fun (what we learned)
  • Keep talking - works well! (what worked well)
  • Taking charge (what worked well)
  • Mobbing & peer programming works most of the time (what we learned)
  • Agree on common stuff (what we should differently)
  • Set realistic/measured goals (what we should differently)
  • Working with other teams on the same code base (what still puzzles us)
  • Environments (what we need to discuss in greater detail)

Once the discussion was complete, we had a beer or two and informally discussed some more. Before everybody left I asked for feedback on the retrospective, a retro of the retro. I asked them to post, in the form of post-its and one item per post-it, what worked well and what they would like to change.


As the timeline demonstrates, the format was definitely successful in provoking reflective thinking and gathering information. This enabled us to reflect on the important part of the retrospective, generating learning, in a much more relaxed manner

Also, the layered approach to communications was important as a way to start thought processes, without distracting the team too much from their day-to-day work.

My learnings from facilitating a project retrospective in this way are:

Providing a common metaphor is a great way to align everybody’s thinking and is a powerful way to trigger thought processes. In particular it helps relate to our current problem space by being able to observe it from a different perspective.

Seeding the team a few days before the retrospective was a great way to trigger thought processes. This was done by sending out the meeting invite, following up at the standup and finally, sending out the flyer.

During the retrospective itself, using focussed questions to gather specific information before asking more open questions, helped trigger memories of related events. In this case we used arrivals and departures to start populating the timeline.

Midway through the retrospective, distracting linear thought processes to promote lateral thought also gave the team a break. In this case I used the Postcards Back Home activity.

And finally, the use of beer at the end of the retro operates as an incentive, reward and also triggers more honest feedback.


Blog Logo

Paul Flewelling



Making Stuff

Fairfax Media NZ Product Tech: coding at the cutting edge of media

Back to Overview