Concept: Retrospective
Retrospectives provide a way for monitoring the health of a project and helping the team learn from lessons.
Relationships
Related Elements
Main Description

Retrospectives, as applied in software development, have historical roots in Project Retrospectives described as:

"A ritual held at the end of a project to learn from the experience and plan changes for the next effort." [KER01]

While Retrospectives conducted at the end of a project remain valuable, the spirit of Retrospectives should be imbued across the project continuum, conducted at key project milestones:

  • At the end of project iterations
  • After releases
  • Immediately upon occurrences of key project incidents (significant unexpected events).

When the practice of Retrospectives is intimately intertwined with the processes of the project, the health of the team is constantly monitored, the "heartbeat" of project progress is readily measured, and the team hones an awareness of opportunities for improvement and increased productivity. A symbiotic relationship emerges between an evolutionary development process and a Retrospective that supports the various methods of inspection and adaptation.

The iteration, incident, and project Retrospectives are designed, in part, to calibrate the team's progress with the goals of the project. Several methods can be used to incite the Retrospective team to begin their collective investigative work, such as posing the following three driving questions to the team:

  • "What worked well for us during the past iteration (or project, and so on)?"
  • "What did not work well for us during the past iteration (or project, and so on)?"
  • "What should we do differently, or what improvements should we undertake during our next iteration (or project, and so on)".

The questions are expected to generate actions that will assist the team in prioritizing suggested improvements for the project, to be implemented during the subsequent cycle. In addition to the aforementioned investigative questions, a Retrospective should include steps that provide structure for the team's focus and resulting work.

An effectively facilitated Retrospective will create an environment that is conducive to various practices of inspection and adaptation. The methods of inspection and adaptation are project control mechanisms that assume, and respond to, the existence of complexity, unpredictability, and constant change. Practiced in the context of a Retrospective, the methods of inspection and adaptation produce a feedback loop from which flexibility, responsiveness, and reliability are realized.

The mere execution of Retrospectives is insufficient without an organizational commitment to a collaborative culture. The success of Retrospectives is directly proportional to, and necessarily contingent on, an environment that engenders highly motivated and performing teams (not the individual), nurtures open and frequent communication, and provides a thriving sense of dedication to the team community. Retrospectives embody the spirit of team collaboration and self-reflection by offering an environment in which teams are encouraged to provide feedback and identify lessons learned. The compositional aspects of the team are crucial in supporting the highly collaborative nature of Retrospectives, enabling the team to produce insight(s) into improving the processes of the project.