次の方法で共有


Project を使用した見積もり作業と実績作業のロールアップ

Microsoft Project には、スケジュール エンジンがあるので、サマリー タスクのロールアップが自動的に生成されます。 ロールアップでは、親作業項目に含まれているすべての子作業項目の選択フィールドの合計値を確認できます。

ただし、その機能を正しく実行するために、いくつかの項目に注意する必要があります。 状況によっては、作業項目の種類 (WIT) にフィールドを追加し、Microsoft Project のマッピング ファイルを更新することが必要になります。 Project または TFS で作業しているときに、作業項目の内訳を構造化し、データの発行と更新によって各ツールからシームレスに移動することができます。 Project でベースライン スケジュールを設定してから、ロールアップ値を TFS に発行します。

Project では、見積もりの作業、完了した作業、残りの作業や、作業量、サイズ、ストーリー ポイントのロールアップを生成できます。 そのロールアップ値を TFS に発行すれば、作業項目フォーム、クエリ、バックログ ページでその値を表示できます。

タスク ボードにプロジェクトのラウンド トリップ ロールアップが表示される

ロールアップに対応した他の手段については、「クエリを使用した作業項目の検索 (更新予定)」を参照してください。

作業項目の種類へのフィールドの追加

作業スケジュールの設定で使用する以下の既定のフィールドは、タスク作業項目にのみ存在します。

  • 最初の見積もり (Microsoft.VSTS.Scheduling.OriginalEstimate): タスクを完了するために必要な作業量。 (アジャイルと CMMI)

  • 実績作業 (Microsoft.VSTS.Scheduling.CompletedWork): タスクのためにすでに費やされた作業量。 (アジャイルと CMMI)

  • 残存作業 (Microsoft.VSTS.Scheduling.RemainingWork): このフィールドは、バーンダウン グラフのために使用します。

Visual Studio Scrum のプロセス テンプレートを使用してチーム プロジェクトを作成した場合は、タスクの残存作業だけが定義されます。

  1. ロールアップ値を取り込む WIT に、必要なフィールドを追加します。

    たとえば、ユーザー ストーリーの最初の見積もりまたは実績作業のロールアップを生成する場合は、ユーザー ストーリーの WIT 定義に以下のフィールドを追加します。

    <FIELD name="Original Estimate" refname="Microsoft.VSTS.Scheduling.OriginalEstimate" type="Double" reportable="measure" formula="sum">
       <HELPTEXT>Initial value for Remaining Work - set once, when work begins</HELPTEXT>
    </FIELD>
    <FIELD name="Completed Work" refname="Microsoft.VSTS.Scheduling.CompletedWork" type="Double" reportable="measure" formula="sum">
        <HELPTEXT>The number of units of work that have been spent on this task</HELPTEXT>
    </FIELD>
    

    フィールドを追加する方法の詳細については、「クエリ、レポート、ワークフローをサポートするフィールドの変更または変更」を参照してください。

  2. 作業項目フォームでロールアップ値を読み取り専用にするかどうかを決めます。

    読み取り専用にすれば、ユーザーが TFS に不正確なデータを持ち込むことができなくなります。 フィールドを読み取り専用にするには、Control フィールドの Readonly 属性を使用します。

Microsoft Project のマッピング ファイルの更新

  1. Microsoft Project のマッピング ファイルを更新して、ロールアップに必要なフィールド マッピングを組み込みます。 詳細については、「Microsoft Project マッピング ファイルのアップロードまたはダウンロード」を参照してください。

    チーム プロジェクトの作成時に使用したプロセス テンプレートによっては、一部のマッピングがすでに組み込まれている場合もあります。 組み込むフィールドの例を以下に示します。

    <Mapping WorkItemTrackingFieldReferenceName=" Microsoft.VSTS.Scheduling.OriginalEstimate" ProjectField="pjTaskBaselineWork" ProjectUnits="pjHour" PublishOnly="false" IfSummaryRefreshOnly="false" />
    <Mapping WorkItemTrackingFieldReferenceName=" Microsoft.VSTS.Scheduling.CompletedWork" ProjectField="pjTaskActualWork" ProjectUnits="pjHour" PublishOnly="false" IfSummaryRefreshOnly="false" />  
    <Mapping WorkItemTrackingFieldReferenceName="Microsoft.VSTS.Scheduling.RemainingWork" ProjectField="pjTaskRemainingWork" ProjectUnits="pjHour" PublishOnly="false" IfSummaryRefreshOnly="false" />    
    <Mapping WorkItemTrackingFieldReferenceName="Microsoft.VSTS.Scheduling.StartDate" ProjectField="pjTaskStart" PublishOnly="true" IfSummaryRefreshOnly="false" />    
    <Mapping WorkItemTrackingFieldReferenceName="Microsoft.VSTS.Scheduling.FinishDate" ProjectField="pjTaskFinish" PublishOnly="true" IfSummaryRefreshOnly="false" />
    

    pjTaskDuration には最初の見積もりも他のどんなフィールドも対応付けないでください。 このマッピングはサポートされていません。

  2. 作業量、ストーリー ポイント、サイズを対応付ける場合は、たとえば以下のような pjTaskNumber のフィールドを使用します。

    <Mapping WorkItemTrackingFieldReferenceName="Microsoft.VSTS.Scheduling.StoryPoints" ProjectField="pjTaskNumber12" PublishOnly="false" IfSummaryRefreshOnly="false" />
    
  3. ロールアップのサマリー値を TFS データベースに発行するために、マッピング ファイルで PublishOnly="false" と IfSummaryRefreshOnly="false" を割り当てます。

ロールアップに対応するための作業項目の構造化

  1. 親子リンクを使用して、ロールアップの必要なすべての作業項目をリンクします。 たとえば、ユーザー ストーリーにリンクするタスクを作成します。

    そのためには、タスク ボードからタスクを作成するか、Project でスケジュールを作成します。

  2. 作業の追跡で使用する時間の単位を決めて、チームや組織の中でその単位を統一的に使用します。 たとえば、時間や日を単位にしてタスクを追跡できます。

  3. 各タスクの最初の見積もり (アジャイルと CMMI のみ) と残存作業の値を指定します。

    Project で作業している場合は、各タスクの存続期間を指定します。

  4. 機能レベルでロールアップを生成する場合は、親子リンクを使用して、ユーザー ストーリーや他のバックログ項目を機能にリンクします。

    マッピング ペインを使用すれば、項目を簡単にリンクできます。

ロールアップする作業項目のクエリの作成

Project で作業項目を作成した場合は、Project でそのまま作業を進めてスケジュールを作成できます。

一方、TFS で作業項目を作成した場合は、次の手順としてツリー クエリを作成する必要があります。 バックログ項目をタスクに表示することによって、バックログ ページからクエリを作成できます。

バックログ ページからクエリを作成する

ツリー クエリの詳細については、「作業項目のクエリ」を参照してください。

Project でのスケジュールの作成

  1. Project で作業項目を作成した場合は、手順 2 にスキップします。

    TFS で定義した作業項目のロールアップを生成する場合は、Project を開き、チーム プロジェクトに接続し、直前の手順で作成したクエリを開きます。

    Microsoft Project からチーム プロジェクトへの接続

    これで Project がチーム プロジェクトにバインドされました。 Team Foundation ガント ビューでは、いくつかの TFS フィールドの入力と表示がサポートされます。

    [チーム] リボン (または Project 2007 を使用している場合は [チーム] メニュー) が表示されない場合は、「Project を使用したバックログとタスクの作成」を参照してください。 Visual Studio をインストールしていない場合、Team Foundation アドインを入手するには、チーム エクスプローラーをインストールする必要があります。

  2. [スケジュール] ページ ([ファイル] > [オプション] > [スケジュール]) から、TFS で作業を追跡する方法に合わせるために必要なオプションを設定します。 たとえば、時間単位で作業を追跡する場合は、Project でも時間単位の追跡を設定します。 タスクのスケジュールを自動化する場合は、[自動スケジュール] を選択します。

    スケジュール オプション

  3. 必要なフィールドを表示するために列を追加します。 たとえば、最初の見積もりと実績作業を表示するための列を追加できます。 これらの TFS フィールドは、Project の基準作業フィールドと実績作業フィールドに対応します。

    マップされている TFS フィールドを確認するには、[列マッピング] を開きます。

    プロジェクト フィールドにマップされる TFS フィールドを表示

  4. 基準作業ではなく存続期間の列に作業も見積もりを入力します。

ベースラインの設定、変更とロールアップ値の TFS への発行

Microsoft Project を使用して親タスクと子タスクを作成すると、親タスクまたはサマリー タスクに、そのすべての子タスクで定義されている時間単位または日単位のロールアップが割り当てられます。

  1. 要件に合わせてスケジュールを設定したら、プロジェクトのベースラインを設定し、存続期間のフィールドの値を最初の見積もりのフィールドにコピーします。

    基準計画の設定オプション

       

    基準計画の設定

  2. Project で行った変更を TFS に発行する場合は、[発行および更新] フィールドを [はい] に設定します。 マイルストーン タスクや、作業項目に関連していないタスクを作成する場合は、このフィールドを [いいえ] に設定します。

  3. 変更とロールアップ値を TFS に発行します。

    発行

  4. スケジュールを変更したら、Project の計画を更新し、新しいベースラインを設定し、ロールアップ値を再発行します。

Q & A

Q: Microsoft Project のフィールド マッピング ファイルをカスタマイズするための詳しい情報をどこで調べることができますか。

A:Microsoft Project のフィールド マッピング ファイルのカスタマイズ」を参照してください。

Q: タスクの手動スケジュールと自動スケジュールにはどんな違いがありますか。

A: 次のリボン メニューからアクセスできるタスク モードを使用すると、チーム メンバーは、より柔軟にタスクをスケジュールすることができます。

タスク モード スケジューリングのリボン メニュー オプション

手動でスケジュールされたタスク (固定されたタスク アイコン アイコンで表示される) を使用すると、タスクの存続時間、開始日および終了日を手動でスケジュールできます。 チーム メンバーは、手動でスケジュールされたタスクを自分のスケジュール内に配置でき、Project により配置先が変更されることはありません。

自動スケジュールされたタスク (自動更新タスク モード アイコン) の開始日と終了日は、Project の以前のリリースと同様、タスクの依存関係およびプロジェクト カレンダーに基づくスケジュール エンジンによって決定されます。 旧バージョンの Project の自動スケジュールに慣れているプロジェクト マネージャーは、固有のタスクまたはプロジェクト全体に対して、新しい手動スケジュール機能をオフにすることもできます。

Q: チーム キャパシティのロールアップを取得できますか。

A: いいえ。 チーム キャパシティとして入力したデータは、通常のデータ ストアに格納されません。