Retrospective


Definition


According to the Cambridge dictionary, retrospective is defined as 'relating to or thinking about the past.'
An iteration retrospective is a meeting held at the end of an iteration in agile. A team will set aside time to discuss what has worked, what has not worked so well and what they think should be introduced to make the project work better. The outcome of this meeting will be applied to the next iteration of the project. Retrospective meetings will be held at the end of each iteration until the end of the entire project.
A retrospective is a process improvement tool used to evaluate and improve a process or project.


retrospective.jpg

Source: http://ieeexplore.ieee.org/stamp/stamp.jsp?tp=&arnumber=4599508&tag=1

Figure 1: Value-Stream


A retrospective addresses three questions:

1. What are the things that have worked?
2. What are the things that have not worked so well
3. What are the things we need to introduce to make things work better?



retrospective.png
Iteration Retrospective

Figure 2: Iteration Retrospective


Method of Retrospective Keep/Problem/Try (KPT)


Keep/Problem/Try (KPT) is a retrospective mechanism. It starts with the division of a white board into three areas. One team member writes a Keep, another to write a Problem and the last part is for Try. The keep column is for positive cases that will be kept and re-used in future. Members are applauded and appreciated for these. The problem column is a list of cases that bring about negativities. For these cases, the leader takes the lead in putting forth their opinion and it is important not to show negative feelings or blame members for these. The try items are especially important as they are listed to be tried during the next iteration.

Retrospective is the opportunity for the team to obtain feedback from themselves. The team can advance continuously based on the outcome of the retrospective. Even if the methodology adopted in the project is waterfall, Retrospective adds value to this methodology by taking time to meet.


Characteristics of a Successful Retrospective


The characteristics of a successful retrospective as described by (E.Gottesdiener, 2006) are as follows:

  • They are planned
  • They are held multiple times throughout the project lifetime
  • They involve the project community
  • They are led by a neutral, skilled facilitator
  • They use data from the project
  • They acknowledge that feelings count
  • They follow a structure
  • They are the basis for Change


Iteration Retrospective Leader


An iteration retrospective is led by a leader who does not have to be a professional in order to lead. They only need to be conversant with the role and practices of the retrospective and they should be ready to listen to feedback. Their attention is usually on the process and structure of the retrospective.

The rest of the team members are concerned with the content, discussion, disagreements and decision making of the process. They are focused on the goals of the iterative retrospective and tend to manage their part well in order to reach a positive outcome.

Functions of the leader


Iteration retrospective leaders set the stage in ensuring that the goals and agenda set for each iteration is reviewed with the team. They create a vision with the consideration of every team mates' ideas and perspectives during each iteration. By doing this, they try to increase input and output of team members during each iteration.They gather useful information about the team's progress by stepping back to view the team's creation and try to encourage members in order to improve output.

Below are some of the functions of an iteration retrospective leader:
  • Managing Activities: The leader is responsible for the activities that take place during a retrospective. This involves the establishment of a working team, setting milestones, brainstorming and prioritising jobs to help build the team. The leader will need to introduce each activity, monitor the meeting atmosphere and bring the meeting to an end when all is done.
  • Managing Group Dynamics: It is the responsibility of the leader to manage participants in an iteration retrospective. This involves the encouragement of quieter participants to be more outspoken and at the same time, managing the dominating ones so that they do not intimidate the quiet ones. They ensure that an agreeable environment is created to encourage full participation from team members.
  • Time management: A leader is sensitive to the needs of the team and is able to manage time effectively. A good way of managing time is by allocating time to each activity and ensuring that this set time is not exceeded.
  • Managing yourself as the leader: Retrospective leaders keep their views to themselves during discussion, thereby taking a a neutral position on most subject matters. If a retrospective leader wants to add his view to any discussion he leaves the role of a facilitator by handing the marker to another team member as a sign while he makes his point (he must however ensure he gets the marker back).


Benefits of Retrospective


An Agile Retrospective is held in order to achieve the following benefits:
  • Enactment: A retrospective allows a team to behave as such. It encourages participation form every member and allows the team to work and make decisions together.
  • Joint Reflection: A retrospective allows a team to come together and have a common reflection. When a reflection is done jointly instead of individually, the team can accelerate faster because heads are put together for brainstorming and more goals are met. Regular retrospectives will lead to fast development and growth within a team. It gives the team a planned opportunity to reflect on the events that took place during an iteration. During this meeting, the team can reflect on the successes and failures of the iteration and plan to work better on the next iteration
  • Overall improvement: A retrospective achieves improved capacity and quality of work. Productivity will improve because team members are clearer with regards to what is required of them and there is better trust and higher morale amongst members.
  • Closure: A retrospective helps bring closure to an iteration. An iteration, no matter how small still needs to be properly ended otherwise, the team will feel awkward


Challenges of Retrospective


During a retrospective, participation of all team members is crucial, but new members to these meetings may struggle in the following areas:
  • Fear of being blamed: A delay on the part of a team member during iteration may cause the team member to fear that the retrospective will result in blaming. Therefore it is necessary to keep the team's attention focused on the group goals and continuous improvement as a team and discussing with the team member involved in the delay to making them understand the issues at hand.
  • Fear of wasting time: A team member may be overloaded with other projects or may not benefit from the actions or lack of actions coming from the previous retrospective and so may feel the retrospective is a complete waste of time. It is important to have discussions with the team members to find out why.
  • Fear of speaking up: Team members who are shy or unsure of what to say will not speak during a retrospective. This can be addressed by introducing a speaking token, that gets passed from one team member to the other, give the option for a member to skip turn, but speak with them individually to find out why.



References


Derby, E. & Larsen, D. (2007) Agile Retrospectives: Making Good Teams Great!. Available online at: http://agile2007.agilealliance.org/downloads/handouts/Larsen_448.pdf [Accessed: 24 February, 2012]
Kinoshita, F. (2008) Practices of an Agile Team. Available online at: http://ieeexplore.ieee.org/stamp/stamp.jsp?tp=&arnumber=4599508&tag=1 [Accessed: 29 February, 2012]

External Link


downloads.seapine.com/pub/ebooks/AgileRetrospective_ebook.pdf [Accessed 29 February 2012]
www.EBGConsulting.com/Pubs/Articles/TeamRetrospectives-Gottesdiener.pdf [Accessed 29 February 2012]