はじめに
本連載ではこれまで、テスト駆動開発において開発者やテスト担当者が行う作業を通じ、いかにしてソフトウェア製品の品質を向上させるか、またその際にVisual Studio 2005(以下、VS2005)Team System(注1)の機能がどのように役立つかということを解説してきました。
ところが、実際の開発は複数のメンバーで、かつ様々な役割を持つチームで行われます。
最終回となる今回は、そのチーム開発における品質向上策として「開発プロセスの品質向上」「プロジェクトの管理」「情報共有」というテーマを取り上げます。もちろん、その中でVS2005 Team Systemの機能がどのように関わってくるのかについても解説します。今回取り上げるテーマでは、VS2005 Team Foundation Server(注2)と、そのクライアントであるTeam Explorerを利用します。
開発プロセスの品質向上
テスト駆動開発とこれまで説明してきた作業や各種のテストは、ソフトウェア製品そのものの品質、特に機能性や保守性を上げるのに寄与します。しかし、これだけで十分でしょうか。
開発者やテストの担当者が勝手気ままに、自分のやりたいように作業を行っていては、十分な品質確保は難しいでしょう。このような状態では、開発の順序や手順がでたらめだったり、誰がいつ作成/変更したのか、ビルドされたものが最新かどうかわからなかったりといった事態が発生しないとも限りません。
こういった状況を根本的に解決するため、開発プロセス全体の品質を向上させるというアプローチが必要になります。
では品質の高い開発プロセスとは、どのようなものでしょう。ISO9001やCMMを思い浮かべた方もいらっしゃることと思います。ただ、これらは容易に取得できるものではありません。
VS2005 Team Systemは、開発プロセスの品質向上を支援する機能があります。VS2005 Team Foundation Serverは、Microsoft Solutions Framework(以下、MSF)という開発プロセスのガイダンスを提供します。標準では、アジャイルプロセスモデルとCMMIプロセスモデルがあり、どちらもマイクロソフトの社内で実績のあるプロセスモデルです。
VS2005 Team Foundation Serverで開発プロジェクトを実践する際、これらのプロセスモデルを選択することになります。これによって、図1にあるようなプロセスのガイダンスのほか、そのプロセスモデルにしたがって作業項目や文書のテンプレートが用意されます。
VS2005 Team Foundation Serverが提供する開発プロセスモデルを選択すると、図2にあるような、そのプロセスでのWork Itemが用意されます。なお、Work Itemについては後ほど解説いたします。
MSFで提供されるガイダンスにしたがい、表示されているWork Itemの作業を実施することで、実証済みの品質の高い開発プロセスを実践できます。
実際の開発では、必ずしも用意されたプロセスをそのまま実践しなくてもいいでしょう。よい部分は利用し、自分たちの状況にあわない部分は変更するなど、柔軟にカスタマイズできることもVS2005 Team Foundation Serverの特徴です。この機能をうまく利用することで「開発プロセスの品質」向上が期待でき、結果として「製品の品質」の向上にもつながります。

