Support rollup of work and other fields

Rollup provides summed values of select fields for all child work items of a parent. Because Visual Studio Online 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.

Natively, Visual Studio Online and TFS provides rollup of Remaining Work for tasks on the Task board.

Task board display rollup of Remaining Work

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


Visual Studio Online

On-premises TFS

SQL Server Reporting Services report

Not supported check mark

Microsoft Project

check mark check mark

Microsoft Excel

check mark check mark

TFS-Project Server integration

Not supported check mark

Custom plug-in or extension

Not supported check mark

In Visual Studio Online, you’re limited to the work item fields provided with the process template used to create your team project.

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.

If you need to add reports to your on-premises TFS deployment, see Add reports to a team project.

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 using Project.

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 Create or delete a macro.

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 between TFS and Project Server.

Custom control or plug-in

You can write an extension using the client object model for Team Foundation to get rollup. Two code samples available on CodePlex that can get you started are TFS Aggregrator and TfsRollUp.

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 or add a field to support queries, reports, and workflow.

  • 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.