まとめ ~ 進化的ソフトウェア開発基盤
Visual Studio 2005 Team Foundation Server スタートアップガイド
近藤 和彦
マイクロソフト株式会社
最終更新日 2006 年 4 月 12 日
適用対象:
Microsoft Visual Studio 2005 Team Foundation Server
Visual Studio 2005 Team Edition for Software Architects、Team Edition for Software Developers、Team Edition for Software Testers、Team Suite
※本ホワイトペーパーは翔泳社が発行する 『Windows Developer マガジン
』 2006 年 1 月号における特別付録「Team Foundation Server スタートアップガイド :ソフトウェア構築の未来へ」の内容を翔泳社のご好意により掲載させていただいているものです。
これはTFSに限った話ではありませんが、適切な開発環境の提供が、チーム開発の生産性向上と品質確保に重要な鍵を握っていることは言うまでもありません。それでは、実際にこのようなチーム開発環境を効果的に提供するためにはどうすればよいでしょうか。
筆者の考えを述べると、現状、このような開発環境の構築は、プロジェクトごとに専門知識をたまたま持ち合わせているメンバーによってボランティア的に行なわれていることが多く見られます。しかし、年々開発が複雑化していく中で生産性や品質を維持するためには、人に依存した場当たり的な対応ではなく、環境構築に関する "仕組み" を確立することが重要であると考えています。
多くの企業においては、ITインフラストラクチャが整備されています。作業効率を向上させるためのネットワーク、メール環境、グループウェアなど、そして安全に仕事をするためのセキュリティやポリシーが規定されているかと思います。業務においてITインフラストラクチャが必要不可欠であるように、開発においてもやはり開発のためのインフラストラクチャが必要であるのではないでしょうか。
筆者が考えるソフトウェア開発環境の理想として図24をあげておきます。
図 24 :進化的ソフトウェア開発基盤の構築
これまで開発標準を策定する場合、最終的にドキュメントとして作成されることが多くありましたが、進化的ソフトウェア開発基盤のコンセプトでは、ドキュメントとしてのガイドラインとそれに準拠するためのツールや環境一式をまとめて提供します。たとえば、キャパシティプランニングについて規定する場合には、単にキャパシティを計るための手順や指標値をドキュメント上に明記するだけでなく、実機で確認するためのツールやデータサンプル、実施のためのトレーニングなど一式を提供するといった具合です。
そしてこれはひとつのプロジェクトで完結するのではなく、プロジェクトの枠を超えて整備され、すべてのプロジェクトに対して "ベストプラクティス" を提供します。
実際のプロジェクト立ち上げ時においては、すでに整備されている(または手順が既定されている)インフラストラクチャをベースに、プロジェクトの要件や制約に基づいてそのプロジェクトに最適化したうえで開発環境を提供します。プロジェクト遂行時には、インフラストラクチャで提供されているツールを活用したり、セキュリティやポリシーを適用しつつ、そのプロジェクトで生まれる成果物やナレッジを蓄積していきます。
最終的にはプロジェクトの結果に基づき、そこから生まれた成功や失敗をインフラストラクチャ側に反映して次のプロジェクトに活かす、つまりインフラストラクチャをより最適なものに "進化" させていきます。
さらに、ITインフラストラクチャを整備する部門(多くの場合では情報システム部門)が必要となるのと同じく、このデベロップメントインフラストラクチャを整備するための専門組織も必要とします。この組織は、開発の標準化を進めるだけでなく、実際にこのインフラストラクチャ自体を整備/開発し、そして実際のプロジェクトに適用するまでも引き受けます。プロジェクトの現場において環境の整備を行ない、プロジェクト遂行時にはサポートから使用方法のトレーニングまでを一手に引き受ける、これは、複雑化していく環境構築に対する知識や経験を集中させることも狙っています。
最終的にはこのようなインフラストラクチャを構築することが理想的ですが、はじめからすべてに取り掛かるということではありません。まずは実現可能なところから取り掛かり、必要な要素を後で追加したり改善していきます。はじめから最終形態を実現することは不可能であり、さらにおかれているビジネス環境や技術は絶えず変化していくため今最適なものが将来的にわたって保証されるとは限りません。そのために基盤側も "進化" というサイクルを繰り返すことが重要となっていきます。
TFSはまさしくこの進化的ソフトウェア開発基盤を実現するための機能を提供していると筆者は考えます。デベロップメントインフラストラクチャとして必要な一連の機能を提供するとともに、企業やプロジェクトに特化するための柔軟な拡張性を実現しています。TFSやVSTSで不足している機能についても、さまざまなパートナーからVSTSに対応した製品が提供されることが予定されているため、これらを組み合わせることによって最適化することができます。
本稿ではチーム開発をより効果的に実施するためのコラボレーション基盤であるTFSについて解説してきました。このTFSはVS2005のリリースより若干後の、2006年前半を予定しておりますが、すでにベータ版が提供されており、解説した機能を実際に試すことが可能です。
次世代のソフトウェア開発を支える基盤として進化したTFSをぜひ評価してみてください。
Team Foundation Server スタートアップガイド 目次
Chapter 1. Visual Studio 2005 Team Foundation Server 概要
Chapter 2. チーム開発の実現
Chapter 3. 作業項目管理
Chapter 4. プロジェクト管理
Chapter 5. レポーティング
Chapter 6. プロジェクトサイト
Chapter 7. 変更管理
Chapter 8. 自動ビルド
Chapter 9. Team Foundation Serverの構成
Chapter 10. まとめ ~ 進化的ソフトウェア開発基盤
『Windows Developer マガジン』について
Window Developer マガジン は、Windows で開発を行なうデベロッパーのための総合技術情報誌です。「Windows が稼動している限り必要とされる、開発にかかわる技術情報を提供してゆく」 を基本方針に、開発者が必要とする最新情報、技術情報を提供しています。
http://www.shoeisha.com/mag/windev/