作業項目の種類をバックログとボードに追加する

Azure DevOps Services | Azure DevOps Server 2022 - Azure DevOps Server 2019

重要

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

選択したビジネス プロセスを満たすために、チームは追加の作業項目の種類 (WIT) を要件またはタスクとして追跡する必要があります。 これにより、それらを追加し、製品およびスプリント バックログまたはかんばんおよびタスク ボード内でそれらを追跡できます。

たとえば、ターゲット顧客に基づいてさまざまな種類の要件を追跡したり、ソースに基づいてさまざまな種類のバグを追跡したりできます。 ここでは、Fabrikam Fiber チームが、顧客サービス チームをサポートする作業を追跡するために Service App WIT を追加しました。

カスタム WIT (サービス アプリなど) を要件カテゴリに追加して、要件のように追跡する

ヒント

バックログとボードにバグを追加する必要がある場合は、「バックログとボードにバグを表示する」を参照して、チームの選択を行います。 別の WIT およびポートフォリオ バックログを追加する場合は、「ポートフォリオ バックログ レベルの追加」を参照してください

要件、タスク、またはバグとして追跡する WIT を追加するには、対応する手順を実行します。

Note

WIT は、要件カテゴリ、タスク カテゴリ、またはバグ カテゴリのいずれかのカテゴリにのみ追加することをお勧めします。 要件カテゴリとタスク カテゴリの両方に同じ WIT を追加できなくなります。 バグ カテゴリに追加した WIT は、チームに設定されたバグの動作に従います。

カスタマイズ シーケンス

ホストされた XML プロセス モデルのカスタマイズ シーケンス

Note

定義ファイルのインポート/エクスポートを使用してプロセスをカスタマイズする場合は、次のガイダンスを使用します。 それ以外の場合は、管理者 UI を使用してプロセスをカスタマイズする場合は、「プロセスのカスタム作業項目の種類を追加または変更する」を参照してください

プロセス定義ファイルに変更を加え、そのプロセスをインポートして、既存のプロジェクトを更新するか、プロセスを使用してプロジェクトを作成します。

オンプレミスの XML プロセス モデルのカスタマイズ シーケンス

最初に、作業追跡定義ファイルをエクスポートし、更新してから、プロジェクトにインポートします。

要件のように追跡する WIT を追加する

要件カテゴリに追加した WIT は、製品バックログとかんばんボードに表示されます。 アジャイル計画ツールをサポートするために、WIT 定義に必須フィールドが含まれていることを確認する必要があります。

  1. 最初の手順で示 されているように、プロセス (ホステッド XML) または定義ファイル (オンプレミス XML) をエクスポートします

  2. 計画ツールをサポートするように WIT 定義を編集します。

    追加または更新するカスタマイズ/構文

    Stack Rank フィールド (アジャイル、CMMI)

    <FIELD name="Stack Rank" refname="Microsoft.VSTS.Common.StackRank" type="Double" reportable="dimension">     
    <HELPTEXT>Work first on items with lower-valued stack rank. Set in triage. 
    </HELPTEXT>      
    </FIELD> 
    

    [バックログの優先度] フィールド (スクラム)

    <FIELD name="Backlog Priority" refname="Microsoft.VSTS.Common.BacklogPriority" type="Double" reportable="detail" /> 
    

    [値領域] フィールド

    <FIELD name="Value Area" refname="Microsoft.VSTS.Common.ValueArea" type="String"> 
    <REQUIRED />   
    <ALLOWEDVALUES>    
    <LISTITEM value="Architectural" />   
    <LISTITEM value="Business"/>   
    </ALLOWEDVALUES>   
    <DEFAULT from="value" value="Business" /> 
    <HELPTEXT>Business = delivers value to a user or another system; Architectural = work to support other stories or components  
    </HELPTEXT>   
    </FIELD>
    

    [要件の種類] フィールド (CMMI)

    <FIELD name="Requirement Type" refname="Microsoft.VSTS.CMMI.RequirementType" type="String" reportable="dimension">  
    <REQUIRED />  
    <ALLOWEDVALUES>  
    <LISTITEM value="Scenario" />  
    <LISTITEM value="Quality of Service" />  
    <LISTITEM value="Functional" /> 
    <LISTITEM value="Operational" />  
    <LISTITEM value="Interface" />  
    <LISTITEM value="Security" />  
    <LISTITEM value="Safety" />  
    <LISTITEM value="Business Objective" />  
    <LISTITEM value="Feature" />  
    </ALLOWEDVALUES> 
    <DEFAULT from="value" value="Functional" />  
    </FIELD>
    

    WORKFLOW セクション次のようにセクションを WORKFLOW 更新または確認します。

    • アジャイル、ユーザー ストーリー: 間のActiveRemoved切り替えを追加しますRemovedResolved。state= の場合に設定Activated ByされるルールとActivated Dateフィールドを削除しますResolved
    • スクラム、製品バックログ項目: 切り替えの Committed 追加 Removed
      をカスタマイズしたWORKFLOW場合は、ProcessConfiguration RequirementBacklog セクションで必要な状態からメタ状態へのマッピングを定義してください。

    FORM セクション追加または次のフィールドがセクションに FORM 追加されていることを確認します。

    • アジャイル:
    <Control FieldName="Microsoft.VSTS.Scheduling.StoryPoints" Type="FieldControl" Label="Story Points" LabelPosition="Left" />  
    <Control FieldName="Microsoft.VSTS.Common.ValueArea" Type="FieldControl" Label="Value area" LabelPosition="Left" />  
    
    • Cmmi:
    <Control Type="FieldControl" FieldName="Microsoft.VSTS.Scheduling.Size" Label="Size" LabelPosition="Left" />
    <Control Type="FieldControl" FieldName="Microsoft.VSTS.CMMI.RequirementType" Label="Type" LabelPosition="Left" /> 
    <Control FieldName="Microsoft.VSTS.Common.ValueArea" Type="FieldControl" Label="Value area" LabelPosition="Left" />  
    
    • スクラム:
    <Control FieldName="Microsoft.VSTS.Scheduling.Effort" Type="FieldControl" Label="Effort" LabelPosition="Left" />  
    <Control FieldName="Microsoft.VSTS.Common.ValueArea" Type="FieldControl" Label="Value area" LabelPosition="Left" />  
    
  3. カテゴリ定義を編集します。 要件カテゴリに WIT を追加します。 ここでは、サービス アプリを追加します。

    <CATEGORY name="Requirement Category" refname="Microsoft.RequirementCategory">
       <DEFAULTWORKITEMTYPE name="User Story" />
       <WORKITEMTYPE name="Service App" />
    </CATEGORY>
    
  4. 追加する WIT の ProcessConfiguration 定義: RequirementBacklog セクションを更新または確認します。 具体的には、次の条件が満たされていることを確認します。

    • 各ワークフロー状態の開始を type="Proposed"
    • かんばんボードに表示する中間ワークフローの各状態を type="InProgress"
    • 各ワークフロー状態の終了を type="Complete"
    • マップされている状態が 1 つだけであることを確認します type="Complete"
      たとえば、保留中のワークフロー状態を追加します。
    <States>    
         <State value="New" type="Proposed" />  
         <State value="Active" type="InProgress" />  
         <State value="Pending" type="InProgress" />  
         <State value="Resolved" type="InProgress" />  
         <State value="Closed" type="Complete" />  
    </States>   
    
  5. WIT カラー定義を ProcessConfiguration WorkItemColors セクションに追加します。 次に例を示します。

    <WorkItemColor primary="FF33CC33" secondary="FFD6F5D6" name="Service App" />
    
  6. プロジェクトを更新します。

    • ホストされた XML:プロセスをインポートします。
    • オンプレミスの XML:更新 した定義ファイルを次の順序でインポートします。
      a. WIT b. カテゴリ
      c. ProcessConfiguration

WIT を追加してタスクのように追跡する

タスク カテゴリに追加した WIT は、スプリント バックログとタスク ボードに表示されます。 追加する WIT では、アジャイル計画ツールをサポートするために必要なフィールドを指定する必要があります。

  1. 最初の手順で示 されているように、プロセス (ホステッド XML) または定義ファイル (オンプレミス XML) をエクスポートします

  2. 計画ツールをサポートするように WIT 定義を編集します。

    追加または更新するカスタマイズ/構文

    Stack Rank フィールド (アジャイル、CMMI)

    <FIELD name="Stack Rank" refname="Microsoft.VSTS.Common.StackRank" type="Double" reportable="dimension">  
    <HELPTEXT>Work first on items with lower-valued stack rank. Set in triage.  
    </HELPTEXT>   
    </FIELD> 
    

    ** [バックログの優先度] ** フィールド (スクラム)

    <FIELD name="Backlog Priority" refname="Microsoft.VSTS.Common.BacklogPriority" type="Double" reportable="detail" />   
    

    [アクティビティ ] フィールド (アジャイル、スクラム)

    <FIELD name="Activity" refname="Microsoft.VSTS.Common.Activity" type="String" reportable="dimension"> 
    <HELPTEXT&gt;Type of work involved&lt/HELPTEXT> 
    <SUGGESTEDVALUES&gt;  
    <LISTITEM value="Development" />    
    <LISTITEM value="Testing" />    
    <LISTITEM value="Requirements" />    
    <LISTITEM value="Design" />    
    <LISTITEM value="Deployment" />    
    <LISTITEM value="Documentation" />    
    </SUGGESTEDVALUES>    
    </FIELD>    
    

    [規範 ] フィールド (CMMI)

    <FIELD name="Discipline" refname="Microsoft.VSTS.Common.Discipline" type="String" reportable="dimension">  
    <ALLOWEDVALUES&gt;  
    <LISTITEM value="Analysis" />    
    <LISTITEM value="User Experience" />   
    <LISTITEM value="User Education" />    
    <LISTITEM value="Development" />   
    <LISTITEM value="Test" />   
    </ALLOWEDVALUES>    
    </FIELD>    
    

    [再メイン作業] フィールド (すべて)

    <FIELD name="Remaining Work" refname="Microsoft.VSTS.Scheduling.RemainingWork" type="Double" reportable="measure" formula="sum">    
    <HELPTEXT>    
    An estimate of the work remaining to complete the task (in person hours)  
    </HELPTEXT>
    </FIELD>    
    

    追加のスケジューリング フィールド (アジャイル、CMMI)

    <FIELD name="Original Estimate" refname="Microsoft.VSTS.Scheduling.OriginalEstimate" type="Double" reportable="measure" formula="sum">    
    <HELPTEXT&gt; The original estimate of work required to complete the task (in person hours)</HELPTEXT>   
    </FIELD>    
    <FIELD name="Remaining Work" refname="Microsoft.VSTS.Scheduling.RemainingWork" type="Double" reportable="measure" formula="sum">    
    <HELPTEXT>An estimate of the work remaining to complete the task (in person hours)
    </HELPTEXT>  
    </FIELD>    
    <FIELD name="Completed Work" refname="Microsoft.VSTS.Scheduling.CompletedWork" type="Double" reportable="measure" formula="sum">    
    <HELPTEXT>    
    The work that has been completed for this task (in person hours)  
    <HELPTEXT>    
    </FIELD>    
    <FIELD name="Start Date" refname="Microsoft.VSTS.Scheduling.StartDate" type="DateTime" reportable="dimension" />   
    <FIELD name="Finish Date" refname="Microsoft.VSTS.Scheduling.FinishDate" type="DateTime" reportable="dimension" />   
    

    WORKFLOW セクション
    次のようにセクションを WORKFLOW 更新または確認します。

    • アジャイル、ユーザー ストーリー: 間のActiveRemoved切り替えを追加しますRemovedResolved。state= の場合に設定Activated ByされるルールとActivated Dateフィールドを削除しますResolved
    • スクラム、製品バックログ項目: 切り替えの Committed 追加 Removed
      をカスタマイズしたWORKFLOW場合は、ProcessConfiguration TestBacklog セクションで必要な状態からメタ状態へのマッピングを定義してください。

    FORM セクション
    次のフィールドがセクションに FORM 追加されていることを追加または確認します。

    • アジャイル:
    <Control FieldName="Microsoft.VSTS.Scheduling.StoryPoints" Type="FieldControl" Label="Story Points" LabelPosition="Left" />    
    <Control FieldName="Microsoft.VSTS.Common.ValueArea" Type="FieldControl" Label="Value area" LabelPosition="Left" />    
    
    • Cmmi:
    <Control Type="FieldControl" FieldName="Microsoft.VSTS.Scheduling.Size" Label="Size" LabelPosition="Left" /&gt;    
    <Control FieldName="Microsoft.VSTS.Common.ValueArea" Type="FieldControl" Label="Value area" LabelPosition="Left" />    
    
    • スクラム:
    <Control FieldName="Microsoft.VSTS.Scheduling.Effort" Type="FieldControl" Label="Effort" LabelPosition="Left" />   
    <Control FieldName="Microsoft.VSTS.Common.ValueArea" Type="FieldControl" Label="Value area" LabelPosition="Left" />    
    
  3. カテゴリ定義を編集します。 WIT をタスク カテゴリに追加します。 ここでは、サービス タスクを追加します。

    <CATEGORY name="Task Category" refname="Microsoft.TaskCategory">
       <DEFAULTWORKITEMTYPE name="Task" />
       <WORKITEMTYPE name="Service Task" />
    </CATEGORY>
    
  4. 追加する WIT の ProcessConfiguration 定義: TaskBacklog セクションを更新または確認します。
    具体的には、次の条件が満たされていることを確認します。

    • 各ワークフロー状態の開始を type="Proposed"
    • タスク ボードに表示する中間ワークフローの各状態を type="InProgress"
    • 各ワークフロー状態の終了を type="Complete"
    • マップされている状態が 1 つだけであることを確認します type="Complete"

    たとえば、ワークフローの状態を追加します Blocked

    <States>  
       <State value="New" type="Proposed" />  
       <State value="Active" type="InProgress" />  
       <State value="Blocked" type="InProgress" />  
       <State value="Resolved" type="InProgress" />  
       <State value="Closed" type="Complete" />  
    </States>  
    
  5. WIT カラー定義を ProcessConfiguration WorkItemColors セクションに追加します。 次に例を示します。

    <WorkItemColor primary="FFF2CB1D" secondary="FFF6F5D2" name="Service Task" />
    
  6. プロジェクトを更新します。

    • ホストされた XML:プロセスをインポートします。
    • オンプレミスの XML:更新 した定義ファイルを次の順序でインポートします。
      a. ウィット
      b. カテゴリ
      c. ProcessConfiguration
  7. タスク ボードに WIT を追加できることを確認します。 タスク ボード ページを開くか、既に開いている場合はページを更新します。
    ユーザー ストーリーへのリンクされた作業項目として、[タスク] または [サービス タスク] を選択できる必要があります。
    サービス タスクの作業項目の種類が追加されたタスク ボード

    タスク ボードで、作業項目をドラッグして状態を更新します。 状態が無効な列に項目をドラッグできないことがわかります。 たとえば、Task を [ブロック済み] 状態にドラッグしたり、タスクを解決済み状態にしたりすることはできません。 これらの状態を使用する場合は、対応する WIT 定義のワークフロー定義に追加します。

バグ カテゴリに WIT を追加する

バグ カテゴリに追加した WIT は、チーム設定基づいて処理されます。 これらの WIT は要件またはタスクとして扱われる可能性があるため、要件とタスクの両方でアジャイル計画ツールの要件を満たす必要があります。

  1. 最初の手順で示 されているように、プロセス (ホステッド XML) または定義ファイル (オンプレミス XML) をエクスポートします

  2. 「要件として追跡する WIT を追加する」の手順 2 に記載されている条件を満たすことで、計画ツールをサポートするように WIT 定義を編集し、タスクとして追跡する WIT を追加します。

  3. カテゴリ定義を編集します。 WIT をバグ カテゴリに追加します。 ここでは、2 つの WIT を追加します。

    <CATEGORY name="Bug Category" refname="Microsoft.BugCategory">  
       <DEFAULTWORKITEMTYPE name="Bug" />  
       <WORKITEMTYPE name="Service Bug" />  
       <WORKITEMTYPE name="Feedback" />  
    </CATEGORY>
    
  4. 追加する WIT の ProcessConfiguration 定義: BugWorkItems セクションを更新または確認します。

    具体的には、次の条件が満たされていることを確認します。

    • 各ワークフロー状態の開始を type="Proposed"
    • かんばんまたはタスク ボードに表示する中間ワークフローの各状態を type="InProgress"
    • 各ワークフロー状態の終了を type="Complete"
    • マップされている状態が 1 つだけであることを確認します type="Complete"

    たとえば、ワークフローの状態を追加します Investigate

    <States>  
     <State value="New" type="Proposed" />  
     <State value="Active" type="InProgress" />  
     <State value="Investigate" type="InProgress" />  
     <State value="Resolved" type="InProgress" />  
     <State value="Closed" type="Complete" />  
    </States>  
    
  5. WIT カラー定義を ProcessConfiguration WorkItemColors セクションに追加します。 次に例を示します。

    <WorkItemColor primary="FFF2CB1D" secondary="FFF6F5D2" name="Service Bug" />  
    <WorkItemColor primary="FFFF00FF" secondary="FFFFCCFF" name="Feedback" />  
    
  6. プロジェクトを更新します。

    • ホストされた XML:プロセスをインポートします。
    • オンプレミスの XML:更新 した定義ファイルを次の順序でインポートします。
      a. ウィット
      b. カテゴリ
      c. ProcessConfiguration
  7. バグの追跡方法に関するチーム設定を選択します。

  8. WIT が想定どおりにバックログとボードに表示され、バックログを通じて期待どおりに追加できることを確認します。

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

定義ファイルを インポートおよびエクスポートするには、witadmin コマンドを使用します。 詳細については、「wit管理: 作業を追跡するためのオブジェクトのカスタマイズと管理」を参照してください。

ヒント

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

  1. 「witAdmin: 作業を追跡するためにオブジェクトをカスタマイズおよび管理する」に記載されている手順に従って、コマンド プロンプト ウィンドウを開きます。 次に例を示します。
  1. コマンドを witadmin 入力し、表示される引数のデータを置き換える。 たとえば、WIT をインポートするには、次のようにします。

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

    [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"
    

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

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"  

バックログまたはボードに別の WIT を追加する方法を説明しました。 ただし、ポートフォリオ バックログとして機能する別の WIT を追加する場合は、「ポートフォリオ バックログの追加」を参照してください

作業追跡オブジェクトのカスタマイズに使用できるすべてのオプションの概要については、「作業追跡エクスペリエンスのカスタマイズ」を参照してください。

バックログまたはボードに階層要素または入れ子になった要素を表示する方法については、「バックログとボードで階層 (入れ子になった) 項目を表示する方法」を参照してください