アジャイル ポートフォリオ管理へのバックログの追加
このトピックでは、ポートフォリオ バックログに機能以外のレベルが必要な場合に、レベルを追加する方法について説明します。 バックログをポートフォリオに整理すると、下位レベルのバックログで定義されている作業のロールアップを表示できます。これには、複数のチームで進行中の作業も含まれます。 ポートフォリオ バックログは、すべての作業が表現されていることを確認するために役立ちます。
このトピックでは、ポートフォリオ バックログの追加方法を 3 段階に分けて説明します。(1) Initiative 作業項目の種類を作成し、(2) Initiative カテゴリを追加して、(3) Initiative ポートフォリオ バックログを追加します。 完了すると、プロダクト バックログ項目、機能、および Initiative の 3 つのレベルに作業をグループ化して、プロジェクトのポートフォリオを管理できるようになります。
Initiative という名前の作業項目の種類の作成
作業項目の種類 (WIT) を作成する最も簡単な方法は、既存の WIT をコピーし、その名前を変更して、要件をサポートするように編集することです。
チーム プロジェクトの管理アクセス許可がない場合は、これらのアクセス許可を取得します。 チーム プロジェクト ファイルを編集するには、チーム プロジェクト管理者グループのメンバーである必要があります。
Visual Studio またはチーム エクスプローラーがインストールされている環境でコマンド プロンプト ウィンドウを開き、次のように入力します。
cd %programfiles%\Microsoft Visual Studio 12.0\Common7\IDE
64 ビット版の Windows で、%programfiles% を %programfiles(x86)% に置き換えます。 チーム エクスプローラーは無料でダウンロードできます。
Feature の WIT 定義を Initiative という XML ファイルにエクスポートします。
witadmin exportwitd /collection:"http://MyServer:8080/tfs/DefaultCollection" /p:MyProject /n:Feature /f:Directory/Initiative.xml
Initiative という名前のファイルを編集します。
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>
この WIT を使用して追跡する他のフィールドを追加します。 詳細については、「カスタム作業項目の種類 (WIT) の変更または追加」を参照してください。
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 を指定することで、このタブ コントロールが、子作業項目である機能の表示に使用されることを示します。
ファイルをインポートします。
witadmin importwitd /collection:"http://MyServer:8080/tfs/DefaultCollection" /p:MyProject /f:Directory/Initiative.xml
Initiative のカテゴリの追加
次に、Initiative カテゴリを追加します。 これにより、Initiative バックログがプロセス構成に追加されます。 アジャイル エクスペリエンスでは、カテゴリに従って WIT を管理します。
カテゴリ定義をエクスポートします。
witadmin exportcategories /collection:"http://MyServer:8080/tfs/DefaultCollection" /p:MyProject /f:Directory/categories.xml
Initiative カテゴリを追加します。
<CATEGORY refname="MyCompany.InitiativeCategory" name="Initiative Category"> <DEFAULTWORKITEMTYPE name="Initiative" /> </CATEGORY>
このカテゴリは、定義ファイル内の任意の場所に追加できます。 カスタム カテゴリを追加するため、ベスト プラクティスとして、会社名を使用してカテゴリにラベルを付けることをお勧めします。
カテゴリ ファイルをインポートします。
witadmin importcategories /collection:"http://MyServer:8080/tfs/DefaultCollection" /p:MyProject /f:Directory/categories.xml
ポートフォリオ バックログ階層への Initiative カテゴリの追加
この最後の手順では、Initiative ポートフォリオ バックログをプロセスに追加し、機能ポートフォリオ バックログを変更して、Initiative と機能の間の階層が反映されるようにします。 ポートフォリオ バックログ間の親子関係は、プロセス構成によって決定されます。
ProcessConfiguration ファイルをエクスポートします。
witadmin exportprocessconfig /collection:CollectionURL /p:ProjectName /f:"DirectoryPath\ProcessConfiguration.xml"
ファイルを編集して、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 にマップする必要があります。
機能カテゴリの PortfolioBacklog 要素を編集して、親バックログとして Initiative を指すように設定します。
<PortfolioBacklog category="Microsoft.FeatureCategory" parent="MyCompany.InitiativeCategory" pluralName="Features" singularName="Feature">
中間のポートフォリオ バックログには親カテゴリを指定する必要があり、その親カテゴリはポートフォリオ バックログとして構成されている必要があります。
WorkItemColors セクションに、Initiative に使用する色を追加します。
<WorkItemColor primary="FFFF6600" secondary="FFFEB380" name="Initiative" />
ここでは、リスト表示で使用する基本色として明るいオレンジ色を割り当て、かんばんボードで使用する色として薄いオレンジ色を割り当てています。
ファイルをインポートします。
witadmin importprocessconfig /collection:CollectionURL /p:ProjectName /f:"DirectoryPath\ProcessConfiguration.xml"
ブラウザーで TWA を開くか更新し、ポートフォリオ バックログが意図したとおりに動作することを確認します。 「ポートフォリオ バックログの使用」を参照してください。
Q & A
Q: ポートフォリオ バックログはいくつまで追加できますか。
A: 最高 5 つのポートフォリオのバックログを追加できます。 これには、既定のバックログの機能が含まれます。 合計すると、最上位のポートフォリオ バックログからタスクまで 7 レベルに対応しています。
Q: ポートフォリオ バックログ間の階層は何によって制御されますか。
A: 階層は、プロセス構成により、親カテゴリからポートフォリオ バックログのカテゴリへの割り当てを通じて決定されます。 サポートされているのは親子関係だけです。 階層内の最上位のカテゴリに親を割り当てることはできません。
Q: ポートフォリオ バックログで使用するカテゴリに複数の WIT を定義することはできますか。
A: できます。 たとえば、ポートフォリオ バックログのカテゴリに Goal と Initiative という WIT を追加できます。 主な制限として、プロセス構成の PortfolioBacklog、RequirementBacklog、TaskBacklog のいずれかのセクションに割り当てられている 2 つの異なるカテゴリに、同じ WIT を追加することはできません。
Q: ポートフォリオ バックログを使用している場合に、バックログ項目を入れ子にすることはできますか。
A: バックログ項目は入れ子にできますが、ポートフォリオ バックログ項目は入れ子にできません。 入れ子にすることはお勧めしません。
Q: チーム プロジェクトにポートフォリオのバックログを追加してきました。これをチームのメンバー全員が表示できないのはなぜですか?
A: ポートフォリオのバックログの表示および作業を実行するには、各メンバーに上級アクセスが必要です。
Q: 定義ファイルの構文は、どこで詳しく知ることができますか。
A: 構文の情報については、次のリファレンス トピックを参照してください。
Q: 定義ファイルのインポートとエクスポートに使用するコマンド ライン ツールに関する詳細は、どこで知ることができますか。
A: コマンド ライン ツールの構文と使用例については、次のリファレンス トピックを参照してください。
Q: 他に質問がある場合は、どこに問い合わせればよいですか。
A: 次の TFS のフォーラムのいずれかで、その他の質問への回答が見つかる場合があります。また、ここに質問を投稿することもできます。