ChronoClockTime intelligence
UTC
--:--:--

Velocity Tracker

What the team has delivered, and what that says about the next few sprints

Enter the points completed in each past sprint. You get the average, the recent trend, how stable the numbers are, and a Monte Carlo forecast that answers when the backlog will be done with a probability attached. Everything is worked out in this browser and saved on your device.

Average velocity
no data
0 sprints recorded
Last 3 average
no data
needs three sprints
Standard deviation
no data
needs two sprints
Backlog at p85
not set
enter a backlog

Sprint history

points completed

No sprints recorded yet. Add the points your team completed in each of the last few sprints, oldest first. Six sprints give a reasonable picture, and three is the minimum before a forecast means anything.

Sprints

Add a sprint above, or load the six-sprint example to see the forecast working.

Monte Carlo forecast

1,000 runs

A forecast needs at least 3 sprints of history. With fewer than that there is no spread to sample from, and any number the tool produced would be a guess dressed up as arithmetic.

Stability

spread against the average

Record at least two sprints with points on them to see how much the team varies.

Forecast inputs

How the forecast works

Each of the 1,000 runs plays out a possible future. It picks one of your recorded sprint results at random, subtracts it from the backlog, and repeats until the backlog is gone, counting the sprints it took. The runs are then sorted, and p85 is the point below which 85 percent of them finished.

Sampling is uniform over the sprints you entered, so a bad sprint in the record is exactly as likely to come up as a good one. The numbers change slightly each time the page recalculates, which is a fair reflection of how precise the method is.

How to use it

Velocity is a measurement, and the only thing it can tell you is how much this team, with these estimates, has been getting through. Enter the history first and resist adjusting it. A sprint where half the team was at a conference still counts, because sprints like that keep happening and the forecast needs to know how often.

Enter the sprints, oldest first

Count only items that met your definition of done inside the sprint. Partial credit for work in progress defeats the purpose, because the forecast is about finished things. If an item spans two sprints, count it in the one where it finished, and accept that this makes one sprint look thin and the next look fat. That variation is real and the forecast uses it.

Six to ten sprints is a good window. Fewer than three and there is nothing to sample. Much more than ten and you are including a team that no longer exists, with different people and a different codebase.

Read the stability verdict before the average

The standard deviation is divided by the average to give a coefficient of variation, which is what makes the verdict comparable across teams with different point scales. Under 15 percent the team is steady and the average is a usable planning number. Between 15 and 35 percent it is variable, which is where most teams sit, and you should plan with the range. Above 35 percent the average is close to meaningless, and the useful move is to find out why rather than to forecast harder.

Forecast with probabilities, not a single date

Dividing the backlog by the average gives one number, and that number is right about half the time. The Monte Carlo forecast instead plays out a thousand futures by drawing sprint results at random from your own history, then reports how many sprints it took at three confidence levels. Quote p85 externally, plan internally against p50, and use p95 when somebody is making an expensive commitment on the back of your date.

The forecast inherits every flaw in the history it is given. It assumes the team stays roughly the same, the backlog estimates are in the same currency as the completed ones, and nothing is discovered mid-project that adds a large pile of new work. The last of those is usually the one that breaks it, so re-run the forecast every sprint with the backlog as it actually stands.

Keep it a signal, not a target

Velocity is only useful while nobody is trying to move it. The moment it becomes a target, the cheapest way to raise it is to inflate estimates, and estimates cost nothing to inflate. Goodhart put it as a measure ceasing to be a good measure once it becomes a target, and velocity is close to a textbook case: the thing being measured is a unit the team defines for itself.

The same reasoning rules out comparing velocities between teams. A point in one team is a local unit of relative size agreed by those people, so twenty points there and forty here says nothing about either team. Compare a team against its own history, and only to answer questions about predictability.

A worked example

Six sprints of history: 24, 31, 19, 28, 33 and 26 points. The total is 161, so the average is 26.8. The last three are 28, 33 and 26, averaging 29, which is a little above the full average but well inside the normal spread.

How stable is it

The standard deviation of those six numbers is about 4.6 points. Divided by the average of 26.8 that is 17 percent, which lands just over the steady threshold and gives a verdict of variable. That is a good, ordinary team. It means a sprint of 22 or a sprint of 31 should surprise nobody, and a plan that depends on getting 31 is a plan with a problem in it.

When is the backlog done

The backlog holds 140 points. At the average of 26.8 that is 5.2 sprints, which rounds up to 6. Quoting six sprints feels safe because the arithmetic is simple, but it is close to a coin flip.

Run the simulation and the picture separates. The p50 comes out at 6 sprints, matching the average as you would expect. The p85 comes out at 7, and the p95 at 7 or 8 depending on the draw. With two-week sprints starting today, six sprints is twelve weeks and seven is fourteen. The honest answer to when will it be done is the fourteen-week date, with the twelve-week one available as the optimistic case if somebody asks for it.

Notice how small the difference is. One extra sprint buys the jump from a coin flip to being right six times out of seven. That is usually the cheapest reliability anyone will offer you all quarter.

Frequently asked questions

Why is p85 the number to commit to?

Because a date you hit half the time is not a date, it is a wish. The p50 figure is the median of the simulated futures, so quoting it means being late as often as being early. p85 means the backlog finished by that point in 85 of every 100 simulated futures, so you are wrong about one time in seven, which is a level of reliability people can plan around. Going further to p95 costs more time than it buys confidence for most work, so save it for commitments that are expensive to miss. The important part is not the exact percentile. It is that a forecast without a probability attached is not telling you anything about risk.

Can we compare our velocity to another team?

No, and the reason is structural rather than political. A story point is a unit of relative size that a specific team agrees among itself, calibrated against work that team has done. Two teams that estimate the same story at 3 and 8 are not disagreeing about the work, they are using different rulers. Comparing the numbers produces a league table measured in nothing. If you need to compare delivery across teams, use something with a shared unit, such as cycle time from start to done, or the count of items finished.

Our velocity keeps going up. Is that good?

It depends entirely on why. If the team removed a bottleneck, automated a slow test suite or stopped being interrupted, then yes, and you should see cycle time improve alongside it. If velocity is rising while the amount of working software shipped looks the same, the estimates are inflating, which is what happens whenever the number gets attention from outside the team. Check the trend against something velocity cannot influence, such as items completed per sprint or the time from starting an item to releasing it. A rising velocity with a flat item count is a measurement artefact.

What if the team changes size?

Old sprints from a differently sized team are still worth keeping, but expect the forecast to be wrong until a few sprints with the new shape are recorded. A new person usually makes velocity worse for a sprint or two before making it better, so do not re-forecast optimistically on the day they join. If the change is large, for instance splitting one team into two, start the history again rather than averaging across the break. For working out what a changed roster can take on right now, use the sprint capacity calculator and treat velocity as the slower-moving check on it.

Related tools