Secret Powers of Story Points

Our dear friend Soner Altın has written a blog post about Story Points. You can read his up-to-date posts on his personal blog. In this post, he is pointing a grey area in Scrum teams: Performance Measurement. He discusses to use Story Points for performance evaluations of individual and team performances. Thank you Soner for your great contribution and valuable discussions!
We, developers hate performance management and to be monitored but at the same time we want to be rewarded due to our performance. We want to earn much if we work harder, finish projects on time, and fix critical problems. We want to work with awesome colleagues and be a part of an awesome team. It is usual to face some problems in teams whose members have significant performance difference in team members. Team members can lose their motivation when there are people having bad performance in the group. Nobody wants to be a part of a team which the performance is not homogeneous. And if managers don't try to fix this issue, other team members need to work harder to avoid the related delays which means overtime and less social life.

And the question is how to measure performance of a developer? Some companies tried to measure it by using SLOC, number of bugs, number of completed stories/use cases, number of bugs fixed. I am sure there are a lot of different other measurement methods used to evaluate developer performance. But all developers say that these metrics cannot be used to measure their performance. Every 5 lines of code cannot be counted as the same contribution. At this point we have to think about the complexity of the contribution. At this point Scrum helps us with its magical tool: Story Points! In Scrum, team estimates the complexity of the stories by Planning Poker and assigns the related points to stories which mean team members define the complexity by themselves. If team assigns 5 points to Story X and 8 points to Story Y, it is easy to monitor the individual performance by using story points.
How to use Story Points to detect the problems?
Assume that there is a Scrum team consists of four developers who have very similar technical level (Team members named A, B, C, D). They have a social media project with well-defined requirements, they selected JIRA project tracking tool, they have an amazing office, and they don't have strict working hours. By using JIRA, it is very easy to monitor both individual and team performance sprint by sprint. They start to analyse all the backlog items, they assigned Story Points to stories by playing Scrum Poker and they created sprints by prioritizing the stories. After several sprints, let’s assume team's Story Point performance like this:

First of all, according to Wikipedia Scrum promotes adaptive planning, evolutionary development, early delivery, continuous improvement and encourages rapid and flexible response to change.
At this point, we can make some observations from individual performance:
  • Developer A made the most contribution to the project (28%), but related performance decreased after sprint 4
  • Developer B made the promised contribution and increased contribution in every sprint
  • Developer C didn't make promised contribution almost in every sprint and made the least contribution (20 %)
  • Developer D made tried the promised contribution like Developer B with constant contribution
Team Performance
Firstly let's take a look at the team performance. Their average burn down point is 93; individually they tried not to take extra work to their responsibility. But from first sprint to last sprint their burn down point decreased from 99 to 87. This is a very powerful bad signal for team's structure. Their incomplete story points were increased 1 to 10; team didn't go well in estimation. This is another bad signal. Team is very good at adaptive planning, after each sprint every team member increased or decreased next estimated story point for the sprint. All team members tried to increase their performance which shows they are very open to continuous improvement. We can say that they are good at applying Scrum to their project.
Individual Performances
Now let's look at the individual performance of the team members. We can say Developer C was not motivated to the project since story points tell us Developer C has the most incomplete story points in the project, he has 50 % of the incomplete points (See the graph below).

There can be a lot of different reasons for this situation and by using this metric; managers shall discuss this performance with developer. So we can easily say that Developer C didn't show good performance at this team. Developer C has 26 incomplete story points after 7 sprints where Developer D has 4. I am sure Developer D is not very happy with this metric since Developer D also wants to work with the stunning colleagues like all of us.

And we can say that after Sprint 4, Developer A has very significant loss on his completed story points where this can be because of Developer C's low performance. It's very important to solve the bottleneck problems in the projects, when you don't solve the problems on time, you can lose your good workers.

Individual performance can affect other member's performance dramatically, it is not easy to deal with poor performance and keeping bad performance players in your team can cause a lot of problems. In the upper graphic we can easily say that Developer C and D were not affected negatively from Developer B's performance but Developer A was affected. Monitoring the decreasing performance will give us very useful feedbacks about the team structure.
Performance Measurement vs Team Structure Design
In theory you can easily use story points to measure the individual and team performance. By focusing on story points, you can see unforeseen problems easily and you can solve them before the breakdown. I believe using story points for performance measurement would be very fair, easy and acceptable method. But you can gain more. It is obvious that story points tell us very important and priceless information about the team. These metrics will change the way you manage your projects and company.

We discussed this model in my Executive MBA class with various executives from different industries who do not know anything about story points. They all said it would be super easy to make performance management in their business if they have story points. So I think your business can have significant improvements if you are ready to change the way you use story points.

7 yorum:

  1. A reasonable approach to use existing sprint data to achieve more realistic performance monitoring.

    Scrum guide states that "...After the Development Team forecasts the Product Backlog items it will deliver in the Sprint,..". Team is the one gives commitment, not the individuals.

    How can you define a "commitment per developer" in a sprint in the example?

    1. Ozmen you are totally right, team gives commitment but in real life or the projects I've been, mostly individuals give commitment or I don't have enough Scrum experiement. Actually this is not illogical, it has many advantages for projects with short time, maybe we can discuss this in other post.

      But if team gives commitment, commitment per developer can be calculated by the Scrum team itself. Like Scrum Poker team can score their individual performance :) Everyone can talk about other's performance to their face after code reviews, this can improve
      - Team trust!
      - Code quality
      - Code standard
      - Team snergy

      What do you say?

      Thanks for the perfect question, you pushed me to think different :)

  2. I don't agree with the approach of using story points as a measurement of individual performance. Stories should not be assigned to individuals, but should be worked on by the team to increase collaboration and minimize WIP.

    1. Hello Hesham,

      In the article I don't suggest to use story points to measure the individual performance, I suggest to use story points to detect the problems. If a company needs a performance measurement (Most of them do), I believe using completion ratio of the story points commitment would be the fairest way.

      Thanks for the comment.

  3. How can people say they are coaches or scrum masters or whatever if they write this kind of crap?

    When are you people going to wake up?

    Stop with this bullshit of performance measurement! Improve the performance of the overall system and individual performance will improve.

    Really hope there are not many people really taking you serious with this stuff

    1. Luis first of all your language is like crap, believe me, it is.

      Secondly, I respect you don't have any respect to performance measurement, but in the end of the day, all companies need measure the individual performance for:
      - promoting the employee
      - calculating rise in salary
      - stock option ratio for the employee
      - reducing process cost
      - improving quality
      - many more..

      So what do you choose if your executive should measure your performance?

      By the way, like you I don't like performance measurement, but when you become a manager you have to measure it.