Skip to main content

Velocity

Updated 2 min read

Share this page

Send the link, quote the definition with a link back, or show it as a card on your own site.

https://softwaredictionary.org/terms/velocity

In short

Velocity is the amount of work an Agile team completes in one sprint, usually the total story points of finished items, used to forecast future sprints.

What is velocity in Agile?

Velocity measures how much work a team finishes in a sprint. It is usually calculated by adding up the story points of every item that met the Definition of Done by the end of the sprint. If a team completes stories worth 5, 8, 3, and 5 points, its velocity for that sprint is 21, and items that are only partly finished count as zero.

Teams track velocity over several sprints and use an average of the last three or so as a forecast. In sprint planning it helps the team judge how much work to take on, and in release planning, dividing the remaining backlog points by the average velocity gives a rough number of sprints: 120 points at about 20 points per sprint is roughly six sprints. A range, such as 16 to 24 points, is more honest than a single number, because velocity naturally changes when people join or leave, holidays come, or the sprint length changes.

Velocity is like a car's average speed on a road trip: it helps you estimate when you will arrive, but it depends on the car and the road, and pressing harder on the speedometer display doesn't make the trip shorter. Many teams show it on a velocity chart, with one bar per sprint for the points planned and the points actually completed.

Velocity is a planning tool, not a productivity score. Because story points are relative and specific to each team, comparing velocity between teams is meaningless, and pushing a team to raise it usually just inflates the estimates, an example of Goodhart's law: when a measure becomes a target, it stops being a good measure. Velocity is also different from story points themselves, which are the unit of estimation, and from throughput in Kanban, which counts finished items per week instead of points.

Key takeaways

  • Velocity is the total estimate of work completed in one sprint.
  • Only items that meet the Definition of Done count.
  • An average of recent sprints is used to forecast future work.
  • Velocity is specific to one team and should not be compared across teams.
  • Treating velocity as a target leads to inflated estimates.

Example

Calculating velocity and a simple forecastpython
# Story points completed (meeting the Definition of Done) in recent sprints
completed = {"sprint_11": 18, "sprint_12": 23, "sprint_13": 20, "sprint_14": 21}

last_three = list(completed.values())[-3:]
velocity = sum(last_three) / len(last_three)        # rolling average: 21.3

remaining_backlog_points = 128
sprints_left = remaining_backlog_points / velocity   # about 6 sprints

print(f"Velocity: {velocity:.1f} points per sprint")
print(f"Range: {min(last_three)}-{max(last_three)} points, about {sprints_left:.0f} sprints left")

Readers ask

How is velocity calculated?

Add up the estimates, usually story points, of all items the team fully completed during the sprint. Unfinished items are not counted, and the average over several sprints is more useful than any single value.

Should managers use velocity to measure productivity?

No. Velocity depends on how each team estimates, so it can't be compared across teams, and using it as a target encourages inflated estimates. It is meant to help the team plan.

What is the difference between velocity and capacity?

Velocity is how much work the team actually completed in past sprints. Capacity is how much time the team has available in the coming sprint, which may be lower because of holidays or other commitments.

See also

Spotted a mistake or something missing on this page?Suggest an edit

Read a random page
Open today's review
Switch to the dark theme
Read this page in Türkçe

More

Settings