The velocity range calculator below is one of the free agile tools available from Mountain Goat Software. This agile project management tool is used to predict how much work a team will complete during a planned number of upcoming iterations, we are better off considering velocity as a range rather than a specific value. That is, rather than saying “our average historical velocity is 17,” it is better to say something like, “Based on historical data, we are 90% confident that velocity for the remaining iterations on this project will be somewhere between 13 and 19.”
To calculate a range around your velocity, you need data for at least five iterations. Enter them in the field at right in any order (lowest to highest, random, most recent first, etc.). You can optionally indicate how many iterations remain in the project. This number will be used to tell you how much work can likely be completed in that time.
For more information on how to use this technique see Chapter 15, “Planning,” of Succeeding with Agile: Software Development using Scrum.
How It Works
The velocity confidence interval calculator works by calculating a confidence interval around the median using the Binomial distribution. In this technique, velocity values are sorted from lowest to highest. Based on the number of observed velocities provided, some of the lowest and highest values (the most extreme outliers) are discarded. With five velocity observations, all five are used to determine a 90% confidence interval. With eight observations, however, we can discard the lowest and highest and still be 90% confident that true velocity lies between the second highest and seventh highest values.
Assuming n observations, the formula for calculating a 90% confidence is given by
j = n/2 – 1.645 (n*0.25)0.5
k = n/2 + 1.645 (n*0.25)0.5
where j and k represent the velocity observations to use. Round results up to the next highest value.
An Example Using This Free Agile Tool
Suppose we have the sorted velocity values: 17, 18, 20, 20, 21, 23, 23, 27
j = 8/2 – 1.645(8*.0.25)0.5
j = 4 – 1.645 * 20.5
j = 4 – 1.645 * 1.41
j= 4 – 2.31945
j=1.68055 which is rounded to 2
k = 8/2 + 1.645(8*0.25)0.5
k = 4 + 1.645*20.5
k = 4 + 1.645 * 1.41
k = 4 + 2.31945
k = 6.31945 which is rounded to 7
We therefore use the second and seventh velocities in the sorted list. This gives a range of 18–23. We can say that we are 90% confident that the team's true velocity is in the range of 18 to 23. If the team has, say, 5 sprints left and we assume that future velocity will equal past velocity we could say we are 90% confident the team will complete between 5*18=90 and 5*23=115 units of work.