開発プロジェクトにおいて、重要で欠かせないものの一つに「ソースコード管理」があります。
低コスト、短納期、高品質の要望がますます高まるなか、今のソースコード管理のやり方から一歩先にふみ出すことで、生産性や品質をさらに高めることができる可能性があります。
ここでは開発プロジェクトの基盤 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 によって自動的に収集されたデータにもとづき、リアルタイムに進捗状況を把握することができます。さらに、レポート化の機能によって、品質状況やバグの収束予測など可視化されたプロジェクト状況にもとづき、迅速かつ適切な判断を行うことができます。
これらの機能によって、プロジェクト管理者は属人性が排除された詳細なデータに基づき、常に最新かつ多角的な視点でプロジェクト状況を把握することができるとともに、プロジェクト管理にかかる負荷を軽減することができます。
※画面をダブルクリックすると、全画面表示になります
大規模なチーム開発ではないので Visual Studio Team System は不要でしょうか ?
ご覧の通り Team Foundation Server が提供する機能は、小規模の開発であっても、品質や効率を高めるのに効果的です。
Team Foundation Server でソースコード管理を行うためには Visual Studio Team System のクライアント製品が必須でしょうか。
いいえ。適切なクライアント アクセス ライセンスを購入いただければ Visual Studio 2008 Standard Edition 以上で基本的なソースコード管理を実現できます。
ただし、Visual Studio Team System のクライアント製品があれば、ソースコード管理やビルドと連動してテストやコード分析を実施するといった、さらに高度な管理が可能です。
Visual
Studio 2008
Standard Edition
(+ TFS CAL)
Visual
Studio 2008
Professional Edition
(+TFS CAL)
Visual
Studio Team System 2008
Development Edition