向敏捷项目组合管理添加积压工作 (backlog)

如果你希望项目组合积压工作 (backlog) 中除“功能”外还具有更多级别,可通过参见本主题了解如何添加级别。 当你将积压工作 (backlog) 整理到项目组合中时,可以查看较低级别的积压工作 (backlog) 中定义的工作汇总,包括多个团队正在进行的工作。 项目组合积压工作 (backlog) 可帮助确保呈现所有工作。

每个团队只能查看其处理的计划

本主题将指导你完成添加项目组合积压工作 (backlog) 的三个步骤:(1) 创建初始工作项类型,(2) 添加方案类别,(3) 以及添加方案项目组合积压工作 (backlog)。 完成此操作后,你需要通过在以下三个级别为工作分组来管理项目组合:产品积压工作 (backlog) 项、功能和方案。

创建名为“方案”的工作项类型

创建工作项类型 (WIT) 的最简单方法是复制现有工作项,对其重命名并编辑它以支持你的要求。

  1. 如果你不具有团队项目的管理权限,请获取这些权限。 若要编辑团队项目文件,你必须是**“团队项目管理员”**组的成员。

  2. 打开已安装 Visual Studio 或团队资源管理器的命令提示符窗口,然后输入:

    cd %programfiles%\Microsoft Visual Studio 12.0\Common7\IDE
    

    在 64 位版本的 Windows 上,将 %programfiles% 替换为 %programfiles(x86)%。 你可以免费下载团队资源管理器

  3. 将 Feature WIT 定义导出到标记为 Initiative 的 XML 文件。

    witadmin exportwitd /collection:"http://MyServer:8080/tfs/DefaultCollection" /p:MyProject  /n:Feature /f:Directory/Initiative.xml
    
  4. 编辑名为 Initiative 的文件。

    1. 重命名 WIT。 将 <WORKITEMTYPE name="Feature"> 替换为 <WORKITEMTYPE name="Initiative">,并更新说明。

      <witd:WITD application="Work item type editor" version="1.0" xmlns:witd="http://schemas.microsoft.com/VisualStudio/2008/workitemtracking/typedef">
      <WORKITEMTYPE name="Initiative">
         <DESCRIPTION>Tracks an initiative that will be released with the product. </DESCRIPTION>
      
    2. 添加希望使用此 WIT 跟踪的任何其他字段。 若要了解更多信息,请参见 修改或添加自定义工作项类型 (WIT)

    3. 编辑名为 Tab 的 Implementation 部分。 将 <Filter WorkItemType="Product Backlog Item" /> 替换为 <Filter WorkItemType="Feature" />。

      <Tab Label="Implementation">
       <Control Type="LinksControl" Name="Hierarchy" Label="" LabelPosition="Top">
         <LinksControlOptions>
            <LinkColumns>
               <LinkColumn RefName="System.Id" />
               <LinkColumn RefName="System.Title" />
               <LinkColumn RefName="System.AssignedTo" />
               <LinkColumn RefName="System.State" />
            </LinkColumns>
            <WorkItemLinkFilters FilterType="include">
               <Filter LinkType="System.LinkTypes.Hierarchy" FilterOn="forwardname" />
            </WorkItemLinkFilters>
            <ExternalLinkFilters FilterType="excludeAll" />
            <WorkItemTypeFilters FilterType="include">
               <Filter WorkItemType="Feature" />
            </WorkItemTypeFilters>
         </LinksControlOptions>
       </Control>
      </Tab>
      

      通过指定 Feature,可指示此选项卡控件将用于显示作为功能的子工作项。

  5. 导入该文件。

    witadmin importwitd /collection:"http://MyServer:8080/tfs/DefaultCollection" /p:MyProject /f:Directory/Initiative.xml
    

添加方案类别

现在,添加方案类别。 这将向过程配置方案积压工作 (backlog)。 敏捷体验将根据类别管理 WIT。

  1. 导出类别定义。

    witadmin exportcategories /collection:"http://MyServer:8080/tfs/DefaultCollection" /p:MyProject /f:Directory/categories.xml
    
  2. 添加方案类别。

    <CATEGORY refname="MyCompany.InitiativeCategory" name="Initiative Category">
        <DEFAULTWORKITEMTYPE name="Initiative" />
    </CATEGORY>
    

    你可以在定义文件中的任意位置添加此类别。 由于你正在添加自定义类别,因此最佳做法是用公司名称标记类别。

  3. 导入类别文件。

    witadmin importcategories /collection:"http://MyServer:8080/tfs/DefaultCollection" /p:MyProject /f:Directory/categories.xml
    

将方案类别添加到项目组合积压工作 (backlog) 层次结构

在最后一个步骤中,将方案项目组合积压工作 (backlog) 添加到过程中,并修改功能项目组合积压工作 (backlog) 来反映方案和功能之间的层次结构。 过程配置将决定项目组合积压工作 (backlog) 中的父-子关系。

  1. 导出 ProcessConfiguration 文件:

    witadmin exportprocessconfig /collection:CollectionURL /p:ProjectName /f:"DirectoryPath\ProcessConfiguration.xml"
    
  2. 编辑该文件以在 PortfolioBacklogs 部分中添加新的组合积压工作 (backlog)。

    通过添加以下语法来添加方案类别。 替换名称、工作流状态值和默认列字段以与你使用的这些项匹配。

    <PortfolioBacklog category="MyCompany.InitiativeCategory" pluralName="Initiatives" singularName="Initiative">
          <States>
            <State value="New" type="Proposed" />
            <State value="In Progress" type="InProgress" />
            <State value="Done" type="Complete" />
          </States>
          <Columns>
            <Column refname="System.WorkItemType" width="100" />
            <Column refname="System.Title" width="400" />
            <Column refname="System.State" width="100" />
            <Column refname="Microsoft.VSTS.Common.BusinessValue" width="50" />
            <Column refname="Microsoft.VSTS.Scheduling.TargetDate" width="100" />
            <Column refname="System.Tags" width="200" />
          </Columns>
          <AddPanel>
            <Fields>
              <Field refname="System.Title" />
            </Fields>
          </AddPanel>
     </PortfolioBacklog>
    

    如果已修改工作流状态,请验证每个工作流状态都已映射到元状态 Proposed、InProgress 和 Complete 之一。 工作流中的最后一个状态必须映射到 Complete。

  3. 编辑功能类别的 PortfolioBacklog 元素以指向作为父积压工作 (backlog) 的 Initiative。

    <PortfolioBacklog category="Microsoft.FeatureCategory" parent="MyCompany.InitiativeCategory" pluralName="Features" singularName="Feature">
    

    中间项目组合积压工作 (backlog) 需要指定父类别,必须将其配置为项目组合积压工作 (backlog)。

  4. 将用于方案的颜色添加到 WorkItemColors 部分。

    <WorkItemColor primary="FFFF6600" secondary="FFFEB380" name="Initiative" />
    

    这将分配亮橙色作为列表显示所用的主要颜色,并分配暗橙色作为看板所用的颜色。

  5. 导入该文件。

    witadmin importprocessconfig /collection:CollectionURL /p:ProjectName /f:"DirectoryPath\ProcessConfiguration.xml"
    
  6. 打开或刷新 TWA 的浏览器,并确认项目组合积压工作 (backlog) 按预期方式工作。 请参阅处理项目组合积压工作 (backlog)

问题解答

问:我可以添加多少个项目组合积压工作 (backlog)?

**答:**你最多可以添加五个项目组合积压工作 (backlog)。 这包括功能的默认积压工作 (backlog)。 从顶级项目组合积压工作 (backlog) 到任务,总共向你提供了七个级别。

项目组合积压工作 (backlog) 的 5 个级别的概念图

问:什么控制了项目组合积压工作 (backlog) 的层级结构?

**答:**过程配置通过将父类别分配到项目组合积压工作 (backlog) 类别来确定层次结构。 仅支持父-子关系。 层次结构中的最高类别不包含父分配。

问:我是否可以拥有多个在用于项目组合积压工作 (backlog) 的类别中定义的 WIT?

**答:**可以。 例如,可以将“目标”和“方案”WIT 添加到项目组合积压工作 (backlog) 类别。 主要限制是不得将同一 WIT 添加到分配给过程配置的以下某一部分的两个不同类别:PortfolioBacklog、RequirementBacklog 或 TaskBacklog。

问:除了使用项目组合积压工作 (backlog) 之外,我是否可以嵌套积压工作 (backlog) 项?

**答:**可以嵌套积压工作 (backlog) 项,但不能嵌套项目组合积压工作 (backlog) 项。 建议不要使用嵌套。

问:我向团队项目中添加了项目组合积压工作 (backlog)。为什么不是所有团队成员都能查看这些积压工作 (backlog)?

**答:**要查看并使用项目组合积压工作 (backlog),要求每名个团队成员具有高级访问权限

问:我可以从何处了解有关定义文件的语法的详细信息?

**答:**这些参考主题提供了语法信息:

问:可从何处了解用于导入和导出定义文件的命令行的详细信息?

**答:**这些参考主题提供了可使用的命令行工具语法和示例:

问:如果我遇到更多问题,可向何处寻求帮助?

**答:**你也许能够找到你的问题的答案,或者你可以将问题发布到下列 TFS 论坛之一: