Support rollup of work and other fields

Last Update: 6/1/2017

Team Services | TFS 2017 | TFS 2015 | TFS 2013

Rollup provides summed values of select fields for all child work items of a parent. Because Visual Studio Team Services (VSTS) and Team Foundation Server (TFS) support multiple levels of nesting, when you perform rollup, you want to make sure you don't double-count values. Most project managers are interested in getting rollup of estimated or completed work, effort, size, or story points.

NOTE

The system doesn't support rollup of the Effort, Story Points, or Size fields across product backlogs and portfolio backlogs.

Native support of rollup within the web portal

You can view rollup of Remaining Work from a sprint backlog or task board.

From the sprint backlog, the sum of all Remaining Work defined for all tasks is displayed for the parent work item. This value will also display on the parent work item card when you view the task board.

Sprint backlog displays rollup of Remaining Work

From a sprint task board, there are three types of rollup:

  • The rollup of Remaining Work displays on the card for the parent work item
  • The sum of all Remaining Work defined for all tasks within a column displays at the top of each column
  • The sum of all Remaining Work defined for all tasks for a backlog item displays within each row, grouped by column.

Task board, collapsed backlog items

When you update the status of a task as Completed, the system automatically zeros out the Remaining Work for that task. To learn more, see Task board.

Other tools that support rollup

You can obtain rollup of additional data fields in VSTS or TFS data by using one of the following methods:

Method Team Services On-premises TFS
Microsoft Project check mark check mark
Microsoft Excel check mark check mark
SQL Server Reporting Services report Not supported check mark
TFS-Project Server integration Not supported check mark
Custom plug-in or extension Not supported check mark

Microsoft Project

Project natively supports rollup of summary tasks. With Project, you can round trip TFS data to obtain rollup values.

Task board displays round-trip rollup from Project

To learn how, see Rollup estimated and actual work.

Microsoft Excel

You can export a query to Excel that contains the work items you want to provide rollup. You can then write an Excel macro to get the sums and publish data back to TFS. To learn more about Excel and TFS integration, see Bulk add or modify work items with Excel.

To learn more about Excel macros, see Automate tasks with the Macro Recorder.

SQL Server Reporting Services report

Several OOB reports provide rollup. Here's an example of rollup of completed and remaining work that the Stories Overview report provides. This report is part of the default TFS Agile process template.

Stories Overview example report

If you have SQL Server Analysis Services deployed, you can get rollup for backlog items from these reports. The refresh frequency for these reports is 2 hours.

TFS-Project Server integration

Like Project, Project Server natively supports rollup of summary tasks. If you have TFS-Project Server integration deployed, then you have rollup. To learn about how fields are synchronized, see Understand how updates to specific fields are managed. If you need to add fields or change how fields are mapped, see Customize the field mapping.

Custom control or plug-in

You can write an extension using the REST API for work tracking to get rollup. A code sample available on github that can get you started is TFS Aggregrator.

Rollup requirements

To support rollup, structure your work items according to the following recommendations:

  • Use parent-child links to link work items that contain values that you want to rollup.

  • Add required fields to the WITs that will capture the rollup values. Default fields used to schedule work are only present on the task work item. These fields are:

    • Original Estimate (Microsoft.VSTS.Scheduling.OriginalEstimate): The amount of work required to complete a task. (Agile and CMMI)

    • Completed Work (Microsoft.VSTS.Scheduling.CompletedWork): The amount of work that has been spent implementing a task. (Agile and CMMI)

    • Remaining Work (Microsoft.VSTS.Scheduling.RemainingWork): This field is used to support burndown charts.

      If your team project was created using the Visual Studio Scrum process template, only Remaining Work is defined in the task.

      To learn more about adding fields, see Modify a field or add a custom field.

  • Determine the unit of time used to track work and make sure it is used consistently across your team or organization. For example, you can track tasks using hours or days.

  • Determine if you want to make rollup values read-only on the work item form. By making them read-only you prevent users from entering inaccurate data. You make fields read-only using the Control field Readonly attribute.

Q & A

Q: Can I get rollup of team capacity?

A: No. The data entered for team capacity isn't stored in the regular data stores.