View and configure team velocity

Azure DevOps Services | Azure DevOps Server 2022 - Azure DevOps Server 2019

Velocity metrics provide useful information, so teams can plan and forecast sprints and determine how well they estimate and meet planned commitments. You can get an indication of how much work a team can complete during a sprint based on either a count of work items completed or the sum of estimates made for effort (product backlog items), story points (user stories), or size (requirements). Use velocity as an aid to determine team capacity and don't confuse it with key performance indicators.

Prerequisites

Tip

The images you see from your web portal may differ from the images you see in this article. These differences result from updates made to your web app, options that you or your admin have enabled, and which process was chosen when creating your project—Agile, Basic, Scrum, or CMMI. The Basic process is available with Azure DevOps Server 2019 Update 1 and later versions.

Velocity chart types

You have a choice of Velocity charts: the in-context Velocity chart you access from a Backlogs page and the Velocity widget you add to a dashboard. With both these charts, you can quickly determine the information in the following table, which describes the available workflow state categories and their descriptions.

Items assigned to a Proposed or Resolved aren't included in any of the calculations for Completed, Completed Late, or Incomplete. For more information, see How workflow category states are used in Azure Boards. The selections you make are only set for you, and persist across sessions until you change them.

Workflow state Description
Planned Calculated based on the number of work items assigned to the sprint before the start of the sprint. If a work item is assigned to the sprint before it begins, but gets assigned to another sprint after the start of the original sprint, it shows as Planned in the original sprint. Then, the work item shows as Late or Incomplete in the new sprint that it is assigned to.
Completed Calculated based on the number of work items assigned to the sprint before or after the start of the sprint and completed before the end of the sprint.
Completed Late Calculated based on the number of work items assigned to the sprint before or after the start of the sprint but completed after the end of the sprint.
Incomplete Calculated based on the number of work items assigned to the sprint before or after the start of the sprint and not yet completed.

Later in this article, learn how to open the Velocity in-context report or configure the Velocity widget.

You can configure each chart in the following ways:

The widget supports some more configuration options. To configure or view Velocity charts, see Configure and view Velocity charts.

You have a choice of Velocity charts: the in-context Velocity chart you access from a Backlogs page and the Velocity widget you add to a dashboard. With the Velocity widget, you can quickly determine the following information:

  • Planned velocity
  • Actual (completed) velocity
  • Work completed later than planned
  • Amount of work not completed

Both of these charts support visualizing team velocity for several sprints. The Velocity widget, however, supports the following configuration options:

  • Sum of Effort, Story Points, or Size fields or other supported numeric field assigned to backlog items
  • Count of work items that appear on the backlog
  • Number of iterations
  • Advanced features

View the Velocity in-context report

Velocity reports are available for each backlog level, both product and portfolio backlogs. Each report provides interactive controls to provide each user the view of interest to them.

  1. Sign in to your organization (https://dev.azure.com/{yourorganization}) and go to your project.

  2. From the Boards > Backlogs screen, select Analytics to open the Velocity report for your product or portfolio backlog.

    Screenshot showing Backlogs, open Analytics.

  3. To change to a different backlog, choose from the backlog selector, and then select View full report for Velocity.

  4. Use the interactive controls to select the count or sum field and number of iterations. Select Custom iterations to specify any number of iterations between 1 and 15.

    If your team doesn't complete a sprint or if you're working on items before a sprint start date, there's no data to analyze and forecast. You might see this message: Set iteration dates to use this widget. To resolve this situation, set an iteration date range to include present date or wait for the sprint to start.

    Hover over a column area to show a summary of planned and completed work items. For example, for the 07_2019 sprint, 131 items are planned.

    Screenshot of Velocity Analytics report.

    For more information, see the workflow state descriptions mentioned earlier in this article.

  5. To add the report to a dashboard, select the actions icon and select Copy to Dashboard.

    Screenshot of Analytics in-context report, Copy to dashboard option.

  6. Select the dashboard and select OK.

  7. To return to the Analytics summary, select the back arrow.

  1. From the web portal, open your product backlog.

  2. Check that you selected the right project, select Boards > Backlogs, and then select the correct team from the team selector menu.

    Screenshot to Open Boards, Backlogs, for a team, Azure DevOps Server 2019.

    To select another team, open the selector and select a different team or select the Browse all backlogs option. Or, you can enter a keyword in the search box to filter the list of team backlogs for the project.

    Screenshot to Select another team, Azure DevOps Server 2019.

    Tip

    Select the star icon to favorite a team backlog. Favorited artifacts ( favorited icon) appear at the top of the team selector list.

  3. Select Backlog items (for Scrum), Stories (for Agile), or Requirements (for CMMI) as the backlog level.

    Screenshot to select product backlog level, Backlog items, Stories, or Requirements in Azure DevOps Server 2019.

  4. Open the Velocity chart.

    Screenshot to select product backlog level, Backlog items, Stories, or Requirements, Azure DevOps Server 2019.

    For charts to appear, your team must carry out these activities:

    • Select sprints for your team.
    • Assign backlog items to sprints.
    • Estimate backlog items by defining the Effort, Story Points, or Size.
  5. The chart tracks your estimated backlog work (sum of Effort, Story Points, or Size) that is completed (green) in the previous sprints or is in progress (blue).

    As the following chart shows, velocity tends to fluctuate from sprint-to-sprint for different kinds of reasons. However, you can quickly determine the average velocity by averaging the values shown in green for each sprint. You can then plug the average into the Forecast tool.

    Web portal, Velocity chart showing seven sprints of in progress and completed work.

    Work items based on the Scrum process get counted in the chart once their State is set to Committed, whereas items based on the Agile and CMMI processes get counted once their State is set to Active. This behavior is set through the workflow states to category state mappings.

Configure the Velocity widget

You can only configure your Velocity widget for a single team. If you want to view the velocity for several teams, then you must configure a portfolio management team that rolls up from several teams. For more information, see Add teams.

If you haven't yet, Add the Velocity widget to your dashboard. For Azure DevOps Server 2019, Enable or install Analytics.

Complete the following steps to configure the Velocity widget.

  1. Select the Actions icon actions icon and select the Configure option to open the configuration dialog.

    Screenshot showing sequence of highlighted buttons to configure Velocity dashboard.

    Modify the title, select the team, and then select either the backlog level or work item type to track. Select whether you want to track a count of work items or a sum of a numeric field. The most common summed field is that of Effort, Story Points, or Size.

    Screenshot showing Configure dialog, Velocity widget.

  2. Specify the number of sprints you want to view. The default is 6 and the maximum is 15.

  3. (Optional) Select the check boxes to show additional information for work completed later than planned for each sprint.

    • Display planned work for iterations: Check this box to display the amount of work planned for an iteration at the start of the iteration, which is useful for comparing your planned work to actual deliverables. By default, the count of planned work begins on the start date of the iteration.
    • Days past start date of iteration when planned work is final: Specify the number of days past the start date to count planned work. For example, if the first two days of an iteration are for planning, then you can enter 3, and planned work gets counted on the third day. For example, if the iteration starts on 01/01/2024, and three backlog items are assigned to the iteration on 01/01/2024 end-of-day, then those three backlog items are considered as Planned. If your team doesn't complete planning until a few days into the iteration, then you can update the Days past start date of iteration when planned work is final.

    Note

    Work is considered Planned if it's assigned to the iteration as of the Iteration Start Date.

    • Highlight work completed late: Check this box to display work items marked complete after the iteration end date, which is considered to be completed late and show as light green. Highlighting work completed late is useful for spotting a trend where work items are marked complete after the iteration is complete.

    • Days past end date of iteration after which work is late: Specify the number of days past which you consider a work item late if its status is still new or is in progress. For example, entering three days gives the team 3 days after the end of an iteration to mark work items complete or done, before they're considered late.

      Note

      A work item is considered late when the work item's Completed Date is later than End Date of the Iteration the work item is currently assigned to. It takes into account the value you enter for Days past end date of iteration after which work is late.

  4. Select Save when you're done. The following image shows Velocity based on Story Points and eight sprints of data.

    Screenshot of example Velocity widget, eight iterations.

For more information about Planned, Completed, Completed Late, and Incomplete states, see the State descriptions mentioned earlier in this article.

For your team to gain the greatest utility from the Velocity charts, follow these required and recommended tasks.

Required:

Recommended:

  • Define and size backlog items to minimize variability.
  • Determine how your team wants to treat bugs. If your team chooses to treat bugs like requirements, bugs show up on the backlog and be counted within the Velocity chart and forecasting.
  • Set your team's area path. The forecast tool forecasts those items based on your team's default settings. These settings can specify to include items in area paths under the team's default or exclude them.
  • Don't create a hierarchy of backlog items and bugs. The Kanban and task boards and sprint backlog only show the last node in a hierarchy, called the leaf node. For example, if you link items within a hierarchy that is four levels deep, only the items at the fourth level appear on the Kanban board, sprint backlog, and task board.
    Instead of nesting requirements, bugs, and tasks, we recommend that you maintain a flat list-only creating parent-child links one level deep between items. Use Features to group requirements or user stories. You can quickly map stories to features, which create parent-child links in the background.
  • Update the status of those backlog items that the team completed at the end of the sprint. Incomplete items should be moved back to the product backlog and considered in a future sprint planning meeting.
  • Minimize the size variability of your backlog items to help strengthen the team's ability to create truer estimates. Variability increases uncertainty, but minimizing the variability of your estimates, increases the likelihood of more reliable velocity metrics and forecast results. Estimates, by their nature, don't reflect reality. They represent a best guess by the team as to the effort required to complete an item, as it relates to the effort to complete other items on the backlog.

Important

Deleting Area Paths or reconfiguring Iteration Paths can cause a loss of data and can't be reverted. For example, burndown or burnup widget charts, sprint burndown, and velocity charts for teams whose Area Paths are changed won't reflect correct data. Historical trend charts reference the Area Path and Iteration Path as defined at a point in the past for each work item. When an Area Path or Iteration Path is deleted, then the historical data for it can't be retrieved.

Add other teams

If each team wants to work with their own backlog view, Velocity chart, and forecast tool, you can add a new team. Each team gets access to their own set of Agile tools. Each Agile tool filters work items to only include assigned area paths and iteration paths that are set for the team.

Next steps