What are Retrospectives

Retrospective (from Latin retro - "back, behind" spectare, "look, consider, observe" generally means to take a look back at events that already have taken place.

In software development the term “Retrospective” is used as a term for a meeting held at some point during a project / project iteration to take things to a meta level and tune the process to make the team more effective.

In retrospectives the team looks back at a defined period and

  • Inspects what was successful about the project in the time period covered in regards to people, relationships, process and tools
  • identifies the aspects of the process to keep as well as concrete potential improvements and
  • decides on a plan to implement the improvements to the way the team is doing its work

Retrospectives are a way to implement the following agile principle: “At regular intervals, the team reflects on how to become more effective, then tunes and adjusts its behaviour accordingly” . Retrospectives are an implementation of this principle. They also fit into Scrum values as Scrum is founded on empirical process control theory, or empiricism, i.e. reflecting about the process and gathering feedback and  making decisions based on what is known.

As a meeting there are numerous methods used to moderate this meeting from a simple structure of three questions:

  • What should we start doing?
  •  What should we stop doing?
  • What should we continue doing?

over the classic five steps:

  1. Set the stage
  2. Gather data
  3. Generate insight
  4. Decide what to do
  5. Close the retrospective

to creative games such as “pirate retrospective” – you spend the retrospective talking about your project or the last sprint in pirate metaphors.

While mainly associated with Scrum as a prescribed event, retrospectives are used in other agile processes such as Kanban, when the team feels they are appropriate.

See also description of scrumalliance.org