開発環境にプロジェクト管理を組み込んだVSTS
 プロセスが重要と書きました。MSFにしてもそうなのですが,プロセスといっても特別なものではなく,多くは単にルールを記述した手順書になります。理解を促すために図もありますが,基本的に文章で書かれるものです。

 しかし,プロセスを読んで利用するだけでは不十分です。必要な作業に対して,正しいプロセスが選ばれ,作業自体がプロセスに従って正しく行われたかを検証しなければいけません。そうなると,プロジェクト参加者との共同作業をする上で,コミュニケーションに時間がかかってしまいます。また,プロジェクトの参加者が正しくプロセスを進めるために,プロセスに対する教育費用もかかってしまいます。これでは,生産性を上げる前に,導入したプロセスで費用と納期に悪影響が発生してしまいます。

 そこで,プロセスを効率よく導入し,正しく進めるためにVSTSというツールを使うわけです。VSTSは,プロセスの進行を自動的に検証し,参加者に正しく伝えてくれて,生産性を上げてくれます。


△ 図をクリックすると拡大されます
図3●Team Foundation Server(TFS)が中心となって,プロジェクトに関するファイルとステータスを管理する

△ 図をクリックすると拡大されます
図4●開発環境からTFSへ接続するメニュー
サーバーが各担当者の開発環境を統括
 今までのVisual Studioとは異なり,VSTSではプロジェクトに関するファイルとステータスを管理するために,「Team Foundation Server(TFS)」というサーバーを用意します(図3)。また,VSTSの「総合開発環境(IDE)」では,このTFSサーバーに接続するためのクライアント機能を持ちます,プロジェクトの参加メンバーは,IDEを起動して,TFSに接続します(図4)。そして作業を始めるプロジェクトを選びます。プロジェクトに参加するメンバーは,あらかじめ管理者により,役割および権限を与えられている必要があります。

 例えば,プロジェクト管理者がプロジェクトにいくつかの「機能」を追加で要求するとしましょう。それぞれの機能要求について,設計/実装/テストの作業をアーキテクト/開発者/QAに割り振る必要があります。しかし,単に作業を担当者に割り振るだけでは,どれをどの順番で行えばよいのか分かりません。それぞれの機能要求に関しても,機能の依存関係によっては,実装する順番があります。また,アーキテクトによる設計が終わる前に,開発者は実装できませんし,実装が終わる前に,QAはテストを行えません。単に作業を割り振るだけでは担当者は,「今何をやればいいのか」正しい判断がつきません。

 VSTSでは,機能要求を各担当者の作業へ,効率よく割り振る機能が用意されています。機能要求や担当者の作業を,VSTSの総合開発環境から表示編集したりするだけなく,それらの編集内容をOfficeのExcelやProjectに移して,VSTSと相互に編集したりできます。例えば,機能要求の収集の際にはExcelを利用し,作業の編集の際にはProjectを利用することで,所要期間の見積もり,実装の順番の設定,スケジュールの最適化,コストの見積もり——などを行えるのです。

 プロジェクトの進行中もプロジェクト管理者は,担当者に状況を問い合わせることなく,すべての作業を見られて,常に最新のプロジェクトの進行具合を確認できます。方法は,VSTSの作業一覧を通して見るだけでなく,ExcelやProjectを使ってもできます。現在の作業状況をレポートに作成する際にExcelを利用し,作業状況や機能要求を分析してリスク特定や変更する際にProjectを利用できます。

 VSTSを用いて割り当て作業を最適化すると,担当者は楽になります。担当者のやることは,総合開発環境でTFSに接続し,プロジェクトを選び,「自分に割り当てられている作業」を見るだけです。それだけでプロジェクト管理者や他の担当者と連絡を取ることなく,今何をやればいいのか,正しく判断できます。

 また,作業で利用するソース・ファイルなどは,関連作業と関連付けられています。担当者は作業を選び,関連付けられたファイルを開くことで,常に正しいファイルを利用できます。これらファイル自身もTFSが管理していますので,どこのファイル・サーバーにファイルがあるか確認することなく利用できます。

VSTSがプロセス進行の旗振り役に
 このようにVSTSを利用することで,システム開発時のプロセスの実行をサポートし,システム開発の生産効率を上げられるのです。


△ 図をクリックすると拡大されます
図5●新しい開発プロジェクトを設定する画面

 今回はプロセスの進め方には触れませんでしたが,新規にプロジェクトを作成する際には,MSFの進め方を利用きます。英語版になりますが,最新のベータ版では簡易版の「MSF Agile」が利用できます。これらを選ぶと,それぞれの進め方に合わせたテンプレートが用意され,テンプレートに合わせて作業を進められます。

 また,VSTSに組み込まれたプロジェクトの進め方だけでなく,既に社内で利用されている開発プロセスがある場合,それをVSTSに組み込み,検証しながら利用を進められます(図5)。

終わりに
 繰り返しになってしまいますが,大きなプロジェクトを成功させるためにはプロセスが必要です。そして,プロセスを正しく進めるためにはツールが必要です。われわれも,Visual Studioの開発現場で,VSTSのような社内ツールを使いプロセスを進めて,生産性を上げています。VSTS開発チームの中には,みずから評価のためにVSTSを利用しているところもあります。われわれは,VSTSが「みなさんの開発プロジェクトのお役に立ってもらいたい」との思いを込めながら,VSTSの開発を進めております。

 今回プロセス支援ツールとしてVSTSの機能要求と作業管理などを紹介しましたが,VSTSの機能はこれだけではありません。他にもアーキテクトのための設計支援作画機能,QA作業のためのテスト機能,ソース・ファイルの静的解析ツールなど,数多くの生産性を向上させる機能を持っています。VSTSの詳細はWebサイトでお知らせしていきますので,ご覧下さい(該当サイト)。

 なお,本内容および画面は英語版Visual Studio 2005 Team System Beta 2 Refreshを基にしてあります。日本語製品版のVSTSがリリースされた際には変更される場合もありますのであらかじめご了承ください。

 次回は,「顧客の声を聞く開発者になろう」です。



◆会社紹介◆

マイクロソフト プロダクト ディベロップメント リミテッド」は,日本のマイクロソフトの中で研究開発を担当する会社。日本のマイクロソフトの組織は,2つの会社で成り立っており,ほかにマーケティング,製品の流通,サポート業務を担当している「マイクロソフト株式会社」がある。