Sprint Velocity, What is it good for?

Georgios Chinis
5 min readMar 21, 2020

--

A newer version of this post along with more content is available in my site: https://blog.gchinis.com/posts/sprint-velocity/

Software development teams doing scrum try in one way or the other to measure their velocity.

This is usually measured as the number of completed stories or as the number of completed story points. The first one is pretty straight forward, the second one is a bit more elusive so I want to explain it further in the next section. Especially, since I’ve seen teams spend quite some effort trying to get the story points right!

The Mythical Story Points

What do those “points” assigned in a story really mean? Usually, people use them to mean one of two things “effort”, “complexity”. Developers also tend to calibrate their estimation based on how “uncertain” they feel, but let’s leave the aspect uncertainty on the side for now.

Effort is usually a proxy on how much work the developers will have to put to complete the story.

Complexity is about how intrinsically complex a task is.

Complexity depends on the task. Effort depends on the task and on the team.

I see the following distinction between “effort” and “complexity”. Given a team that is continuously improving (they learn how to use their tool better, they learn how to work better together etc), the amount of effort they need to put to complete a task goes down, whereas the complexity of the task remains the same.

Consequently, teams that measure “effort” points will see their velocity remain roughly stable over time. Because as they learn to develop faster, they will assign fewer “effort” points to stories as would for similar stories in the past.

On the other hand, teams that measure “complexity” points will see their velocity increase over time. Because they will tend to estimate similar stories with similar story points across sprints. So, as their productivity increases the amount of “complexity” points they can conclude in a sprint also goes up.

Velocity

Either by counting stories or story point, the goal is to sum all of them up at the end of sprint and come up with the Velocity of the team. You can look back into the past velocity to see how well the team was doing and can use past velocity to forecast future performance.

Why do we need Velocity?

Sprint Planning

One common use case for velocity is to support planning the next sprint. But why? Why is it so important in the beginning of a sprint to come up with a number that may or may not be close to reality in the end of the sprint? Or to put in another way, in your organisation what is the impact of not successfully completing as many story points as agreed at the beginning of the sprint. And here, I am asking about the real business impact.

In my experience from large organisations, business impact has more to do with satisfying cross-team dependencies. For example, we need to complete “X” in this sprint to unblock some other team. Or with planning longer than just a sprint. For example, the organisation wants to release feature “Y” in 3 months time and all teams involved in that feature need to be ready by then. The first example has more to do with proper prioritisation and the second requires forecasting velocity much further than just the next sprint.

Longer Term Planning

When talking about projects and products developed by multiple teams and spend many years in active development, you need to be able to plan many months ahead, and to be able to communicate early in advance when a milestone is likely to be missed. The earlier you can identify that a milestone may be missed the easier (and cheaper) it is to take corrective action.

Using story points trying to predict where you are going to be 3 months into the future (about 6 sprints given the typical 2-week sprints) is just not practical. It is not only the amount of stories that need to be estimated, you also need to keep re-estimating as the new information becomes available and the plan changes. Product Owners and Business Analysts can maintain a healthy backlog of user stories for the next 3 months. I use the word maintain because a backlog requires constant maintenance to remain useful. But additionally to their effort, you need also need to the time of the developers to move from a groomed story to an estimated story and that is a trade off. Because the time developers spend estimating stories is time they could have spent delivering stories instead.

In another blog post, I am going to talk about how statistics can help quantify your confidence in achieving longer term milestones.

Be Pragmatic

When talking about estimations, there is some times an ideological element involved. For example, people who like Kanban tend to prefer counting stories, people who like Scrum tend to prefer story points etc. But based on the use case there are objective measures you can use to evaluate your options.

There is the cost. Counting stories takes less effort than estimating and counting story points. Effort that is taken away from actual development.

There is the benefit. If you are measuring velocity for the purpose of forecasting, then measure how close the projection comes to reality. For example take your velocity based on completed stories in the last sprint and make a forecast for the next two sprints, you can measure your velocity in “effort” points and in “complexity” points. After a month, whichever forecast comes closer to reality that’s the one that you should be using!

You can also run this experiment with past data if you have them available.

Conclusion

I hope I gave some clarity to the different aspects of the topic so that teams can take more informed decision in choosing what to do. I believe this can save some teams a lot of time and also increase the quality of their forecasting.

The two things to keep in mind:

  • Unless you know why you are estimating, you can’t decide how to do it right.
  • If you decide to use story points be clear about that they mean!
  • Be pragmatic! Put your estimation and forecasting methods to the test!

These are my thoughts, in the topic of story estimation and its connection the planning process. Please don’t hesitate to leave a comment with your thoughts!

Thank you for reading!

--

--