チーム システム
重要な Power Tool
Brian Randell

目次
マイクロソフトは、購入済み製品に価値を追加する手段として、出荷済み製品への新機能の導入を長い間行ってきました。多くのチームが、Power Toy の名の下でこのような拡張機能をリリースしてきました。
Power Toy と見なされる最初のリリースは、Windows チームが Windows
® 95 用に行いました (詳細については、Raymond Chen のブログ
blogs.msdn.com/oldnewthing/archive/2005/02/02/365432.aspx を参照)。Visual Studio
® Team System (VSTS) チームなどの他のチームも後に続きました。重要なのは、マイクロソフトの他のチームからリリースされた Power Toy の多くとは異なり、VSTS チームがこの方法でリリースしたツールの多くは必須だということです。
このコラムでは、現在利用できる主要なツールを紹介し、実際にダウンロードして使用する必要があると筆者が考えるツールついて説明します。説明する項目の多くは VSTS 2005 用ですが、VSTS 2008 バージョンで利用できる最新リリースのツールに重点を置いています。
Team System Web Access
最初にダウンロードする必要があるのは、VSTS Web Access 2008 Power Tool (
go.microsoft.com/fwlink/?LinkId=120834) です。Team System Web Access (TSWA) では、
図 1 に示すように、Team Foundation Server (TFS) インストールへのリッチな Web ベース アクセス メカニズムが提供されています。TSWA を使用すると、作業項目を管理し、レポートを構築、表示、実行し、SharePoint
® のドキュメント ライブラリにアクセスし、バージョン管理下にあるソース ファイルを表示することができます。マイクロソフトはこのツールを開発し、2007 年 3 月に利用可能なツールに加えました。
図 1 Team System Web Access (クリックすると拡大画像が表示されます)
チームは、最初のいくつかのリリースの後で、名前を Power Toy から Power Tool に変更しました。TFS の開発者であり "名付け親" でもある Brian Harry は、このことを自分のブログ (
blogs.msdn.com/bharry/archive/2006/09/04/739645.aspx および
blogs.msdn.com/bharry/archive/2006/11/30/team-foundation-server-roadmap.aspx) で説明しています。Brian は、VSTS チームが提供している機能は実際には Toy (おもちゃ) ではないと指摘しています。これらの機能は、例外的またはサイクルに含まれない、製品の更新または拡張です。
VSTS チームとマイクロソフトの両方がこれらのツールをサポートしています。したがって、安心してツールを使用できます。実際、時間がたてば、ツールの多くはコア製品に組み込まれると考えられます。たとえば、TSWA は、Team System の次のリリースではコア コンポーネントになる予定です。
筆者は、個人的には豊富なクライアント環境を優先しがちですが、豊富な Web インターフェイスを用意することは、実際、TFS を使用するほとんどの開発チームが必要とする重要な機能です。TSWA をインストールすると、統合認証またはフォーム ベース認証を柔軟に使用できるようになります。したがって、TSWA は、内部使用だけを目的としてイントラネットにインストールすることも、エクストラネット環境に展開することもできる柔軟性を備えています。
アプリケーション層に TSWA をインストールすることもできますが、通常は専用のサーバーに展開する必要があります。インストールする必要があるのは、Windows Server® 2003 または Windows Server 2008、IIS、および Team Foundation Client 2008 だけです。クライアントをインストールする必要があるのは、現時点では、TFS ライブラリ用の再配布可能なランタイムがないためです。TSWA およびユーザーが作成するカスタム コードは、クライアント ライブラリを使用して TFS にプログラムからアクセスします。
TSWA を展開すると、Windows ベースのクライアントに含まれるほとんどの機能と同じ豊富な Web インターフェイスが提供されます (大きな機能で不足しているのは、ソース コードのチェックインとチェックアウトです)。また、TSWA では、データ アクセス制限、テキスト検索、作業項目のワークフロー図など、独自の新機能も追加されています。
新しいチーム プロジェクト ウィザードが作成する SharePoint ポータルが TSWA とどのように関係するのか気になる読者もいるかもしれません。通常は、SharePoint サイトを内部チームおよび関係者に対する主要な Web インターフェイスと考えることができます。SharePoint サイトは、作成しているソフトウェア ソリューションに関係する成果物、プロジェクトの全体的なプロセス、およびレポートに焦点を当てています。TSWA では、作業項目など、現在の SharePoint では利用できない補助的な機能を提供します。さらに、TSWA は、外部の関係者やユーザーを迎え入れる簡単な方法を提供します。特に、SharePoint にアクセスする必要はないけれども、バグを登録してその進捗を追跡する必要のあるユーザーに有効です。
この最後の機能は重要です。Team Foundation Server 2008 のリリースで、マイクロソフトは、クライアント アクセス ライセンスがなくてもだれでもバグを登録し、そのステータスや不具合を追跡できるように、使用許諾契約を変更しました。ただし、TSWA には、ユーザーが誤って使用許諾契約に違反する (たとえば、他のユーザーの作業項目を管理する) 可能性のある機能へのアクセスを制限する簡単な方法はありません。この問題に対処するため、マイクロソフトは、VSTS 2008 の更新プログラム (現時点では TFS Bug Submission Portal Power Tool と呼ばれている) を提供する計画を発表しました。この更新では、ライセンスの変更によって許可される限られた機能セットに対してのみ、アクセスできるようになります。仕様については
go.microsoft.com/fwlink/?LinkId=120835 を参照してください。これは、Power Tool に関して計画されている更新のほんの 1 例です。
Team Foundation Server Power Tool
次のツールは、ほとんどのチームにとって大きな価値のあるユーティリティのセットである Visual Studio Team System 2008 Team Foundation Server Power Tool (
go.microsoft.com/fwlink/?LinkId=120836) です。現時点では、2008 年 3 月のリリースが最新です。
ツールのコレクションには、TFPT.exe、Visual Studio Team System Process Editor、Team Foundation Server Best Practice Analyzer、作業項目テンプレート、カスタム チェックイン ポリシー、Build Notification アプレット、TFSServerManager クライアントなどが含まれます。ダウンロードには、内容およびさまざまなツールの使用方法を説明する詳細な Microsoft® Word 文書が含まれます。
TFPT.exe は、%Program Files%\Microsoft Team Foundation Server 2008 Power Tools の下にあるコマンド ライン ツールです。TFS のバージョン管理サブシステムに主に使用される組み込みの TF.exe コマンド ライン ツールを拡張します。現時点では 19 個のコマンドがサポートされています (図 2 を参照)。

図 2 TFPT.exe のコマンド
| コマンド |
説明 |
| tfpt annotate |
ファイルの 1 行ごとの変更情報を表示します。 |
| tfpt bind |
VSS にバインドされたソリューションを TFS にバインドされたソリューションに変換します。 |
| tfpt changedocurl |
TFS にバインドされた Office ドキュメントのサーバー情報を更新します。 |
| tfpt createteamproject |
チーム プロジェクトを作成します。 |
| tfpt destroygl |
グローバル リストを破棄します。 |
| tfpt destroywi |
1 つ以上の作業項目を破棄します。 |
| tfpt destroywitd |
作業項目の種類とその作業項目を破棄します。 |
| tfpt getcs |
特定の変更セットの変更内容のみを取得します。 |
| tfpt history |
項目の履歴を表示します。 |
| tfpt online |
書き込み可能なファイルへの追加、編集、および削除を保留します。 |
| tfpt query |
作業項目を照会します。 |
| tfpt review |
ワークスペースの変更をレビュー (差分/表示) します。 |
| tfpt rollback |
変更セットをロールバックするための変更を保留します。 |
| tfpt treeclean |
バージョン管理下にないファイルを削除します。 |
| tfpt tweakui |
クライアントが TFS に接続する方法を拡張します。 |
| tfpt unshelve |
保留中の変更のあるワークスペースにアンシェルブします。 |
| tfpt uu |
ワークスペース内の変更されていないファイルに対する変更を取り消します。 |
| tfpt workitem |
作業項目を作成、更新、または表示します。 |
| tfpt workspace |
ワークスペースを更新します。 |
選択するコマンドによっては、追加パラメータの指定が必要な場合があります。また、ロールバック コマンドなどの一部のコマンドでは、コマンドを実行すると GUI が表示されます。多くのコマンドでは、TFS ワークスペースにマップしたフォルダからツールを実行する必要があることに注意してください。任意のローカル ワークスペースから TFPT.exe を簡単に実行できるようにするには、Path を変更します。
Team System の使用経験が長いユーザーは、createteamproject コマンドに注目するかもしれません。一部のユーザーにとっては、長い時間だったことでしょう。ご注意いただきたいのは、このコマンドが動作するには、SP1 を Visual Studio 2008 クライアントのインストールに適用する必要があることです。作業に非常に役立つ他のコマンドとしては、rollback、treeclean、workspace などがあります。ご自分で試してみてください。
Team Foundation Server Power Tool でのバージョン管理に関しては、他にも優れた点があります。まず、カスタム チェックイン ポリシー パックがあります。チェックイン ポリシーについては、MSDN
® Magazine の 2007 年 11 月号 (
msdn.microsoft.com/magazine/cc163320) で詳しく解説しました。この機能により、いくつもの便利なチェックイン ポリシーがインストールに追加されます。その中でも筆者が手放せないのは、Custom Path Policy と Changeset Comments Policy の 2 つです。
また、Visual Studio の内部についてもいくつかの拡張が行われました。Microsoft Team Foundation Server 2005 Power Tool からの拡張が、TFS 2008 に追加されました。Annotate はその 1 例です。ただし、それ以外のいくつかの機能には、まだ Power Tool が必要です。たとえば、Find in Source コマンド、Quick Label、および Windows エクスプローラ内のソース管理エクスプローラで選択したフォルダを開く機能は、単純ですが便利な機能です (図 3 を参照)。
図 3 Windows エクスプローラでフォルダを開く (クリックすると拡大画像が表示されます)
チーム プロジェクトを作成するたびに、プロセス テンプレートを指定します。マイクロソフトからは 2 つのテンプレートが標準で提供されています。とは言っても、基本のプロセス テンプレートを変更する必要のないユーザーはいません。ほとんどのチームでは、一部の作業項目にフィールドを追加する、レポートに会社のロゴを追加する、"バグ" という作業項目の名前を "不具合" に変更する、SharePoint プロセス ガイダンスに独自のドキュメントを追加するなどの作業を行う必要があります。
マイクロソフトは、この種のカスタマイズを可能にする拡張ポイントを公開するという大きな役割を果たしました。ただし、仕事でプロセス テンプレートを編集しているのでない限り、既製の環境では不十分です。Power Tool を使用しない場合、プロセス テンプレートをローカル ディスクにダウンロードし、バージョン管理下に置いてから、ファイルの編集を始める必要があります。
Business Intelligence Development Studio で提供されているような便利な GUI デザイナを使用して、レポート定義ファイルなどのファイルを編集できます。ただし、よく使われる作業項目の種類の定義ファイルのような他のファイル タイプについては、メモ帳または好みの XML エディタを使用して、山かっこの編集を始める必要があります。プロセス テンプレートの変更を初めて行う場合、これは最善の方法ではありません。
ありがたいことに、Power Tool にはプロセス テンプレート エディタが含まれています。インストールすると、Visual Studio の [ツール] のメニューに Process Editor のメニュー コマンドが追加されます。このツールを使用すると、ディスクにダウンロードしたテンプレートのコンポーネントを編集できます (または筆者の一般的な忠告には反しますが、作業項目の種類の定義などの項目をオンラインで編集できます)。たとえば、Microsoft Solutions Framework for Agile Software Development version 4 のテンプレートから Scenario という作業項目の種類を開き、シナリオで記述されている機能を出荷した後で任意の飲料を追跡するための新しいフィールドを定義し、このフィールドを作業項目レイアウトに追加して、変更をプレビューできます (図 4 を参照)。これらすべてを、XML を見ないで行うことができます。
図 4 変更された Scenario 作業項目の種類の定義 (クリックすると拡大画像が表示されます)
ただし、プロセス テンプレートの変更に慣れてくると、XML ファイルを直接編集する方が便利かもしれません。この場合も Process Editor が役に立ちます。ほとんどの画面には、編集中の特定の機能に関連する XML フラグメントを表示するための [View XML] (XML の表示) ボタンがあります。2008 年 3 月リリースでの大きな拡張は、作業項目の種類の定義へのカスタム コントロールの追加に関して、エディタでのサポートが更新されたことです。これより前のリリースでは、カスタム コントロールを使用する作業項目の種類の定義を開くと、エラーが発生しました。
Power Tool で作業項目に関連するもう 1 つの機能は、作業項目テンプレートです。特定の作業項目の種類に共通する既定の項目を含む作業項目テンプレートを作成します。その後、たとえば新しいバグを開く必要が生じたときは、テンプレートを選択すると、作業項目があらかじめ自動的に設定されます。2008 年 3 月リリースの拡張には、Team Explorer ウィンドウに独自のノードを持つ作業項目テンプレートが含まれます。
何年もの間、Brian Harry はマイクロソフトによる TFS の使用に関する統計を自分のブログに投稿してきました。この投稿には、バージョン管理下の項目の数、サーバーの稼働時間、ユーザーの数などのデータが含まれます。2008 年 3 月のリリースで、Brian は、このために使用してきたツールを TFSServerManager クライアントの名前で公開しました。このツールを使用すると、開発チームは TFS の使用状況に関する独自の統計を簡単に収集できます。
Team Foundation Server Best Practices Analyzer は、TFS の展開から構成情報を収集してテストを実行する診断ツールです。その後、特定のルールを使用して情報を分析し、情報、警告、またはエラー メッセージの形式で結果を提供します。さらに、警告およびエラーの状況の解決に役立つ記事へのリンクを提供します。
このツールは、プレインストール手順および TFS インストールの管理と監視の両方に役立ちます。ドキュメントは、Windows ヘルプ ファイル (TfsBpa.chm) の形式で付属しています。ただし、Best Practices Analyzer をインストールする前に、Windows PowerShell™ をインストールする必要があります。
最後に、チーム ビルドに関連して、Build Notification Power Tool があります。このツールは、Windows タスク バーの通知領域で動作します。このツールを構成して、TFS インストール上の特定のビルド定義のセットを監視できます。さらに、ビルドのキュー登録、開始、完了などのさまざまなイベントに基づいて、通知を受け取ることができます。ビルドのキュー登録などのイベントの 1 つが発生すると、画面の右下隅にメッセージが表示されます (図 5 を参照)。
図 5 新規ビルドの通知
最後に
紹介したツールはすべて非常に優れたものです。ただし、中にはローカル マシンやサーバーのインストールに悪影響を与えるものもあります (破損など)。実際の作業環境に影響がない場所で試してみるとよいでしょう。一方、TFS を所有しておらず、試してみたい読者もいるかもしれません。または、Visual Studio Team System 2008 Database Edition に興味があっても、現時点で所有していない読者もいるでしょう。
筆者がマイクロソフト向けに行っている仕事の 1 つに、完全な Team System のインストールおよびサンプル データとハンズオン ラボを含む Microsoft Virtual PC イメージの構築があります。この圧縮イメージを、
go.microsoft.com/fwlink/?LinkId=120876 からダウンロードできます。このイメージには、TFS の完全なインストールと共に Visual Studio 2008 Team Suite が収められています。
Virtual PC 2007 (または Virtual Server 2005 R2 SP1) を実行できるマシンおよび十分な空きディスク領域、RAM、最新のプロセッサがあれば、イメージをダウンロードして、独自のプライベートなサンドボックス環境で試してみることができます。マイクロソフトからは、2008 年 3 月末に最新バージョンのイメージが投稿されました。このイメージは、2008 年 12 月 31 日まで動作します。マイクロソフトはこのイメージの使用を評価のみに制限していることにご注意ください。運用環境では使用しないでください。
マイクロソフトは Windows 更新プログラムや新しい Power Tool などを含む更新イメージを投稿するので、数か月ごとにダウンロード サイトを確認してください。これは、Power Tool のようなツールを試したり、今は所有していない製品を評価したりするのに、とても便利な方法です。
Microsoft Team System チームのメンバは、可能な限り高品質の製品を提供しようと努めています。すべての機能を組み込むことができないまま出荷していることを承知のうえで、既存の購入製品に価値を付加する優れた追加製品と機能を提供しています。ただし、ここでは Power Tool の 2 つの主要なグループについてのみ紹介しました。Visual Studio Team System 2008 Database Edition Power Tool (
go.microsoft.com/fwlink/?LinkId=120940) と Visual Studio Team System Architecture Edition Power Tool (
go.microsoft.com/fwlink/?LinkId=120941) および主要な Visual Studio 製品もダウンロードできます。ここで紹介した機能をダウンロードし、VSTS のインストールを最大限に活用してください。
Brian A. Randell は、MCW Technologies, LLC のシニア コンサルタントです。マイクロソフト テクノロジについての講演や執筆を行っています。Microsoft MVP として、Pluralsight 社の Applied Team System コースの作成にも携わりました。
mcwtech.com/cs/blogs/brianr にブログを公開しています。