アジャイル ポートフォリオ管理へのバックログの追加

このトピックでは、ポートフォリオ バックログに機能以外のレベルが必要な場合に、レベルを追加する方法について説明します。 バックログをポートフォリオに整理すると、下位レベルのバックログで定義されている作業のロールアップを表示できます。これには、複数のチームで進行中の作業も含まれます。 ポートフォリオ バックログは、すべての作業が表現されていることを確認するために役立ちます。

チームには実行するイニシアティブのみが表示されます

このトピックでは、ポートフォリオ バックログの追加方法を 3 段階に分けて説明します。(1) Initiative 作業項目の種類を作成し、(2) Initiative カテゴリを追加して、(3) Initiative ポートフォリオ バックログを追加します。 完了すると、プロダクト バックログ項目、機能、および Initiative の 3 つのレベルに作業をグループ化して、プロジェクトのポートフォリオを管理できるようになります。

Initiative という名前の作業項目の種類の作成

作業項目の種類 (WIT) を作成する最も簡単な方法は、既存の 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="https://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
    

Initiative のカテゴリの追加

次に、Initiative カテゴリを追加します。 これにより、Initiative バックログがプロセス構成に追加されます。 アジャイル エクスペリエンスでは、カテゴリに従って WIT を管理します。

  1. カテゴリ定義をエクスポートします。

    witadmin exportcategories /collection:"http://MyServer:8080/tfs/DefaultCollection" /p:MyProject /f:Directory/categories.xml
    
  2. Initiative カテゴリを追加します。

    <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
    

ポートフォリオ バックログ階層への Initiative カテゴリの追加

この最後の手順では、Initiative ポートフォリオ バックログをプロセスに追加し、機能ポートフォリオ バックログを変更して、Initiative と機能の間の階層が反映されるようにします。 ポートフォリオ バックログ間の親子関係は、プロセス構成によって決定されます。

  1. ProcessConfiguration ファイルをエクスポートします。

    witadmin exportprocessconfig /collection:CollectionURL /p:ProjectName /f:"DirectoryPath\ProcessConfiguration.xml"
    
  2. ファイルを編集して、PortfolioBacklogs セクションに新しいポートフォリオ バックログを追加します。

    次の構文を追加して、Initiative カテゴリを追加します。 名前、ワークフロー状態の値、および既定の列のフィールドは、使用環境に合わせて置き換えてください。

    <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 要素を編集して、親バックログとして Initiative を指すように設定します。

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

    中間のポートフォリオ バックログには親カテゴリを指定する必要があり、その親カテゴリはポートフォリオ バックログとして構成されている必要があります。

  4. WorkItemColors セクションに、Initiative に使用する色を追加します。

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

    ここでは、リスト表示で使用する基本色として明るいオレンジ色を割り当て、かんばんボードで使用する色として薄いオレンジ色を割り当てています。

  5. ファイルをインポートします。

    witadmin importprocessconfig /collection:CollectionURL /p:ProjectName /f:"DirectoryPath\ProcessConfiguration.xml"
    
  6. ブラウザーで TWA を開くか更新し、ポートフォリオ バックログが意図したとおりに動作することを確認します。 「ポートフォリオ バックログの使用」を参照してください。

Q & A

Q: ポートフォリオ バックログはいくつまで追加できますか。

A: 最高 5 つのポートフォリオのバックログを追加できます。 これには、既定のバックログの機能が含まれます。 合計すると、最上位のポートフォリオ バックログからタスクまで 7 レベルに対応しています。

5 レベルのポートフォリオ バックログに関する概念図

Q: ポートフォリオ バックログ間の階層は何によって制御されますか。

A: 階層は、プロセス構成により、親カテゴリからポートフォリオ バックログのカテゴリへの割り当てを通じて決定されます。 サポートされているのは親子関係だけです。 階層内の最上位のカテゴリに親を割り当てることはできません。

Q: ポートフォリオ バックログで使用するカテゴリに複数の WIT を定義することはできますか。

A: できます。 たとえば、ポートフォリオ バックログのカテゴリに Goal と Initiative という WIT を追加できます。 主な制限として、プロセス構成の PortfolioBacklog、RequirementBacklog、TaskBacklog のいずれかのセクションに割り当てられている 2 つの異なるカテゴリに、同じ WIT を追加することはできません。

Q: ポートフォリオ バックログを使用している場合に、バックログ項目を入れ子にすることはできますか。

A: バックログ項目は入れ子にできますが、ポートフォリオ バックログ項目は入れ子にできません。 入れ子にすることはお勧めしません。

Q: チーム プロジェクトにポートフォリオのバックログを追加してきました。これをチームのメンバー全員が表示できないのはなぜですか?

A: ポートフォリオのバックログの表示および作業を実行するには、各メンバーに上級アクセスが必要です。

Q: 定義ファイルの構文は、どこで詳しく知ることができますか。

A: 構文の情報については、次のリファレンス トピックを参照してください。

Q: 定義ファイルのインポートとエクスポートに使用するコマンド ライン ツールに関する詳細は、どこで知ることができますか。

A: コマンド ライン ツールの構文と使用例については、次のリファレンス トピックを参照してください。

Q: 他に質問がある場合は、どこに問い合わせればよいですか。

A: 次の TFS のフォーラムのいずれかで、その他の質問への回答が見つかる場合があります。また、ここに質問を投稿することもできます。