Velocity (software development)
|Software development process|
A software developer at work
Velocity is a capacity planning tool sometimes used in Agile software development. Velocity tracking is the act of measuring said velocity. The velocity is calculated by counting the number of units of work completed in a certain interval, the length of which is determined at the start of the project.
The main idea behind velocity is to help teams estimate how much work they can complete in a given time period based on how quickly similar work was previously completed.
The following terminology is used in velocity tracking.
- Unit of work
- The unit chosen by the team to measure velocity. This can either be a real unit like hours or days or an abstract unit like story points or ideal days. Each task in the software development process should then be valued in terms of the chosen unit.
- The interval is the duration of each iteration in the software development process for which the velocity is measured. The length of an interval is determined by the team. Most often, the interval is a week, but it can be as long as a month.
To calculate velocity, a team first has to determine how many units of work each task is worth and the length of each interval. During development, the team has to keep track of completed tasks and, at the end of the interval, count the number of units of work completed during the interval. The team then writes down the calculated velocity in a chart or on a graph.
The first week provides little value, but is essential to provide a basis for comparison. Each week after that, the velocity tracking will provide better information as the team provides better estimates and becomes more used to the methodology.
- "Velocity: Measuring and Planning an Agile Project". Retrieved 2010-09-24.
- "Glossary of scrum terms: Velocity". Retrieved 2010-09-24.
- "Measures of size". Retrieved 2010-09-24.
- "Agile 101: Agile Software Development Velocity". Retrieved 2010-09-23.