連載:Team Foundation Server 2010入門

第7回 Team Foundation Server 2010作業項目トラッキングを使いこなそう

WINGSプロジェクト りばてぃ(監修:山田 祥寛)
2011/02/23
Page1 Page2

作業項目によるアプリケーション・ライフサイクル管理(ALM)

 TFSの紹介でよくうたわれることに「プロジェクト管理」というものがある。確かにいままで紹介してきた機能を利用すれば、ソース・コードを管理したり1つ1つの作業を管理したりすることができる。作業項目にいたってはMicrosoft OfficeのExcelやProjectと連携できるため、そのままスケジュールや進ちょく管理に利用することももちろん可能だ*1

*1 ただし、今後紹介するレポート機能もきちんと使わなければ効果は薄れる。

 しかし、もう1つよくうたわれるアプリケーション・ライフサイクル管理(ALM:Application Lifecycle Management)を行うためには、個々の機能を個別に使っていくだけでは不十分だ。

 ALMを実現するための最初のステップは、すべての作業とその成果、さらに途中に発生した問題とその対処内容など、開発中に発生したさまざまな事項を追跡できるようにすることだ。「さまざまなな項目が関連している」という概念を単純化して図にすると、図8のような流れが考えられる。

図8 項目間の関連の概念を単純化した図
ソース管理機能による管理(=上部にある仕様書、設計書、ソース・コード)と、作業項目トラッキング機能(=中央部にある各作業や、下部にあるレビューやバグ)と、チーム・ビルド機能(=中央にあるビルド)は、相互に関連を持っている。

 例えば仕様書、設計書、ソース・コードは、TFS 2010のソース管理機能で管理できる。各作業は作業項目トラッキング機能で管理できるし、ビルドはチーム・ビルド機能を利用することができる。しかし、図8に示すように、それらの機能はすべて、相互に何かしらのつながりを持っているはずなので、これをTFS 2010でも表現できるようにしなければならないというわけだ。

 もちろんTFS 2010はその機能を持っている。いままでに紹介してきたソース管理、チーム・ビルド、作業項目は、それぞれが関連を持てるようになっているので順に紹介する。

ソース管理と作業項目の関連

 ソース管理と作業項目の関連については第3回のチェックインの制約でも少し触れたが、チェックインの際に作成される変更セットは、作業項目と関連付けることもできる。ここでは、「変更セットから設定する場合」と「作業項目から設定する場合」の2パターンを確認しておこう。

 まずは、変更セットから設定する場合だ。ソース管理に登録されているソース・コードをチェックインしようとすると、[チェックイン - 作業項目]ダイアログが表示されるので、左側のボタン・リストから[作業項目]を選択しよう。すると図9のようになる。

図9 [チェックイン - 作業項目]ダイアログで[作業項目]を選択

 ここで上部にある[クエリ]ドロップダウンから「クエリの選択」をすると、図10のように作業項目クエリを選択する[クエリの選択]ダイアログが表示される。

図10 作業項目クエリを選択する[クエリの選択]ダイアログ

 このダイアログにはチーム・プロジェクトに登録されている作業項目クエリが表示されているので、目的のものを選択して[OK]ボタンをクリックすれば、図9の画面に(クエリされた結果の)作業項目群が追加され、今度は図11のように表示される。

図11 作業項目一覧が表示された[チェックイン - 作業項目]ダイアログ

 最後に、図11のように関連付けを行いたい作業項目のチェックボックスにチェックを入れ、[チェックイン動作]コンボボックスから「関連付け」を選択してから[チェックイン]ボタンをクリックすれば、関連付けが終了だ。なお、[チェックイン動作]を「解決」に設定すると、関連付けられた作業項目の[状態]が「解決済み」に設定される。単に関連付けだけを行いたい場合には、「関連付け」を選択するようにしておこう。

 次は、作業項目から設定する場合だ。変更セットと関連付けを行いたい作業項目を開き、下部の領域から[すべてのリンク]タブを開く。すでに何らかの関連項目があれば、図5のようにそれらの項目が一覧に表示されるはずだ。ここでタブ内のメニューから[リンク先]ボタンをクリックし、表示されたダイアログで、[リンクの種類]ドロップダウンから「変更セット」を選択する(図12)。

図12 [リンクの種類]で「変更セット」の選択([リンク先]ボタン・クリック時に表示されるダイアログ)

 新しいダイアログが表示されるので、次に[参照]ボタンを押して、[変更セットの検索]ダイアログを表示させよう。このダイアログで目的の変更セットを検索できるが、例えばある特定のファイルを含んでいるもの、ある特定の人がチェックインしたものといった具合で検索が可能だ。必要ならば「MSDNライブラリ:変更セットに関する情報の検索」も参照していただきたい。

 このように、いずれを起点としても関連付けを行えるようになっているが、基本的にはチェックイン時に作業項目に関連付けるのがいいだろう。というのも、チェックインを行うということは何かしらの成果物を作成したはずで、その成果物はそれを指示する作業に基づくものであるはずなので、その成果物がどの作業によるものなのかを関連付ける方が自然だからだ。

 また、今回は紹介していないが、バグも作業項目の1つとして登録することができるようになっている。この場合もやはり、どのバグを直すためのチェックインなのかを示すためには、チェックイン時に関連付けを行う方が自然になるだろう。

チーム・ビルドと作業項目の関連

 チーム・ビルドと作業項目の関連付けは、ソース管理のそれと比べると少し分かりにくい。が、チーム・ビルドからの関連付けは自動的なものなので、あまり意識する必要はない。ここでは、どのように表示されるかだけを確認しておこう。

 チーム・ビルドから作業項目への関連付けが行われるのは、チーム・ビルドが失敗したときだけだ。どちらかというと関連付けというよりは作業項目が自動的に作成されるという方がニュアンス的には正しいだろう。

 実際に確認してみると、チーム・ビルド実施後、失敗を含む結果になると、図13のように表示される。

図13 チーム・ビルド実施後に失敗が含まれる場合の画面

 ここで、[最新のアクティビティ]の部分を見ると、「バグ 1, ビルド中に新しい バグ が作成されました」と記載されている。ここでいうバグとは、「バグ」という種類の作業項目のことを指しており、新しい作業項目が1つ作成されたことを示している。

 今度は、作業項目を確認してみよう。だが、自分のアクションによって行われたチーム・ビルド以外のバグを確認するには、あらかじめ用意されている作業項目クエリからでは検索できない。取りあえず全部を確認したい場合には、[作業項目の種類]が「バグ」である項目を表示できる新しいクエリを作成する必要がある。例として、同じチーム・プロジェクトに含まれ、[作業項目の種類]が「バグ」で、[状態]が「終了」以外のものを表示する作業項目クエリを作成して、結果を表示してみていただきたい。

 表示される結果には多少の違いがあるだろうが、図14のようにチーム・ビルドの失敗を示す内容が表示できれば成功だ。

図14 バグ作業項目を表示するクエリの実行結果の例

 次に、(クエリにより表示された)作業項目をダブルクリックして中身を表示し、下側の[システム情報]タブを表示すると、[発見されたビルド]欄にチーム・ビルド実行時に自動設定された名前と同じものが設定されていることを確認できる(図15参照)。チーム・ビルドとの関連付けは、この部分をもって行われている。

図15 バグ情報における関連付けの確認
[システム情報]タブ内の[発見されたビルド]欄でバグ作業項目とチーム・ビルドの関連付けが行われている。

 何度かチーム・ビルドを実施していると、ドロップダウンにはその数だけの名前が表示されるので、チーム・ビルドを何度か実施した後にも確認してみていただきたい。

 チーム・ビルドとの関連付けはこのドロップダウンだけで行われているため、ソース管理との関連付けと比べるとやや陳腐な感は否めない。だが、それなりに便利なものではある。

 例えばこの後で手作業でテストを実施したとしよう。何かしらのバグを発見し、新しくバグ作業項目を作成した際に、テストに利用したアプリケーションをビルドしたチーム・ビルドを把握していれば、先ほどのドロップダウンでその値を設定することができる。バグを報告された開発者は、チーム・ビルドの名前を知ることができれば、いつ時点の修正に起因するものかを簡単に追跡できる。チーム・ビルドには、ビルドとビルドの間に行われたチェックインの変更セットも同時に関連付いているため、前回は成功したのに今回は失敗だった場合は、その失敗したチーム・ビルドを特定することが(変更セットの特定につながるので)問題点の発見に役立つことになる。

 このような流れを可能にするためにも、作業項目にはどのビルドによるものかを設定できた方がよいというわけだ。当然だが、チーム・ビルドを利用しないビルドは(例えば各開発者が手元のVS 2010でビルドするなどした場合は)、このような設定が行えないため、チーム・ビルドの回でも補足説明した「管理したいビルドはチーム・ビルドで行う」ということが重要になってくる。この点はきちんと押さえたうえで、どのように作業項目とチーム・ビルドを利用していくかを検討するようにしていただきたい。

まとめ

 今回は前回紹介しきれなかった作業項目クエリとTFS 2010がプロジェクト管理を行うために重要な各機能の連携について解説を行った。特にソース管理、チーム・ビルド、作業項目はそれぞれが双方向に関連を持っているため、うまく利用していくことができれば、かなり有意義なツールになってくれるはずだ。

 ただし、ここまでやるには、大なり小なり現状とのギャップを埋める作業が発生してくることは間違いない。そのため、徐々に慣らしながら利用していくことも1つの案ではある。または、次回に紹介するTFS 2010による活動を可視化するレポート機能の優位性をもって、開発チーム・メンバーを説得して導入するという案も考えられる。

 次回は、ポータル・サイトやTeam Web Accessなど、Team Foundation Serverにアクセスするためのさまざまなツールについて紹介していく。end of article


 INDEX
  [連載]Team Fourndaiton Server 2010入門
  第7回 Team Foundation Server 2010作業項目トラッキングを使いこなそう
    1.作業項目クエリ
  2.作業項目によるアプリケーション・ライフサイクル管理(ALM)

インデックス・ページヘ  「連載:Team Foundation Server 2010入門」


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 記事ランキング

本日 月間