Iteration Velocity

Iteration Velocity

Velocity is a capacity planning tool that is often used in Agile software development. To calculate velocity, a team first needs to evaluate each working item in units (e.g. user stories, tasks), and define the length of the iteration. During development, teams need to keep track of their progress. At the end of the iteration, they should count how many units of work were completed.

In Targetprocess, the time periods are defined as Iterations (Sprints) and Team Iterations. The estimated work items are User Stories and Bugs. Every Iteration and Team Iteration has a numeric field called Velocity.

How Velocity is calculated and set

Values to the field can be populated manually and semi-automatically.

Manual input is performed by Project managers and Scrum masters usually. Click the Iteration ID# to open the details popup and edit the Velocity field.

Edit Velocity field

Semi-automatic population is usually initiated by these users as well - when they press Finish button within the sprint or iteration. The Targetprocess does the rest. It calculates a value and saves it into the Velocity field of the next iteration.

Velocity is calculated as total effort of all completed user stories in previous iteration. For example, in Iteration #1 you have ten user stories with total effort of 50 points. By the end of the iteration, eight of them are completed, with total effort of 46 points, and two of them are still in progress, with total effort of 4 points. Targetprocess saves 46 points as the Velocity for next Iteration #2.

Velocity utilizes the same effort units (points or ideal hours) as User Stories. It depends on the selected planning unit settings.

In our public backlog we have Ideas related to future plans about improvements of Velocity calculation. We still gather feedback and votes from our users for them. For instance the following capabilities are not supported yet, but requested quite frequently:

How we recommend to use Velocity

Velocity can help you with Capacity planning and Reporting.

Plan Capacity using Velocity

For current and future iterations, Velocity can be used as general target goal for the whole scope of work. You can estimate how much work the team will be able to complete in the next Iteration using historical data as a basis for comparison. Velocity reached in the previous sprint or iteration can be set as the capacity limit for the next one. This will help you make a fair prediction about the true release date.

Average velocity is a useful long-term predictor rather than a predictor of what a team may complete in exactly the next iteration. The more stable your team and development process are, the longer period of time same people work together in the same conditions, the better is prediction probability.

Velocity is not the only tool that can be used for capacity planning in Targetprocess. Our features for Capacity Calculation and People Capacity might also serve your needs. These features use personal allocation data to calculate capacity for iterations, team iterations, and releases. In the meantime, the concept of Velocity in Targetprocess stands completely independent of allocations (at the moment).

Track and measure your efficiency and estimation accuracy using Reports based on Velocity

You can measure how much effort was dedicated to work by the team over past iterations and evaluate your estimation accuracy. It is possible to compare manually set Velocity (initial estimation), estimated Effort and actually spent time for every Iteration and Team Iteration.

It is recommended that you use Iterations of equal duration for efficient velocity calculation.

Using Velocity as Capacity on views

The board views called Iteration Plan and Team Iteration Plan can help you to plan Iterations and assign work to them. You can view Iteration Velocity right on the board (in the column header) and control Iteration scope. This helps you to fully utilize planned capacity. There's no need to have an exact Velocity match; it is more about team commitment. For example, let’s say you have an 80 point velocity, but the team commits to ship 100 points in the next Iteration. If this is the team’s decision, the Scrum Master should not interfere, but accept it and help them achieve this goal.

Iteration Plan View

 

Capacity counters are not displayed in Team Iteration lane headers when Team is selected as other lane on the same board view.

Reports on Velocity

It is possible to create a Visual Report that shows how many points or hours of Effort your team completes per unit of time (e.g. per week, month, Sprint or Iteration). The report may include user stories only or bugs as well. Visual reports can group and summarize effort per high-level scope of work (Feature, Epic, Sprint or Iteration, Release, Project), per person, per Role. Visual reports show data in form of charts and can be exported to tabular CSV files.

Reports on Velocity

More information: Report for total completed Effort / Velocity

Templates for Velocity reports

The following predefined templates for Visual Reports by Effort are available:

Templates for Velocity reports

  • Iterations Velocity Trend: How Iterations velocity changes over time
  • Team Iterations Velocity Trend: How Team Iterations velocity changes over time

Tracking and reporting estimation accuracy

Estimation Accuracy reports help to compare total estimated effort and total time spent. It is an important metric for each agile team. It improves estimates and overall project planning.

It is possible to compare manually set Velocity, estimated Effort and actually spent time for every Iteration and Team Iteration. Build a tabular custom report with summarized effort of all assigned work items using Summary Columns.

Tracking and reporting estimation accuracy

More details: Estimation Accuracy Reports

Still have a question?

We're here to help! Just contact our friendly support team

Find out more about our APIs, Plugins, Mashups and custom extensions. Join our community of passionate users and even discuss directly with our developers.