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.

任务板显示“剩余工作”的汇总

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

Method

Visual Studio Online

On-premises TFS

SQL Server Reporting Services report

不支持 选中标记

Microsoft Project

选中标记 选中标记

Microsoft Excel

选中标记 选中标记

TFS-Project Server integration

不支持 选中标记

Custom plug-in or extension

不支持 选中标记

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.

情景概述示例报表

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 向团队项目中添加报表.

Microsoft Project

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

任务板显示“项目”的往返汇总

To learn how, see 使用项目汇总预计和实际工作.

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 使用 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 了解如何管理特定字段的更新. If you need to add fields or change how fields are mapped, see 自定义 TFS 与 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 定义工作项字段.

  • 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

Dn217871.collapse_all(zh-cn,VS.120).gifQ: Can I get rollup of team capacity?

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