連載:VSTSで開発プロジェクトはこう変わる

第2回 TFSによるTeam System運用の実際

日立システムアンドサービス 酒井 達明
2006/04/08
Page1 Page2 Page3 Page4

■VSTSにおける開発プロセス

 チーム編成とともにVSTSの導入で検討が必要とるポイントの1つとして、「どの開発プロセスを採用するか」がある。

 チーム編成の解説でも紹介したとおり、VSTSはMSFの開発モデルをあらかじめ想定しているため、標準ではMSF for AgileおよびMSF for CMMI(Beta 3 Refreshの場合)のプロセスに準じたプロセス・テンプレートが提供されている。

 中〜小規模で比較的軽量な開発プロジェクトであれば、MSF for Agileを利用すればよい。また、比較的大規模な開発プロジェクトで、ドキュメントなどの中間成果物をきちんと作成・管理したいのであれば、MSF for CMMIを適用すべきである。

 しかしながら、すべての開発プロジェクトがMSFを適用するとは限らない。むしろ現実的には、MSFを適用しないプロジェクトの方が大多数であるといえよう。

 例えば、アジャイル・プロセスの代表格であるXPを採用しているケースもあるだろうし、RUP(Rational Unified Process)を用いてOOAD(オブジェクト指向分析/設計)による開発をするケースも考えられる。あるいは、大規模案件ではDOA(データ中心アプローチ)を用いた方がよいケースもある。また、大手のSIerは独自の開発プロセスを持ち、そのプロセスに従って開発しているケースも多い。

 そこで、独自のプロセス・テンプレートを用意し、自分たちの開発プロセスに合った作業項目を定義する必要が生じる。

 冒頭で紹介したとおり、TFSのプロセス・テンプレートはユーザーが任意でカスタマイズして利用できる。プロセス・テンプレートはXML形式で構成されているので、必要に応じて作業項目を追加・変更したり、作業項目の作成時や更新時に作業項目の詳細情報を入力するフォームのフィールド項目を追加したり編集したりすることができる。

 VSTSでプロセス・テンプレートを追加あるいは削除するには、メニューから[チーム]−[Team Foundation Serverの設定]−[プロセス テンプレート マネージャ]を実行する。


[プロセス テンプレート マネージャ]ダイアログ
このダイアログからプロセス・テンプレートの追加・削除を実行することが可能である。
  新規に作成あるいはカスタマイズしたプロセス・テンプレートをTFSにアップロードする。
  リストボックスで選択したプロセス・テンプレートをダウンロードする。既存のテンプレートはカスタマイズのベースとして利用できる。
  選択したプロセス・テンプレートを既定のテンプレートに設定する。既定のテンプレートは、チーム・プロジェクトを新規に作成する際に、デフォルトとして選択される。
  選択したプロジェクト・テンプレートを削除する。

 プロセス・テンプレートをカスタマイズする際には、まずベースとなるプロセス・テンプレートをダウンロードし、それをカスタマイズするというのが比較的簡単な方法である。ダウンロードを実行すると、ダウンロード時に指定したフォルダにプロセス・テンプレート一式が保存される。

 フォルダに保存されたプロセス・テンプレートで、カスタマイズすべきXMLファイルには以下の種類が存在する。もちろん、すべてを変更する必要はないが、用途に応じて変更することで、最適なプロセスを定義することが可能である。

XMLファイル名 ファイル・パス 定義される内容
ProcessTemplate.xml \ プロセス・テンプレート全体の定義
WorkItems.xml \WorkItem Tracking プロセスでToDo項目として定義されている作業項目の記述
Task.xml \WorkItem Tracking \TypeDefinitions プロセス・テンプレートで利用する作業項目の詳細定義。任意の作業項目の種類を新たに追加する場合は、新たなファイルで作業項目を定義する
ReportsTasks.xml \Reports プロセスで提供するレポートの種類と各レポートが利用するレポート定義ファイルを指定
VersionControl.xml \Version Control プロセスで利用するバージョン管理機能へのアクセス権およびチェックイン時メモ種別の定義
Classification.xml \Classification イテレーションやフェイズなど、プロジェクトの構造を定義
FileMapping.xml \Classification 作業項目の各プロパティ項目をOffice Projectフィールドへマッピングするための定義
GroupsandPermissions.xml \Groups and Permissions プロセスで適用するユーザー・グループおよびアクセス権の定義
WssTasks.xml \wss プロジェクト・ポータルで利用するドキュメント・ライブラリの種類および、あらかじめドキュメント・ライブラリに登録するドキュメントの種類の定義
プロセス・テンプレートを構成するXMLファイルの定義内容

 ここではこれらのXMLファイルの中で、WorkItems.xmlをカスタマイズする例を挙げて紹介しよう。WorkItems.xmlでは作業項目の種類の定義、チーム・プロジェクト作成時に定義される作業項目の定義、作業項目に対するチーム・クエリの定義がなされている。

 次の画面は、チーム・プロジェクトを新規に作成した際にあらかじめ定義されている作業項目をカスタマイズしている例だ。


WorkItems.xml内のWorkItem定義
<WI>〜</WI>タグで囲まれた範囲に作業項目を定義する。
  作業項目の[タイトル]を定義。
  作業項目を実施するイテレーションを定義。
  作業項目の初期状態(タスクの場合、[アクティブ]または[終了])を定義。
  作業項目発生の理由の初期状態を定義。
  作業項目詳細の[懸案事項]の初期値を定義。
  作業項目詳細の[終了基準]の初期値を定義。
  作業項目の[作業分野]の初期状態を定義。
  作業項目の[説明]を記述。

 作業項目(WorkItem)は<WI>タグで定義され、そのtype属性で作業項目の種別を指定する。この例では「タスク」を定義している。また、<FIELD>タグには、各作業項目フィールドの初期値を指定する。

 <WI>〜</WI>タグで囲まれたブロックを追加することで、プロセスで必要となる作業項目を追加することが可能である。従って、開発プロセスに沿った作業を定義していくことで、独自のプロセスに対応させることができる。

 また、作業項目の種類を独自に作成することも可能である。例えば、[チューニング]という作業項目を追加したいのであれば、Tuning.xmlというXMLファイルで作業項目の詳細を定義し、WorkItems.xmlに作業項目の1つとして、[チューニング]という名称やTuning.xmlのパスを定義すればよい。

 このように、プロセス・テンプレートの各XMLファイルを編集することにより、開発プロセスをユーザーの利用形態に合わせて定義することが可能となる。

 併せて、プロセス・テンプレートから参照されるドキュメント・テンプレート、レポート定義ファイル、プロジェクト・ポータル向けのコンテンツを用意することで、より本格的なカスタマイズが可能となる。


 INDEX
  Visual Studio Team Systemで開発プロジェクトはこう変わる
  第2回 Team Foundation ServerによるTeam System運用の実際
    1.システムとしてのVSTS
    2.VSTSの導入モデル
  3.VSTSにおける開発プロセス
    4.VSTSの構築と運用
 
インデックス・ページヘ  「Visual Studio Team Systemで開発プロジェクトはこう変わる」


Insider.NET フォーラム 新着記事
  • 第2回 簡潔なコーディングのために (2017/7/26)
     ラムダ式で記述できるメンバの増加、throw式、out変数、タプルなど、C# 7には以前よりもコードを簡潔に記述できるような機能が導入されている
  • 第1回 Visual Studio Codeデバッグの基礎知識 (2017/7/21)
     Node.jsプログラムをデバッグしながら、Visual Studio Codeに統合されているデバッグ機能の基本の「キ」をマスターしよう
  • 第1回 明瞭なコーディングのために (2017/7/19)
     C# 7で追加された新機能の中から、「数値リテラル構文の改善」と「ローカル関数」を紹介する。これらは分かりやすいコードを記述するのに使える
  • Presentation Translator (2017/7/18)
     Presentation TranslatorはPowerPoint用のアドイン。プレゼンテーション時の字幕の付加や、多言語での質疑応答、スライドの翻訳を行える
@ITメールマガジン 新着情報やスタッフのコラムがメールで届きます(無料)

注目のテーマ

Insider.NET 記事ランキング

本日 月間