Friday, December 14, 2018

Agile Retrospective Ceremony

In this article, we will go through the most interesting and challenging ceremonies of agile. This article will provide an structured way of executing retrospective meetings and lists down what worked for me to get optimum results.

Phase 1

Kick off your retrospective by showing following metrics to the team, which is the reflection of how we did in current sprint vs historical sprints. This is critical for initiating a conversation between teams. At this stage, i do not encourage team to ask any question or start a conversation immediately, the scrum master should take few minutes summarizing the iteration. While scrum master is speaking, every other team member is visualizing this data generating constructive thoughts around the data points.

Following are some of the examples of data point you can use for  a typical software development project.

a. Sprint Velocity Historical vs Current Sprint
b. Carry Over Stories Historical vs Current Sprint
c. Defect Density Historical vs Current Sprint 
d. Defect Leakage
e. Bugs Story/Sprint/Release Historical vs Current
f.  Lead time or Cycle time


In Phase 2 of the iteration, I'll cover a formal and well-structured approach running retrospective. The 5 stages of Retrospective are illustrated and explained in Phase 2.

Phase 2

I discovered a structured way of executing retrospective, which worked for me and I use this methodology in coaching and training too.  This is derived from book Agile Retrospectives: Making Good Teams Great by Esther Derby and Diana Larsen.

The five stages of retrospective are:

1. Setting stage
2. Gathering data
3. Generating Insight
4. Defining what to do
5. Close 

This article provides a quick overview of what we do in each of this stage.

Setting stage

During this stage you should start by asking team's interest in retrospective, understand the top  two or three outcomes which they want as a take away from this discussion. 
There are times when team are routinely running common questions in retrospectives which becomes ineffective over a period of time and do not result in any outcomes.

Encourage teams to have open ended discussion on variety of topics, some of the examples are
  1. Benefits of XP practices inducted from last iterations.
  2. Ideas on improvement to current automation.
  3. Gather training needs.
It is of vital importance that we focus on following:
  1.  Inquiry over Advocacy
  2.  Dialog over Debate
  3.  Conversation over Argument  and 
  4.  Understanding over  Defending individual points
This needs to be taken care very amicably. Based on few experienced scrum masters, some members take it as they are being questioned for in-competence directly.

Gathering data

This stage is carried out by looking back on the sprint and team members should do a self-retrospective. The data point or facts presented in Phase 1 is a key in data gathering. 



Generating Insight

Good data is the foundation for the process. Data collected from above phases Phase 1 and Phase 2 (Generating data) helps us get an insight on past performance and improvement areas.

This stage helps us

1. Generate shared understanding
2. Identify the underlying causes by performing pattern identification or root cause analysis


Defining what to do

This chapter of the ceremony contains 

1. Actionable items
2. Owners and 
3. Due date 

Identify maximum two improvements we can do as a group in next iteration. This may be an experiment. But remember to pick an improvement which will benefit the whole team and is aligned to product/feature development.

Following are few examples of next steps

Engineering focused 
1. Focus on XP practices 
        a. Give more attention to pair programming
        b. Spend more time refactoring
        c. Increase the quality of code coverage 
2. Increased quality by reduced defects and re-work
3. Increased focus on Continuous Integration 

Team focused

4. Have more frequent on-shore offshore meetings
5. Meet on a VC rather than phone call (This we had in our retro, we followed & it really helped)

Tips to prioritize and finalize improvements which will be taken up by team
1. Create an idea board of commitments which team has shortlisted
2. Get vote on each one of the idea
3. Pick top 2 or 3 improvements areas which received maximum votes.
4. Assign this next step to a team member along with a due date followed by regular checkpoints on progress.

Close 

Review all the above steps and do not forge to monitor this during scrum call. Typically, retrospectives should last no more than 1.5 hours for a two-week sprint.

Out comes

Few outcomes from running effective retrospective are listed below
  • Higher Trust and Moral among teams and team members
  • Improved capability of team
  • Improved capacity of team
  • Improved efficiency of team
  • Improved Quality of product delivered by team



https://www.yodiz.com/blog/agile-retrospective/
https://www.youtube.com/watch?v=w8w-dFrmovQ
https://www.scrum.org/resources/what-is-a-sprint-retrospective
https://slideplayer.com/slide/6054927/

Contributions

Pavas Malviya, Scrum Master, Sapient Consulting
Amit Kumar, Scrum Master, Sapient Consulting

No comments:

Post a Comment