次の方法で共有


ポートフォリオ バックログ レベルを追加する

Azure DevOps Services |Azure DevOps Server |Azure DevOps Server 2022

プロジェクトには、機能とエピックという 2 つのポートフォリオ バックログが含まれています。 さらにポートフォリオ バックログが必要な場合は、それらを追加できます。

重要

この記事は、Hosted XML およびオンプレミス XML プロセス モデルのプロジェクトカスタマイズに適用されます。 継承プロセス モデルについては、「プロセスの バックログまたはボードをカスタマイズする」を参照してください。

プロセス モデルの概要については、「 作業追跡エクスペリエンスをカスタマイズする」を参照してください。

ポートフォリオ バックログを使用して、ビジネス イニシアチブの下でバックログを整理します。 バックログをポートフォリオに整理すると、下位レベルのバックログで定義された作業の階層ビューが表示されます。これには、複数のチームで進行中の作業も含まれます。 プログラム マネージャーは、関心のあるバックログ項目の状態を追跡し、ドリルダウンして、すべての作業が確実に表されるようにすることができます。

注意

オンプレミスの Azure DevOps Server プロジェクトに対してポートフォリオ バックログ機能をまだ有効にしていない場合は、 最初に有効にします。

この例では、3 つ目のポートフォリオ バックログであるイニシアティブを追加します。 これを使用することで、管理チームは優先順位を設定し、イニシアチブに属する作業の進行状況を表示できます。

注意

Web ポータルの画像は、この記事の画像とは異なる場合があります。 これらの違いは、プロジェクトに対して行われた更新と、プロジェクトの作成時に使用されるプロセス テンプレート (アジャイルスクラムCMMI) に起因します。 明示的に説明しない限り、基本的な機能は変わりません。

3 つのポートフォリオ バックログが有効になっているスクリーンショット。

既定の機能とエピック バックログを含め、最大 5 つのポートフォリオ バックログを追加できます。 合計で、この構造では、最上位レベルのポートフォリオ バックログからタスクまでの 7 つのレベルが提供されます。 各チームは、 作業に使用するバックログを選択できます。

5 つのレベルのポートフォリオ バックログの図。

バックログまたはボードに別の作業項目の種類を追加するには、「 作業項目の種類をバックログとボードに追加する」を参照してください。

プロセスの概要

別のポートフォリオ バックログを追加するプロセスは、使用する プロセス モデル によって若干異なります。

  • Hosted XML の場合: プロセスをエクスポートし、定義ファイルを追加または更新してから、そのプロセスをインポートして、既存のプロジェクトを更新するか、それを使用してプロジェクトを作成します。
  • オンプレミス XML の場合: 作業追跡定義ファイルをエクスポートし、更新してから、プロジェクトにインポートします。

この記事では、次の 5 つの手順で アジャイル プロセス に基づいてポートフォリオ バックログをプロジェクトに追加する手順について説明します。

  1. 必要なファイルをエクスポートする
  2. Initiative の作業項目種類を作成
  3. イニシアティブ カテゴリを使用してカテゴリを更新する
  4. ProcessConfiguration を更新してイニシアティブ ポートフォリオのバックログを追加する
  5. プロジェクトを更新し、変更を確認する

スクラムまたは CMMI プロセスに基づいてプロジェクトを操作する場合は、同じ手順を適用できます。 完了したら、ユーザー ストーリー (または製品バックログアイテムまたは要件)、機能、エピック、イニシアティブの 4 つのレベルで作業をグループ化することで、プロジェクトのポートフォリオを管理できます。

詳細については、 プロセスとプロセス テンプレートの概要に関する記事を参照してください。 3 つのプロセス モデルの概要については、「 作業追跡エクスペリエンスをカスタマイズする」を参照してください。

1. 必要なファイルをエクスポートする

  1. Project Collection Administrators グループのメンバーでない場合は、管理者として追加します。 プロジェクトをカスタマイズするには、これらのアクセス許可が必要です。

  2. 必要なファイルを取得します。

2. Initiative という名前の作業項目の種類を作成する

作業項目の種類 (WIT) を作成する最も簡単な方法は、既存の WIT をコピーし、その名前を変更して、要件をサポートするように編集することです。 この例では、Epic WIT をコピーし、イニシアティブにラベルを付けます。

  1. Epic WIT 定義を、Initiativeというラベルの付いた XML ファイルにコピーします。 Epic.xml ファイルは、ProcessTemplate フォルダーの WorkItem Tracking フォルダーにあります。

  2. Initiativeという名前のファイルを編集します。

    1. WIT の名前を変更します。 WORKITEMTYPE name="Epic"WORKITEMTYPE name="Initiative"に置き換え、説明を更新します。

       <WORKITEMTYPE name="Initiative">
          <DESCRIPTION>Initiatives help program managers to effectively manage and organize work across several teams</DESCRIPTION>
          . . .
       </WORKITEMTYPE>
      
    2. 任意の追跡したいカスタムフィールドをこの WIT を使って追加してください。

    3. Tabという名前のFeatures セクションの名前をEpicsに変更し、Filter WorkItemType="Feature"Filter WorkItemType="Epic"に置き換えます。

       <Tab Label="Epics">
       <Control Type="LinksControl" Name="Hierarchy">
          <LinksControlOptions>
          <WorkItemLinkFilters FilterType="include">
          <Filter LinkType="System.LinkTypes.Hierarchy" />
          </WorkItemLinkFilters>
          <WorkItemTypeFilters FilterType="include">
             <Filter WorkItemType="Epic" />
          </WorkItemTypeFilters>
             <ExternalLinkFilters FilterType="excludeAll" />
             <LinkColumns>
                 <LinkColumn RefName="System.ID" />
                 <LinkColumn RefName="System.Title" />
                 <LinkColumn RefName="System.AssignedTo" />
                 <LinkColumn RefName="System.State" />
                 <LinkColumn LinkAttribute="System.Links.Comment" />
                 </LinkColumns>
          </LinksControlOptions>
       </Control>
       </Tab>
      

      この変更により、タブ コントロールはイニシアチブの子作業項目としてエピックを排他的に表示またはリンクします。

3. イニシアティブ カテゴリを使用してカテゴリを更新する

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

イニシアティブ カテゴリを Categories.xml ファイルに追加します (WorkItem Tracking フォルダーにあります)。

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

このカテゴリは、定義ファイル内の任意の場所に追加できます。 カスタム カテゴリを追加するため、会社名を使用してカテゴリにラベルを付けます。

4. ProcessConfiguration を更新してイニシアティブ ポートフォリオ バックログを追加する

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

  1. ProcessConfiguration ファイルを編集して、セクション内に新しいポートフォリオ バックログを PortfolioBacklogs 追加します。 (ProcessConfiguration.xml ファイルは、ProcessTemplate フォルダーの WorkItem Tracking/Process フォルダーにあります)。

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

    <PortfolioBacklog category="FabrikamFiber.InitiativeCategory" pluralName="Initiatives" singularName="Initiative" workItemCountLimit="1000">
      <States>
        <State value="New" type="Proposed" />
        <State value="Active" type="InProgress" />
        <State value="Resolved" type="InProgress" />
        <State value="Closed" 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.Scheduling.Effort" width="50" />
        <Column refname="Microsoft.VSTS.Common.BusinessValue" width="50" />
        <Column refname="Microsoft.VSTS.Common.ValueArea" width="100" />
        <Column refname="System.Tags" width="200" />
      </Columns>
      <AddPanel>
        <Fields>
          <Field refname="System.Title" />
        </Fields>
      </AddPanel>
    </PortfolioBacklog>
    

    ワークフローの状態を変更した場合は、各ワークフローの状態が、 ProposedInProgress、および Completeのいずれかのメタ状態にマップされていることを確認します。 ワークフロー内の最後の状態はCompleteにマップする必要があります。

  2. Epic Category の要素をInitiativeを親バックログとして指すように編集します。

    <PortfolioBacklog category="Microsoft.EpicCategory" pluralName="Epics"  
       singularName="Epic" parent="FabrikamFiber.InitiativeCategory"      
       workItemCountLimit="1000">   
       . . .  
    </PortfolioBacklog>
    

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

  3. [イニシアティブ] に使用する色を WorkItemColors セクションに追加します。

        <WorkItemColor primary="FFCC66FF" secondary="FFF0D1FF" name="Initiative" />
    

    これにより、リストディスプレイで使用する原色として明るいピンクが割り当てられ、セカンダリカラー(現在は使用されていない)に対してパラーピンクが割り当てられます。

5. プロジェクトを更新し、新しいポートフォリオ バックログへのアクセスを確認する

  1. プロジェクトを更新します。

  2. Web ポータルを開くか更新し、イニシアティブが期待どおりにポートフォリオ バックログとして表示されることを確認します。 詳細については、 バックログを整理するを参照してください。

  3. ポートフォリオ バックログで使用できるすべての機能を実行する必要があるユーザーに 高度なアクセス 権を付与します。 ホストされる XML の場合: 「ユーザーにライセンスを割り当てる」を参照してください。

定義ファイルのインポートとエクスポート (オンプレミスのみ)

オンプレミスの Azure DevOps Server に接続するプロジェクトを更新する場合は、 witadmin コマンドを使用して定義ファイルをインポートおよびエクスポートします。 次のファイルをエクスポートする必要があります。

  • Epic.xml
  • Categories.xml (WorkItem Tracking フォルダーにあります)
  • ProcessConfiguration.xml (WorkItem の追跡/プロセス フォルダーにあります)

ヒント

witadmin を使用すると、定義ファイルをインポートおよびエクスポートできます。 使用できるその他のツールには、プロセス エディターが含まれます (Visual Studio のバージョンをインストールしている必要があります)。 Visual Studio Marketplace からプロセス テンプレート エディターをインストールします

  1. 「witAdmin: 作業を追跡するためにオブジェクトをカスタマイズおよび管理する」に記載されている手順に従って、コマンド プロンプト ウィンドウを開きます。 次に例を示します。

witadmin コマンドを入力し、表示されている引数をあなたのデータで置き換えてください。 たとえば、WIT をインポートするには、次のようにします。

witadmin

CollectionURLの場合は、プロジェクト コレクションの URL を指定します。 ProjectNameの場合は、コレクション内で定義されているプロジェクトの名前を指定します。 URL を次の形式で指定します: http://ServerName:Port/VirtualDirectoryName/CollectionName

DirectoryPathの場合は、ダウンロードしたプロセス テンプレートを保持するWorkItem Tracking/TypeDefinitions フォルダーへのパスを指定します。 ディレクトリ パスは、次の構造に従う必要があります。 Drive:\TemplateFolder\WorkItem Tracking\TypeDefinitions

たとえば、ServiceApp WIT をインポートします。

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

次のコマンドを使用して、カテゴリをエクスポートおよびインポートし、構成を処理します。

witadmin exportwitd /collection:CollectionURL /p:"ProjectName" /n:TypeName /f:"DirectoryPath\WITDefinitionFile.xml"

witadmin importwitd /collection:CollectionURL /p:"ProjectName" /f:"DirectoryPath\WITDefinitionFile.xml"

witadmin exportcategories /collection:"CollectionURL" /p:"ProjectName" /f:"DirectoryPath/categories.xml"

witadmin importcategories /collection:"CollectionURL" /p:"ProjectName" /f:"DirectoryPath/categories.xml"

witadmin exportprocessconfig /collection:"CollectionURL" /p:"ProjectName" /f:"DirectoryPath/ProcessConfiguration.xml"

witadmin importprocessconfig /collection:"CollectionURL" /p:"ProjectName" /f:"DirectoryPath/ProcessConfiguration.xml"

FAQs

Q: ポートフォリオ バックログ間の階層を制御するものは何ですか?

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

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

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

Q: ポートフォリオ バックログを使用するだけでなく、バックログ項目を入れ子にすることはできますか。

A: バックログ項目を入れ子にすることはできますが、推奨はしません。 入れ子になったバックログ項目のドラッグ アンド ドロップ リンクはサポートされていません。 代わりに、 バックログ項目とポートフォリオ アイテムのマッピングを使用します

要件カテゴリに属する階層的にリンクされたアイテムがバックログとボードにどのように表示されるかの例については、「 バックログとボードが階層 (入れ子になった) 項目を表示する方法」を参照してください。