Team Foundation 2008の導入を検討しているすべての開発チームへ
まず、覚えておいてほしいのは、Team Foundationはソフトウェア構成管理(SCM)のための製品であるということだ。
ソフトウェア構成管理とバージョン管理は混同されることが多いが、バージョン管理は構成管理で使われるツールのひとつで、手段にほかならない。達人プログラマでは構成管理は以下のように説明されている。
構成管理はプロジェクト管理の実践的手法の集合であり、ソフトウェアを的確かつ再現性のある工程に基づいて完成させることを可能にする。
つまり、構成管理には、リポジトリにはじまり、ローカルワークスペース、メインラインとブランチ、リリース(およびリリース修正)ブランチやフィーチャブランチなどのブランチ戦略、タスクレベルのコミットなどのバージョン管理に関する内容はもちろんのこと、ユニットテスト、ユニットテストの集合を自己テストコードとした回帰テスト、スモークテストや常時結合、ローカルビルド、自動配布などの実践的手法が含まれる。
Team FoundationはSCM製品なので、もちろんこのような実践的手法をサポートするための基本機能を備えており、製品全体がサポートする範囲は相当大きい。Team Foundationでは、ロールを定義して役割を分担することでこの問題を解決しようとしている。MSDNライブラリの内容も以下のようにロール毎に構成されている。
ロールによる役割分担に反対はしないが、それは私の仕事ではないといった思考に陥ってしまう危険性については考慮しておく必要があるだろう。
また、MSDNライブラリは、製品をどのように使用するのかに重点がおかれていて、どのような目的のためにその機能を使用する必要があるのかという点については、あまり詳しく説明されていない。
今、自分たちが行おうとしていることがソフトウェア構成管理パターンのどのパターンに当てはまり、他のパターンとどのように関連し、どのような目的を達成するためにそれを行おうとしているのかといったことを、Team Foundationを使用するチームのすべてのメンバに理解しておいてもらいたい。そして自律したチームとしてTeam Foudationを運用し、ユニットテスト、バージョン管理、自動化などのテクニカルプラクティスを当たり前のように実践できなければ、いつの間にかやるべき作業を手抜きして誰も行わず、Team Foundationが有効に活用できなくなってしまうだろう。
さらに、ワークアイテムのトラッキングや各種レポートなども管理者だけが使用するのではなく、チームのすべてのメンバが自己管理するために使用してもらいたい。
自律したチームとしてのTeam Foundationの運用は、ロールによる役割分担による運用以上に重要なのだ。
- -
以下、宣伝です(w
アークウェイでは、Visual Studio 2008 Team SystemとTeam Foundation Server 2008の導入を検討されている企業向けに、Visual Studio 2008の製品発売に先駆けて、以下の内容でのトレーニングを提供するための準備が整っています。
- Team Foundation概要
- テスト駆動開発
- バージョン管理
- プロジェクトの自動化
これらのトレーニングはそれぞれ自律したチームとしてのTeam Foundationの運用をサポートし、継続してTeam Foundaion導入の効果を得ることを目的としています。各トレーニングコンテンツはそれぞれ以下の構成となっています。