Agile retrospective

The Agile retrospective can be thought of as a “lessons learned” meeting for the sprint.

An Agile retrospective is a meeting that’s held at the end of an iteration in Agile software development (ASD ). During the retrospective, the team reflects on what happened in the iteration and identifies actions for improvement going forward.

retro-fig-8-3-d-model3

 

Each member of the team members answers the following questions:

What worked well for us?
What did not work well for us?
What actions can we take to improve our process going forward?

The team reflects on how everything went and then decides what changes they want to make in the next iteration. The retrospective is team-driven, and team members should decide together how the meetings will be run and how decisions will be made about improvements.

An atmosphere of honesty and trust is needed in order for every member to feel comfortable sharing their thoughts. Kerth’s prime directive states, “Regardless of what we discover, we understand and truly believe that everyone did the best job they could, given what they knew at the time, their skills and abilities, the resources available, and the situation at hand.”

Because Agile stresses the importance of continuous improvement, having a regular Agile retrospective is one of the most important of Agile development practices. The Ninth Agile principle outlined in the Agile manifesto states, “At regular intervals, the team reflects on how to become more effective, then tunes and adjusts its behavior accordingly.” A framework, such as the one below, can be used to provide structure and keep discussion during the retrospective focused.

Set the stage – get the team ready to engage in the retrospective, perhaps with a warm-up activity such as Plus, Minus, Interesting (PMI) (5 minutes)
Gather data – create a shared picture of what happened during the retrospective (10 minutes)
Generate insights – discuss what was successful and identify any roadblocks to success (10 minutes)
Decide what to do – identify highest priority items to work on and put measurable goals on those items so they can be completed (15 minutes)
Close the retrospective – reflect on the retrospective and how to improve it, and to appreciate accomplishments of the team and individual interactions (5 minutes)

Most important part of retrospective is Action Plan :

agile-action-plan

Priority list of Twelve Principles of Agile from my perspective

Build projects around motivated individuals.
Give them the environment and support they need,
and trust them to get the job done.

Our highest priority is to satisfy the customer
through early and continuous delivery
of valuable software.

The best architectures, requirements, and designs
emerge from self-organizing teams.

Working software is the primary measure of progress.

At regular intervals, the team reflects on how
to become more effective, then tunes and adjusts
its behavior accordingly.

Welcome changing requirements, even late in
development. Agile processes harness change for
the customer’s competitive advantage.

Continuous attention to technical excellence
and good design enhances agility.

Deliver working software frequently, from a
couple of weeks to a couple of months, with a
preference to the shorter timescale.

The most efficient and effective method of
conveying information to and within a development
team is face-to-face conversation.

Agile processes promote sustainable development.
The sponsors, developers, and users should be able
to maintain a constant pace indefinitely.

Simplicity–the art of maximizing the amount
of work not done–is essential.

Business people and developers must work
together daily throughout the project.