
開発プロジェクトにおいて、重要で欠かせないものの一つに「バージョン管理」があります。
低コスト、短納期、高品質の要望がますます高まるなか、今のバージョン管理のやり方から一歩先にふみ出すことで、生産性や品質をさらに高めることができる可能性があります。
ここでは開発プロジェクトの基盤 Team Foundation Server を活用して、バージョン管理を強化する 3 つのステップを解説します。

まずは今のソースコード管理の方法を維持したまま、ソースコード管理ツールを変えてみましょう。
Team Foundation Server はソースコードの一元管理や共有といった基本機能に加えて、問題が発生した際に変更の履歴をさかのぼって追跡することを容易にしたり、複数バージョンの並行開発を促進するための強力な機能を搭載しています。これらの機能は、今実践しているソースコード管理の方法を維持し、ソースコード管理ツールのみを交換したとしても、開発効率の向上が期待できるだけでなく、コンプライアンス対応などで近年求められている厳格な管理の推進にも有効です。

問題が発生した際、過去のチェックインでどのような変更が行われたのか追跡することがあります。この際、変更の履歴が取られていなかったり、情報が分散していると時間とコストがかかります。
Team Foundation Server はチェックインごとに関連する情報をひとまとめにして記録し、後で追跡、確認することができます。(修正されたファイルやフォルダ、変更日時、変更を行ったユーザー、チェックイン時のメモ、関連するタスクやバグ表へのリンク等) この記録は変更したり削除することができないため、コンプライアンス対応など、厳密かつ確実な変更管理が求められる際に有用です。

完成していないソースコードを、正式なチェックインによってプロジェクト メンバー全員に公開される前に、関係する一部の開発者とだけ共有したいケースがあります。
Team Foundation Server は通常のチェックインと同じような仕組みながら、未確定の変更をマスターファイルとして反映せずにサーバーに一時的に格納するための方法を提供します。小グループの限定した共有や、コードレビューの際のファイルの引き継ぎ、作業中断時にローカルコンピューターではなくサーバー内に安全に格納したいといった様々なニーズを実現します。

次に、ツールの機能を活用し、バージョン管理とあわせて、品質の確認を自動化してみましょう。
問題は時間がたつにつれ修正に手間や時間がかかるため早めの対処が必要です。さらに、あるプログラムの修正が別のプログラムの動作に影響を与えていないか回帰テストなどで確認することが必要となります。このように、品質を高めるためにはソースコードを管理するだけでなく、そのソースコードが期待通りに開発、修正されているかを合わせて確認することが効果的ですが、この確認作業は手間や工数がかかります。 ツールの自動化機能を活用することで、より効率的、効果的に品質を高めることができます。

ソースコードをチェックインする前に、そのソースコードが品質や開発プロセス上のルールなど特定の必要条件を満たしているか確認することは効果的です。
Team Foundation Server はチェックイン時に、特定のテストが成功するか、セキュリティやパフォーマンスなど一定の品質をクリアしているか、作業の履歴が記録されているかなどをチェックし、条件を満たさない場合はチェックインをブロックすることができます。

統合作業を開発の初期段階から継続的に実施することで、問題が蔓延するのを未然に防ぐことができるとともに、問題の追跡や修正にかかる時間やコストを最小限に抑えることができます。しかしこの継続作業を人の手で実施するとなると多大な負荷がかかります。
Team Foundation Server はソースコードがチェックインされたのを契機に、または一定間隔で自動的にビルドを実施させることができます。さらに単にビルドを実施してアプリケーションを生成するだけでなく、特定のテストが成功するか、セキュリティやパフォーマンスなど一定の品質をクリアしているかを、ビルドと合わせて自動的に実行、確認することができます。

プロジェクト管理も開発作業と同じく重要です。プロジェクト管理者はプロジェクト メンバーによる開発作業やテスト作業で行われた結果に基づき開発プロジェクトの管理を行います。
場合によっては、これらの情報をプロジェクト管理者自ら収集してまとめなければならず、さらにはソースコード、設計書、進捗データ、バグ表など様々な成果物や情報が分散されているため、管理が煩雑で手間がかかることもあります。
Team Foundation Server では単一のデータストアであらゆる情報を管理するとともに、機能やデータが相互に連携しているため、開発作業と管理作業のシームレスな統合や自動化を果たしています。この結果、プロジェクト管理者やメンバーの負担を軽減することができるとともに、プロジェクト全体を最適化することができます。

Team Foundation Server の機能は、Visual Studio のひとつのウィンドウから操作することができます。
このため開発者はこれまで馴染んだ操作方法で、プロジェクトの様々な作業を行うことができます。
さらに、Visual Studio と Team Foundation Server を組み合わせて活用することで、コーディングやテストといった開発作業と、タスク、バグ、リスクなど様々な作業の管理をスムーズに連携させることができます。これによって、開発者にできる限り負担をかけることなく、より自然で効率的な作業管理が可能となります。

プロジェクト メンバーによる開発作業やテストの結果は Team Foundation Server のデータベースに蓄積されます。プロジェクト管理者は、自らプロジェクト メンバーから情報を聞き出してそれを進捗管理表に書き写すのではなく、Team Foundation Server によって自動的に収集されたデータにもとづき、リアルタイムに進捗状況を把握することができます。さらに、レポート化の機能によって、品質状況やバグの収束予測など可視化されたプロジェクト状況にもとづき、迅速かつ適切な判断を行うことができます。
これらの機能によって、プロジェクト管理者は属人性が排除された詳細なデータに基づき、常に最新かつ多角的な視点でプロジェクト状況を把握することができるとともに、プロジェクト管理にかかる負荷を軽減することができます。

- 大規模なチーム開発ではないので Team Foundation Server は不要でしょうか ?
-
ご覧の通り Team Foundation Server が提供する機能は、小規模の開発であっても、品質や効率を高めるのに効果的です。
Team Foundation Server 2010 は、小規模なチームから、より大規模なチームまで構成を選択することができます。Team Foundation Server を、サーバー OS だけでなく、クライアント OS へのインストールも可能になりました。基本構成を選択することで、SQL Server Express をベースとしたシンプルな構成で今すぐ環境を構築することもできます。
※「基本構成」を選択した場合は、上述のレポート機能を除く機能がご利用いただけます。
- 基本的なソースコードの管理しか行わないので、Visual SourceSafe で十分でしょうか ?
- たとえこれらの機能を利用しなくても Team Foundation Server は Visual SourceSafe と比べて下記のようにシステム性能の点においても優れています。
| |
Team Foundation Server 2010 |
Visual SourceSafe 2005 |
アーキテクチャ |
- N 階層構造で DB を分離可能。
リポジトリには SQL Server を使用
|
- 2階層構造。リポジトリに Windows の共有フォルダを使用
|
遠隔地からの
アクセス |
- HTTP 経由でのリモートアクセス
- 遠隔地オフィスにバージョン管理用のキャッシュが設置することでネットワーク負荷を軽減
- 専用ツール以外にも Web ブラウザによるアクセス機能をサポート
|
- 専用ツールから HTTP 経由による簡易リモートアクセス
|
セキュリティ |
- 多重防御による完全なセキュリティ構造
- プロジェクトをはじめ、ファイルレベルまでアクセス権の設定が可能
|
- リポジトリにアクセスするための権限設定のみ
- 共有フォルダは Explorer などで読み取り可能
|
信頼性 |
- SQL Server のストアドプロシージャを採用しており、操作失敗時にはロールバックなどで既存内容を確実に維持
|
- トランザクション処理が非サポートであるため操作失敗時などにロールバックができない
- チェックイン時に DB 容量の確認を行わないため、稀にリポジトリが破損することがある
|
スケーラビリティ |
- 同時使用ユーザーは 2000 名以上で設計
- DB 容量の制限は特にないい (SQL Server Express を選択の場合は、その制限に依存)
|
- 同時使用ユーザーは 20 名程度で設計
- DB 容量の制限は 3 〜 5 GB
|
- Team Foundation Server はこの 3 つのステップで導入しないと効果は出ないでしょうか
- いいえ。あくまでも一つの目安として解説しました。一度に 3 つのステップを導入しても構いませんし、それぞれのステップの中から有用な機能のみを活用いただくこともできます。ぜひプロジェクトに適切なスタイルを見つけてみてください。
- Team Foundation Server でバージョン管理を行うためには どの Visual Studio のエディションが必要でしょうか。
- 適切なクライアント アクセス ラインセンス (CAL) を購入いただければ、Visual Studio 2010 Professional から基本的なバージョン管理を実現できます。
ただし、Visual Studio 2010 Premium、Visual Studio 2010 Ultimate、Visual Studio Test Professional 2010 により、より高度な管理が可能です。
以下の Visual Studio 製品を MSDN Subscription 付きで購入すると、Team Foundation Server 2010 の 1 サーバーライセンスと、 1 CAL が提供されます。
(Visual Studio 2010 Ultimate with MSDN, Visual Studio 2010 Premium with MSDN, Visual Studio 2010 Professional with MSDN, Visual Studio Test Professional 2010 with MSDN)
| |
Visual Studio 2010 Professional (+ TFS CAL) |
Visual Studio 2010 Premium |
Visual Studio 2010 Ultimate |
Visual Studio Test Professional 2010 |
自動化のための単体テストの作成と設定
(チェックインポリシー,
自動ビルド) |
 |
 |
 |
|
自動化のための下記テストの作成と設定
(チェックインポリシー, 自動ビルド)
・汎用テスト
・Web テスト
・ロード テスト |
|
|
 |
|
自動ビルドにおけるコードカバレッジの設定 |
|
 |
 |
|
ソースコードのチェックイン |
 |
 |
 |
|
ビルドの実行 |
 |
 |
 |
|
テストの包括的な管理と実行 |
|
|
 |
 |
- Team Foundation Server 2010 の価格はどれくらいでしょうか ?
- Visual SourceSafe はユーザーごとにライセンスが必要です。
Team Foundation Server は サーバー ライセンスと、アクセスするユーザー、またはデバイスごとにクライアント アクセス ライセンス (CAL) が必要です。
Visual SourceSafe と Team Foundation Server のライセンス費用の比較は次の通りです。
- 参考価格
- ・Team Foundation Server 2010 : 68,000 円 (税抜)
- ・Team Foundation Server 2010 CAL : 68,000 円 (税抜)
- ・Visual SourceSafe 2005 : 88,800 円 (税抜)
ボリュームライセンス参考価格: Open Business (L) で購入の場合
- ※上記価格はあくまで参考価格をベースにしています。ボリュームライセンスでの契約では一般的に安くなります。実際の価格はライセンス形態等によって異なりますので、販売店にお問い合わせください。
- Team Foundation Server は、1 サーバーとユーザー CAL の構成を想定しています。
- ※ Visual SourceSafe、Team Foundation Server 以外に Windows オペレーティング システムのライセンスが別途必要です。
- ※ Team Foundation Server の価格はシステム構成によって異なります。詳細については「Visual Studio 2010 ライセンス ホワイトペーパー」をご覧ください。
- ※ Team Foundation Server 2010 をパッケージで購入した場合、5 ユーザーまで CAL なしで利用可能な権利が付属します。ボリュームライセンスで購入した場合はありません。
- ※ MSDN 会員とは、上述の Visual Studio 製品を MSDN Subscription 付きで購入した場合における Team Foundation Server の追加費用を示しています。
- Team Foundation Server の詳細について、もっと知りたいのですが。
- Team Foundation Server 2010 によるバージョン管理については、「Visual Studio Team Foundation Server 2010 によるソースコード管理入門」 (XPS / PDF) をご覧ください。
Team Foundation Server による開発の詳細については、「Visual Studio Team Foundation Server によるチーム開発」をご覧ください。