Simple Metrics for Scrum Team Productivity

One of the tenants of scrum is the team’s ability to create a sprint backlog and work in a committed fashion to complete this backlog.   If teams are not able to complete their work and meet their goals consistently, it is useful to look at trends over time to understand the underlying factors.  If they are not achieving their goals, is it due to challenges in planning or challenges in execution.   A simple way to provide this insight is to breakdown the points completed into a few basic buckets.

Metrics I’ve used in the past are:

  • Planned points at the start of the sprint.  These points are identified during sprint planning.
  • Points attributed to scope growth within the sprint.  These are points associated with a planned story growing in scope.
  • Unplanned points (backlog related).  These are usually new stories that have been identified that should have been part of the backlog but were missed in planning.
  • Unplanned points (not backlog related).  These are usually interruptions for support work or other projects.
  • Planned points not delivered.  These are in essence misses from the planning process.

Story board

Example

Let’s look at the Muskrat team who believes they can deliver about 60 points per sprint.  At the end of sprint planning their goals are:

  • Story 12 – 15 points
  • Story 13 – 10 points
  • Story 14 – 12 points
  • Story 15 – 18 points
  • Story 16 – 5 points

This adds up to 60 points, which matches their theoretical velocity.

At the end of their sprint, they report 58 points completed.  But what was the breakdown of those points?

Stories 12, 14, and 15 were completed for a total of 48 points (story 12 grew from 15 points to 18 points).

Stories 13 and 16 were not completed, but a new story, Story 17, was identified and completed.  Story 17 was valued at 10 points.

So the point summary metrics for this team and this sprint are as follows:

Planned –                                         45 points (stories 12, 14, and 15)

Scope growth –                                3 points (from story 12)

Unplanned points (backlog) –   10 points (story 17)

Unplanned points (other) –        0 points

Planned points not delivered –   15 points (stories 13 and 16)

So a quick summary of this team is that they are pretty close to delivering their target velocity (58 points vs target of 60), but only 75% of their planned points are being completed.  As an isolated data point, this isn’t necessarily a problem, but seeing a trend over several sprints can give insight into the quality of the backlog and the team’s execution.

The chart below shows some sample data over 5 months.  As you can see, this team typically completes about 75% of their planned work.  The remainder of their capacity is usually taken up with unplanned work.

Sprint Backlog Percentage
Plan Act. Com-plete Scope Creep Not plann-ed (backlog) Not Plann-ed (other) Not Deliver-ed Planned Com-pleted Not Deliv-ered Not  plann-ed
May-15 60 58 45 3 10 0 15 75% 25% 17%
Jun-15 62 65 48 4 5 5 5 77% 8% 16%
Jul-15 55 50 45 5 12 0 12 82% 22% 22%
Aug-15 63 63 50 6 0 8 7 79% 11% 13%
Sep-15 61 58 51 4 5 5 3 84% 5% 16%

There are a few potential downsides to this performance trend.  The first downside is that if you are expecting a certain velocity against a planned backlog, you may not reach your higher level program goals.   The second downside is that the team may become reluctant to commit to the planned backlog if the know it will be superseded by other work during the course of a sprint.

By keeping some simple metrics you can begin to make better planning decisions over the long run.

Doug Morrison

Advertisements

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s