View or configure team velocity

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

Teams track their velocity to help them determine how much work they can do sprint-over-sprint. Velocity provides an indication of how much work a team can complete during a sprint based on either:

  • A count of work items completed.
  • The sum of estimates made to:
    • Effort (product backlog items).
    • Story Points (user stories).
    • Size (requirements).

There are two velocity charts: the in-context report you can view from a team backlog or Kanban board and the Velocity widget you can add to a dashboard.

Example: Velocity widget showing six sprints of velocity
Screenshot of velocity widget showing 6 sprints worth of data.

Note

The Velocity widget is based on Analytics data. Analytics is generally available for Azure DevOps Services and Azure DevOps Server 2020 and later versions. Analytics is in preview as an extension for Azure DevOps Server 2019. For TFS 2018 and earlier versions, you have access to the velocity chart provided by the work tracking data store.

Velocity provides a useful metric for gaining insight into how much work your team can complete during a sprint cycle. Each team is associated with one and only one velocity chart.

Note

For TFS 2018 and earlier versions, you can only view team velocity. There is no configuration of this report.

Velocity will vary depending on team capacity, sprint over sprint. However, over time, the velocity should indicate a reliable average that can be used to forecast the full backlog.

Example Velocity chart from the work tracking data store
Screenshot of sprint velocity chart with 3 sprints worth of data.

Once your team has completed a few sprints, they can use their velocity to forecast how much of the backlog they can finish within upcoming sprints. If your team hasn't completed a sprint or if you're working on items before a sprint start date, Velocity would have 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. For usage guidance, see Velocity metrics and usage guidance.

Example: Velocity showing Set iteration dates to use this widget

Screenshot showing the need to set iteration dates.

Note

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.

Use this article to learn:

  • How to configure the Velocity widget (Analytics)
  • How to view the Velocity in-context report (Analytics)
  • Required and recommended team activities to support velocity tracking
  • How to configure the Velocity widget (Analytics)
  • How to view the Velocity in-context report (work tracking data store)
  • Required and recommended team activities to support velocity tracking
  • How to view the Velocity in-context report (work tracking data store)
  • Required and recommended team activities to support velocity tracking

Prerequisites

  • You must be a member of a project. If you don't have a team project yet, create one.
  • If you haven't been added as a project member, get added now.
  • To add a widget to a team dashboard, you need to be a member of the team. You must have Basic access or greater, have dashboard permissions, or be a team admin or project admin. Default settings provide all team members with permissions.
  • Boards must be enabled. If disabled, none of the work tracking Analytics widgets will display. To re-enable it, see Turn an Azure DevOps service on or off.

Open your backlog from the web portal

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

    Screenshot that shows Open Boards, Backlogs, and select a team.

    To select another backlog, open the selector and then select a different team or select the View Backlog directory option. Or, enter a keyword in the search box to filter the list of team backlogs for the project.

    Screenshot that shows how to select another team.

  2. To view the in-context reports for the product backlog, check that you selected Stories for Agile, Issues for Basic, Backlog items for Scrum, or Requirements for CMMI as the backlog level. Or

    Screenshot that shows how to select product backlog level, Backlog items, Stories, or Requirements.

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

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

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

    Screenshot of the My Team Backlogs drop-down list.

  2. To view the in-context reports for the product backlog, check that you selected Stories for Agile, Issues for Basic, Backlog items for Scrum, or Requirements for CMMI as the backlog level.

    Screenshot of the Backlog items drop-down option.

From your web portal, open your team's product backlog and select the team from the project and team selector. Then select Work > Backlogs. Select the product backlog, which is Backlog items for Scrum, Stories for Agile, or Requirements for CMMI.

Screenshot of Open Backlogs page, TFS 2018.

To select another team, open the project and team selector. Select a different team, or select the Browse option.

Screenshot of select another team, TFS 2018.

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. You open the Velocity report for your product or portfolio backlog by choosing Analytics.

    Screenshot of Backlogs, Open Analytics.

  2. To change to a different backlog, choose from the backlog selector.

  3. Next, 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.

    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.

    With the following assignments made to the color bars. All work items counted are assigned to the sprint or iteration.

    • Planned: calculated based on the amount of work assigned to the sprint before the start of the sprint. This count includes work that was moved to a different sprint after the start of the sprint, but doesn't include work that was added later after the sprint started.

      Tip

      To list the work items included in the count, click the velocity bar. A query results page will open with the list of work items included.

    • Completed: calculated based on the amount of work assigned to the sprint and whose workflow State corresponds to the Completed category state, and completed on or before the sprint end date.
    • Completed Late: calculated based on the amount of work assigned to the sprint that is completed after the sprint end date. If you assign work items to a sprint, even one in the past, they will show up in this calculation once the workflow State corresponds to a Completed category state.
    • Incomplete: Amount of work not completed, calculated based on the amount of work assigned to the sprint, and the workflow State corresponds to the In Progress category state.

      Note

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

  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.

    Select the dashboard and select OK.

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

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

  2. (1) Check that you've selected the right project, (2) select Boards>Backlogs, and then (3) 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. Check that you have selected 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 your team has completed (green) in the previous sprints, or that are still in progress (blue).

    As this 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

    Note

    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.

  1. From the web portal, open the product backlog and then select the velocity chart.

    Screenshot to select the velocity chart in the upper right area of the page.

    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.
  2. The report tracks your estimated backlog work (sum of Effort, Story Points, or Size) that your team has completed (green) in the previous sprints, or that are still in progress (blue).

    As this chart shows, velocity will 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.

    Screenshot of velocity chart showing seven sprints of in progress and completed work.

    Note

    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.

Add the Velocity widget to your dashboard

  1. If you haven't yet enabled or installed Analytics], do that now.

  2. If you haven't yet added the Velocity widget to your dashboard, do that now.

Configure the Velocity widget

You 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. To learn more about teams, see Add teams.

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

    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.

    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.

    Displayed planned work for iterations: Check this box to display the amount of work planned for an iteration at the start of the iteration. This 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 will be counted on the third day.

      For example, if the Iteration starts on 01/01/2018, and three backlog items are assigned to the iteration on 01/01/2018 end-of-day, then those three backlog items will be 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 is assigned to the iteration as-of the Iteration Start Date.


      Highlight work completed late: Work items marked complete after the iteration end date are considered to be completed late and will show as light green. This 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 in progress.

      For example, entering three days will give 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 will take into account the value you enter for Days past end date of iteration after which work is late.

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

    Screenshot of example Velocity widget, 8 iterations.

    For information on Planned, Completed, Completed Late, and Incomplete, see the velocity legend earlier in the article.

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

Required:

  • Define iteration paths (aka sprints) and configure team iterations Sprints should be of the same duration.
  • Define and estimate backlog items. If you work from your team's backlog, the items you create will automatically be assigned to the current sprint (Iteration) and to your team's default Area Path.
  • Update the status of backlog items once work starts and when completed. Only backlog items whose State maps to a metastate of In Progress or Done will show up on the velocity chart or velocity widget.

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 will show up on the backlog and be counted within the Velocity chart and forecasting.
  • Set your team's area path. The forecast tool will forecast 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 board, sprint backlog, and task board 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 creates parent-child links in the background.
  • At the end of the sprint, update the status of those backlog items that the team has fully completed. Incomplete items should be moved back to the product backlog and considered in a future sprint planning meeting.

Add other teams

If you work with several teams, and each team wants to work with their own backlog view, velocity chart, and forecast tool, you can add teams. Each team then gets access to their own set of Agile tools. Each Agile tool filters work items to only include those whose assigned area paths and iteration paths meet those set for the team.

Next steps