はじめに
本稿はTFS(Visual Studio Team System 2008 Team Foundation Server)の作業項目を使い倒すために、様々なアプローチで便利な使い方を検証しているシリーズの第3回です。
今回は現在利用中のチームプロジェクトの作業項目定義をカスタマイズしていく方法と、もっと簡単に作業項目定義を作成するためのPower Toolの利用方法を確認しておきます。また、Power Toolを利用して出来上がった作業項目を簡単に利用していく方法も覚えてみましょう。
対象読者
- .NET Frameworkを利用した開発プロジェクトに携わっている人
- Visual Studio Team System 2008に興味がある人
- Team Foundation Serverの作業項目のカスタマイズに興味がある人
必要な環境と準備
本稿で解説している内容を実際に行うためにはVisual Studio Team System 2008 Team Foundation Serverが利用できる環境が必要です。
このための手順はシリーズ第1回の『TFSの作業項目をプロジェクトに合わせてカスタマイズする(前編) 』の「必要な環境と準備」で解説していますので、そちらを参照してください。
作業項目のカスタマイズ~チームプロジェクト編
前回までは作業項目定義を作成するための基礎知識と、それをもとにプロセステンプレートの段階でこれから利用する作業項目を作成する方法を見てきました。前から順番に作業できるときにはこの方法がベストな方法ですが、プロジェクト開始後に作業項目をカスタマイズしたくなった場合はどうしたらよいでしょうか? 作業項目を編集した新しいプロセステンプレートを作成し、それをもとに新しいチームプロジェクトを作成してそちらに移行するのでしょうか?
チームプロジェクトの使い方として、工程やイテレーションごとに新しいチームプロジェクトを用意してそれを使っていくという運用スタイルも考えられます。もちろんこのような方法を使って、工程やイテレーションの単位で見直しをしていくのもいいでしょう。しかし、TFSには作成済みのチームプロジェクトに対して作業項目定義を取得したり編集したり、新規に追加したりする機能が用意されています。この機能を利用することで、利用中のチームプロジェクトの作業項目定義を編集したり、新しい作業項目定義を追加したりといったことが可能になります。
作業項目定義の取得
まずは、チームプロジェクトから作業項目定義を取得する手順です。チームプロジェクトの準備ができていない場合には、第2回のチームプロジェクトを作成するという部分で方法を紹介していますのでそちらを参考に用意しておいてください。なお、実際に用意する場合には環境を合わせるために、プロセステンプレートは「MSF for Agile Software Development - v4.2」を利用するようにしてください。
なお、本稿では以下の環境に対して作業を行うことにします。
項目名 | 項目の値 |
サーバー名 | tfs2008 |
チームプロジェクト名 | CodeZineWITSample03 |
取得する作業項目定義 | タスク |
準備が整ったら早速やってみましょう。今回はコマンドプロンプトを利用していきます(ただし、Team Explorerがインストールされている端末で行う必要があります)。コマンドプロンプトを立ち上げたら、Visual Studioが標準インストールされている場合、「C:\Program Files\Microsoft Visual Studio 9.0\Common7\IDE」に移動します。このフォルダにはwitexport.exeというコマンドラインツールが用意されています。このツールを使って、次のリスト1に示すコマンドを実行してください。
witexport /t tfs2008 /p CodeZineWITSample03 /n タスク /f Task.xml
各オプションの意味は次の表の通りです。
オプション スイッチ |
説明 |
/t | TFS名を指定します。本稿の例では「tfs2008」です。 |
/p | チームプロジェクト名を指定します。本稿の例では「CodeZineWITSample03」です。 |
/n | 作業項目定義名を指定します。本稿の例では「タスク」です。 |
/f | 保存するファイル名を指定します。リスト1では「Task.xml」です。 |
作業が正しく完了すると「作業項目の種類のエクスポートが完了しました。」と表示されてコマンドが終了します。現在の作業フォルダにエクスポートした作業項目定義のファイル(今回の場合は「Task.xml」ファイル)があるのでこれを「デスクトップ」などの適当なフォルダに移動しておきます。このファイルを元に別の作業項目定義を作成する場合には「MyTask.xml」など別名のファイルに名前を変えておきましょう。
作業項目定義の編集
取得した作業項目を編集する方法は前回までに説明してきた方法と同様です。このため、編集の仕方については割愛します。既存の作業項目定義を参考にして新しい別の作業項目定義を作成したり、取得した作業項目定義をカスタマイズしたり、という作業そのものは前回の内容を参考にしてください。ただし、稼働中のものを編集するということで特に既存の作業項目定義を編集する場合の注意点があるのでそこは補足しておきます。
例えば、作業項目定義のフィールドを削除してしまった場合、チームプロジェクト内で既に作成されている作業項目内のデータも意味をなさなくなってしまいます。本当に必要がないなら構いませんが大抵そのようなことはないでしょう。逆に新しくフィールドを追加する場合、そのフィールドの規則を必須入力に設定してしまうと、既存の作業項目ではそのような値を設定していないため、こちらも整合性が取れなくなってしまいます。このように特に既存の作業項目定義を編集する場合には作成済みの作業項目との整合性を取っていくのがかなり手間のかかる作業になってきます。きちんとできればいうことはありませんが、なかなか難しい場合のお奨めは次のとおりです。
既存のフィールド定義を削除したい場合、本当に削除するのではなくフォーム定義から削除して、利用者から見えなくなるようにだけ設定します。新しいフィールド定義を追加したい場合、追加したフィールドにはできるだけフィールドの規則を適用しないようにします。ゴミが残ってしまったり、設定が甘くなってしまったりということもありますが、このような対処をとってできるだけ簡単に変更していけるようにしましょう。