使用项目汇总预计和实际工作
因为 Microsoft Project 具有计划引擎,所以它将自动生成摘要任务的汇总。 汇总提供父工作项下所有子工作项的选择字段的总值。
但若要让其正确运行,需要注意一些项。 你可能必须将字段添加到工作项类型 (WIT) 并更新 Microsoft Project 映射文件。 你可在 Project 或 TFS 中工作,调整工作项细分的结构,并通过发布和刷新数据从各个工具来回无缝移动。 在 Project 中设置基准计划后,将你的汇总值发布到 TFS。
通过 Project,可汇总预计、已完成或剩余工作以及工作量、大小或故事点 (story point)。 通过将汇总值发布回 TFS,可在工作项窗体、查询中或积压工作页面上查看这些值。
要了解支持汇总的其他方法,请参见使用查询查找工作项(待更新)。
将字段添加到工作项类型
用于计划工作的以下默认字段只存在于任务工作项中。
初始估计 (Microsoft.VSTS.Scheduling.OriginalEstimate):完成任务所需的工作量。 (Agile 和 CMMI)
已完成的工作 (Microsoft.VSTS.Scheduling.CompletedWork):实施任务所耗用的工作量。 (Agile 和 CMMI)
剩余工作 (Microsoft.VSTS.Scheduling.RemainingWork):此字段用于支持燃尽图。
如果使用 Visual Studio Scrum 过程模板创建你的团队项目,则在任务中仅定义“剩余工作”。
将所需字段添加到将捕获汇总值的 WIT。
例如,要汇总用户案例的初始估计或已完成工作,则将以下字段添加到用户案例的 WIT 定义:
<FIELD name="Original Estimate" refname="Microsoft.VSTS.Scheduling.OriginalEstimate" type="Double" reportable="measure" formula="sum"> <HELPTEXT>Initial value for Remaining Work - set once, when work begins</HELPTEXT> </FIELD> <FIELD name="Completed Work" refname="Microsoft.VSTS.Scheduling.CompletedWork" type="Double" reportable="measure" formula="sum"> <HELPTEXT>The number of units of work that have been spent on this task</HELPTEXT> </FIELD>
若要了解有关添加字段的详细信息,请参见修改或添加字段以支持查询、报告和工作流。
确定是否要在工作项窗体上将汇总值设置为只读。
通过将其设置为只读,可防止用户将数据不精确性引入 TFS。 使用 Control 字段 Readonly 属性,将字段设置为只读。
更新 Microsoft Project 映射文件
更新 Microsoft Project 映射文件,以包含支持汇总所需的字段映射。 有关详情,请参见上传或下载 Microsoft Project 映射文件。
一些映射可能已经存在,具体取决于创建你的团队项目的过程模板。 以下是要包含的字段的示例:
<Mapping WorkItemTrackingFieldReferenceName=" Microsoft.VSTS.Scheduling.OriginalEstimate" ProjectField="pjTaskBaselineWork" ProjectUnits="pjHour" PublishOnly="false" IfSummaryRefreshOnly="false" /> <Mapping WorkItemTrackingFieldReferenceName=" Microsoft.VSTS.Scheduling.CompletedWork" ProjectField="pjTaskActualWork" ProjectUnits="pjHour" PublishOnly="false" IfSummaryRefreshOnly="false" /> <Mapping WorkItemTrackingFieldReferenceName="Microsoft.VSTS.Scheduling.RemainingWork" ProjectField="pjTaskRemainingWork" ProjectUnits="pjHour" PublishOnly="false" IfSummaryRefreshOnly="false" /> <Mapping WorkItemTrackingFieldReferenceName="Microsoft.VSTS.Scheduling.StartDate" ProjectField="pjTaskStart" PublishOnly="true" IfSummaryRefreshOnly="false" /> <Mapping WorkItemTrackingFieldReferenceName="Microsoft.VSTS.Scheduling.FinishDate" ProjectField="pjTaskFinish" PublishOnly="true" IfSummaryRefreshOnly="false" />
不要将初始估计或任何其他字段映射到 pjTaskDuration。 不支持此映射。
如果要映射工作量、故事点 (story point) 或大小,使用 pjTaskNumber 字段,例如:
<Mapping WorkItemTrackingFieldReferenceName="Microsoft.VSTS.Scheduling.StoryPoints" ProjectField="pjTaskNumber12" PublishOnly="false" IfSummaryRefreshOnly="false" />
在映射文件中分配 PublishOnly="false" 和 IfSummaryRefreshOnly="false",使汇总摘要值发布到 TFS 数据库。
调整工作项结构以支持汇总
使用父子链接来链接可支持汇总的所有工作项。 例如,创建链接到用户案例的任务。
可通过从任务板创建任务或在 Project 中创建计划轻松做到这点。
确定用于跟踪工作的时间单位,确保其在你的整个团队或组织内使用一致。 例如,您可使用小时或天来跟踪任务。
指定初始估计值(仅 Agile 和 CMMI)和每项任务的剩余工作。
如果在 Project 中工作,则指定每项任务的“持续时间”。
如果要汇总到功能级别,可使用父子链接将用户案例或其他积压工作项链接到功能。
可使用映射窗格快速链接项。
创建要汇总的工作项的查询
如果已在 Project 中创建工作项,则可继续在 Project 中创建计划。
但是,如果你已在 TFS 中创建工作项,则下一步是创建树查询。 通过查看积压工作项到任务,可从积压工作页面创建查询。
有关树查询的详细信息,请参见工作项查询
在 Project 中创建计划
如果已在 Project 中创建工作项,则跳至步骤 2。
要获得已在 TFS 中定义的工作项汇总,可打开 Project,连接到团队项目,打开已在上一步中创建的查询。
现在 Project 跳至你的团队项目。 Team Foundation 甘特视图支持若干 TFS 字段的输入和显示。
如果未见到“团队”功能区(如果使用的是 Project 2007,则为“团队”菜单),请参见使用 Project 创建积压工作 (backlog) 和任务。 要获得 Team Foundation 外接程序,如果未安装 Visual Studio,则需安装团队资源管理器。
从“计划”页面(“文件”>“选项”>“计划”)设置需要与 TFS 中跟踪方式匹配的选项。 例如,如果以小时作为单位跟踪工作,则确保 Project 设置为跟踪小时。 要自动计划任务,选择“自动计划”。
添加列,显示所需字段。 例如,你可能需要添加列来显示初始估计和已完成工作。 这些 TFS 字段对应 Project 中的“基准工作”和“实际工作”字段。
要查看已映射哪些 TFS 字段,可打开“列映射”。
在“持续时间”列(而非“基准工作”列)中输入工作估计值。
设置基准,将更改和汇总值发布到 TFS。
使用 Microsoft Project 创建父任务和子任务时,它会将为其所有子任务定义的小时数或天数汇总分配给父任务或摘要任务。
当你有符合需求的计划时,设置“项目基准”,以将“持续时间”字段的值复制到“初始估计”字段。
要将在 Project 中作出的更改发布到 TFS,请确保“发布和刷新”字段设置为“是”。 如果创建与工作项无关的里程碑任务或其他任务,则将此字段设置为“否”。
将更改和汇总值发布到 TFS。
计划发生更改时,可刷新你的项目计划,清除基准并设置新基准,重新发布汇总值。
问题解答
问:我可从何处了解自定义 Microsoft Project 字段映射文件的详细信息?
**答:**请参见 自定义 Microsoft Project 字段映射文件。
问:手动和自动任务计划的区别是什么?
**答:**通过使用任务模式(可通过以下“功能区”菜单访问),你和你的团队成员在计划任务的方式上有更大灵活性。
通过使用 图标所指示的手动安排的任务,可以手动安排任务的持续时间以及开始日期和完成日期。 团队成员可在时间表中的任何位置布置手动安排的任务,Project 将不会移动它。
自动计划任务的开始日期和结束日期 () 由基于任务相关性和项目日历的计划引擎决定,这与 Project 的以前版本相同。 习惯使用以前版本的 Project 自动安排任务的项目经理可以对特定任务或整个项目禁用新的手动安排功能。
问:我能获得团队容量的汇总吗?
**答:**否。 为团队容量输入的数据没有保存在常规数据存储区中。