印刷用ページ       送信     
クリックして評価とフィードバックをお寄せください
MSDN
MSDN ライブラリ
テクニカルドキュメント
Visual Studio 2005
Visual Studio 2005 Team System
概要
 Visual Studio 2005 Team System : 概要
Visual Studio 2005 Team System : 概要

Visual Studio Team System

Microsoft Corporation

May 2004

日本語版最終更新日 2004 年 5 月 25 日

適用対象:

Microsoft Visual Studio 2005 Team System

概要 :Microsoft Visual Studio 2005 Team System の概要を紹介し、ソフトウェア開発ライフサイクル (SDLC : Software Development Life Cycle) の生産性および予測可能性を改善するうえでVisual Studio 2005 Team System が果たす役割について説明します。

メモ このドキュメントは製品のリリースに先立って制作されているため、実際に出荷される製品にこのドキュメントの内容が正確に反映されるとは限りません。このドキュメントの情報は、ドキュメントの公開時点の製品について書かれたものであり、計画以外の目的で利用できるものではありません。また、このドキュメントの情報は、予告なしに変更される可能性があります。
目次

はじめに はじめに
ソフトウェア開発ライフサイクル (SDLC) の改善 ソフトウェア開発ライフサイクル (SDLC) の改善
統合 統合
拡張性 拡張性
Visual Studio 2005 Team System Visual Studio 2005 Team System
まとめ まとめ

はじめに

現在、企業が成功を収めるためには、複雑さを増す IT (情報技術) ソリューションの構築と保守という課題に取り組まざるを得ません。また、企業はこれまで、新しい技術を利用することによって、事業の拡大や新たなビジネス チャンスの創出を成し遂げてきました。かつてはそうした企業を支える脇役にすぎなかった IT 部門も、現在では、ほとんどのビジネス戦略において中心的な役割を果たすようになってきました。

当然ながら企業は、IT プロジェクトへの投資から最大限の利益を得ようとします。それはすなわち、IT 部門に、より少ない投資でより多くの利益を生み出すという難題が課せられることになります。同時に IT プロジェクトをより一層予測可能なものにしようというニーズによって、コスト効果を向上させようという取組みはより複雑なものとなっています。しかしながら、そのような尺度が持ち込まれた結果はと言えば、たいていは、プロジェクトに面倒なプロセスと監視のオーバーヘッドを加えるだけで、単に別の問題に費用が費やされるようになった、という結果に終わっています。便宜主義的な開発や莫大な IT 予算が許されたのはもう過去のことです。

複雑なアプリケーションの開発には、さまざまな専門分野にまたがったチームが必要となります。そこでは、チームで何か大きなことを成し遂げようとする場合の常として、チームのコミュニケーションが成功の基礎となります。新しい Visual Studio Team System において、Microsoft は既に広く使われている高生産性ツールの開発技術を拡張して、プロジェクトを成功に導くための、緊密に統合された拡張性の高いライフサイクル ツールを提供します。プロジェクトの成功は、チームのコミュニケーションによってソリューション開発の複雑さを解消できるかどうかにかかっています。

IT ソリューション構築の課題

多くの IT ソリューション プロジェクトではソフトウェアが成果物となりますが、ソフトウェアを作ることがプロジェクトの最終目標ではありません。ソフトウェアは、ビジネス バリューの差別化という目標を達成するための手段です。ほとんどの IT 企業は、リスクの管理と予測可能性の推進のために、SDLC をサポートするさまざまなツールやプロセスに目を向けています。しかしこれまでのところ、ソフトウェア開発の生産性を向上させようとする試みはあまり成果を上げていません。実装するのが困難だったり、かえって生産性を低下させたり、チーム開発の中心的な問題に焦点を当てていなかったりする場合がほとんどです。

  • コミュニケーション : 大規模かつミッションクリティカルなアプリケーションの開発は、ビジネス スポンサー、プロジェクト マネージャ、アーキテクト、テスタなど、実際にコードを書くことのない多数の参加者を含むチームによって行われます。さらに、チーム自体の地理的分散や専門化も進んでいます。チーム内の役割の境界にギャップが生じると、取り上げるべき問題が抜け落ちたり、いつの間にか計画から逸脱したりする原因になります。チームが効果的に機能するためには、円滑なコミュニケーションが不可欠です。しかもそれが、日々の作業のすべてに統合されていなければなりません。

  • ツールのバンドル : 近年、SDLC ツール業界では大規模な整理統合が行われています。しかし、ただ一連のツールをバンドルしただけではツールの統合とは言えません。単に複数のツールが集められているだけです。このように統合されていないツールでは、ツール間のデータの流れを自動化するような設計がなされていないため、上述した役割の境界の場合と同様に、ツールの間にギャップが生じることになります。ツールが統合されていないと手作業が必要になるため、問題が抜け落ちる原因になります。これに対して、データ層の統合が実現されていれば、ツール間のデータのやり取りや一般的なレポートの作成を自動化できます。

  • プロセスの不適合 : プロセスの採用を難しくしている原因の 1 つは、開発者にまつわるパラドックスです。つまり、開発者は多くのライフサイクル プロセスにおいて、全体を結び付ける要であると同時に最も結び付きの弱い存在でもあります。プロセスがチームのメンバー (とりわけ開発スタッフ) の作業スタイルに合わないと、大きな反発を招きます。そこで問題となるのは、生産性および革新性と、予測可能性および反復可能性との間のバランスです。このバランスが成立していないと、プロセスは単なる作業の障害となるため、皆が苦しむことになります。多くのプロセスは、極端にドキュメントを重視しています。このため、日常の業務の流れから離れた余分な作業 (ドキュメントの作成) が要求されます。チームで使用するプロセスがアドホック プロセスか、アジャイル プロセスか、フォーマル プロセスかに関係なく、ソフトウェア開発プロセスの自動化と統合は、すべてのチームにメリットをもたらします。

  • 期待はずれの投資収益率 (ROI) : CIO の観点に立つと、思うような成果が得られない活動やツールに莫大な IT 予算が投入されているという問題があります。プロセスや SDLC ツールを採用しようとすると、たいていの場合、習得の困難さ、統合されていないツール、高額な初期取得コスト、継続的な保守、特殊なスキルの習得、専任の管理者の必要性などの障害に直面することになります。こうした問題によって、SDLC ツールにまつわる総所有コスト (TCO) はとても擁護できないものとなります。その結果、CIO は、目に見える価値をもたらす見込みのないものへの支出を正当化しなければならないという難題を課せられることになります。

ソフトウェア開発ライフサイクル (SDLC) の改善

Microsoft が初めてリリースした Visual Basic は、Windows ソフトウェア開発の複雑さを軽減することによって、大勢の人々が Windows ソフトウェア開発を始めるきっかけを作りました。その後、Visual Basic 6.0 のリリースによって、何百万人もの開発者がクライアント/サーバー アプリケーションをすばやく開発できるようになりました。近年では、Visual Studio .NET によって、分散アプリケーションを簡単に開発できるツールと技術がもたらされました。そして今回、Visual Studio 2005 Team System において Microsoft は、生産性や革新性を犠牲にすることなく、予測可能性や反復可能性を実現するためのツールやガイドを提供することによって、複雑さを増すアプリケーションの問題と、そうしたアプリケーションの設計、開発、配置 (デプロイメント) に伴うライフサイクルの問題に取り組んでいます。

  • コミュニケーション : Visual Studio Team System では、レポート作成のオーバーヘッドを軽減したり、チームのメンバーの間に新たなコミュニケーション経路を開いたりすることによって、コミュニケーションの改善に取り組んでいます。以下に例を示します。

    • チームのメンバーが使用しているツールから情報を自動的に収集することによって、レポート作成の単純化を実現します。Visual Studio Team System から収集されたデータは、永続化されてデータ ウェアハウスに格納されるため、ソフトウェア開発チームのすべてのメンバーやその他のユーザーがレポートを作成したり、プロジェクトの状態を確認したりできます。

    • プロジェクト マネージャは、顧客の要件を開発チームのワーク アイテムに変換し、そのワーク アイテムの状態をトラッキングすることによって、プロジェクトの状態を監視できます。

    • 分散システムデザイナは、アプリケーションの開発および配置 (デプロイメント) の要件を共通言語である System Definition Model (SDM) で表現します。これにより、開発者と運用担当者の間のコミュニケーションが可能になります。

  • 統合されたツール : Visual Studio の成功は、開発者の皆様に必要なツールにすぐにアクセスできる統合開発環境が受け入れられた、ということでもあります。Visual Studio Team System では、この成功に基づいて、開発者が必要とするテスト ツールやパフォーマンス ツール (単体テスト、コード分析、パフォーマンス プロファイリングなどのツール) を開発環境に組み込んでいます。これにより開発者は、現在の作業スタイルを変えることなく、ライフサイクルの早い段階でコードの品質を改善できます。品質の問題を早い段階で発見して解決するためのツールを開発者に提供することによって、より多くの製品の欠陥を、最もコストのかからない段階で見つけて修正することができます。

  • ワークフローとプロセスの単純化および統合 : Visual Studio Team System では、プロセスは単なるドキュメントではありません。プロセスによってツールの動作も変化します。プロジェクトの開始時にプロセスを選択すると、ワークフローと作業成果物も一緒に選択されます。これにより、システムの動作が決まります。SDLC プロセスのサポートが組み込まれているため、シームレスなワークフローのサポートが実現されます。Visual Studio Team System では、チームのメンバーが毎日のように使用するツールにプロセスが統合されます。そのため、プロセスの採用にあたっての障害が一層少なくなっています。また、複数の職務にまたがったプロジェクト メトリクスを自動的に収集できるため、手動によるレポート作成に伴うオーバーヘッドもありません。

  • 投資収益率の向上 : 企業では、SDLC ツールやプロセスに対する投資の ROI の向上を、コミュニケーションと生産性の改善によって実感できます。Visual Studio Team System は、すべての SDLC ツールを広い範囲にわたって統合することにより、ソフトウェア開発ライフサイクル管理におけるコスト効果の高いソリューションを提供します。ツールセットが緊密に統合されているほか、既存の知識も活用できるため、むやみに複雑な概念を学んだり柔軟性に欠けるツールを習得したりする必要もなく、ソフトウェア開発チームの生産性を高める環境へとスムーズに移行することができます。

統合

Visual Studio Team System では、目に見えるところでは UI のレベルで、目に見えないところではデータのレベルで、そしてプロジェクトのコンテキストではプロセスのレベルで SDLC ツールが統合されているため、チームの生産性とプロジェクトの予測可能性が向上します。

  • ユーザー   インターフェイスの統合 : ツール間のシームレスな統合は生産性強化の要です。Visual Studio Team System では、すべての SDLC ツールにわたって一貫したユーザー エクスペリエンスが実現されています。たとえば開発者は、単体テスト、問題のトレース、コード プロファイリング、コード分析などの作業を、すべて現在の環境から実行できます。

  • データの統合 : Visual Studio Team System では、ほとんどの SDLC ツール製品に見られるデータの独自仕様によるスタイルが取り除かれており、ツールセット全体で共通のデータ ウェアハウスを使用することによって、プロジェクトの状態をまとめて表示できるようになっています。チームは、チームで収集できるメトリクスに従ってプロジェクトを管理します。現状では、収集されるデータは主に欠陥のトレースのためのデータに限られています。Visual Studio Team System のデータ統合は、こうしたプロジェクト メトリクスの管理方法に革命的な変化をもたらします。Visual Studio Team System では、データの統合によって、SDLC 全体から収集される広範なデータを活用できます。Visual Studio Team System で収集される正確なデータは、欠陥のトレースのためだけに収集されるわけではありません。テスト結果、コード カバレッジ、コード チャーン(Churn)、作業の進捗など、チームの通常のワークフローを通じてさまざまな目的でデータが収集されます。このデータは、お客様や Microsoft の社内チームがこれまでにプロジェクトを成功に導くうえで重要なメトリクスとなる、と判断した複数の標準レポートで提示されます。さらに、チームでカスタム レポートを独自に作成することもできます。プロジェクトの大きなコンテキストでデータを表示できなければ、チームでプロジェクトの状態を正確にレポートすることは不可能です。

  • プロセスの統合 : Visual Studio Team System では、ツールの動作はプロジェクトの開始時に選択したプロセスによって決まります。プロセスがツールに統合されているため、プロジェクトの各フェーズの間やチームのさまざまな役割の間で何かが失われることはありません。また、チームのメンバー間の作業の引き継ぎを自動化できるため、チームの効率も向上します。プロセスによる標準化が実現されている企業では、チームの作業負荷を増加させることなく、プロセスを改善することによって組織の問題を解決できます。また、作業負荷の増加を伴わずにプロセスを統合できるため、SDLC におけるプロセスの採用に通常関連付けられるようなオーバーヘッドも抑えることができます。

拡張性

SDLC ツール製品には、欠かすことのできない基本的なツール (アーキテクチャ ツールやテスト ツールなど) はありますが、ツールの数は特に決まっていません。SDLC をサポートするツールの統合は、チームにとって、チームの効率化や複雑さの軽減などの利点があります。Visual Studio Team System では、すべてのベンダが、共通の形式で情報を交換できるようにするための基盤を提供しています。これにより、パートナーの皆様に、活気あふれるエコシステム(ecosystem) を育んでいただく事が可能となります。パートナーの皆様に、Visual Studio Team System に統合されたツールを開発していただくことで、IT ソリューションの構築にまつわる複雑さの軽減、コミュニケーションの促進、およびチーム間の共同作業の推進を実現できます。UI、データ、およびプロセスの統合から最大限の価値を引き出すには、拡張性が必要です。拡張性によって、相互運用が可能になります。

Visual Studio Team System は、拡張性モデルに基づいて設計されています。Microsoft の SDLC ツールで利用されている拡張性機能は、サードパーティで利用できるようになっているものと同じ機能です。拡張性は、以下に示すように、UI、データ、およびプロセスという 3 つの統合のレベルに対応しています。

  • ユーザー   インターフェイスの拡張性 : Visual Studio Team System は、Visual Studio 統合開発環境 (IDE) に補足的な製品やサービスを追加するための既存プログラムである Visual Studio Industry Partner (VSIP) を利用しています。

  • データの拡張性 : Visual Studio Team System は、Visual Studio Team Foundation Core Services (TFCS) を使ってツールを統合しています。TFCS が提供する一連のサービスでは、ツール間に緊密な結び付きがなくてもツールを統合できます。また、Visual Studio Team System が使用しているのと同じデータ ウェアハウスにサードパーティ ツールのデータを収集することもできます。

  • プロセスの拡張性 : Visual Studio Team System では、個々のプロジェクトが従うプロセスを、メソドロジ テンプレートを使用して定義します。あらゆる組織に適合する万能なプロセスなどありません。組織内でさえ、1 つのプロセスをすべてのプロジェクトに適用することは不可能です。この問題に対処するために、Visual Studio Team System は、アジャイル プロセスにもフォーマル プロセスにも対応する柔軟なツールセットになっています。Microsoft の Global Solution Integrator パートナーからも独自のメソドロジ テンプレートが提供されるほか、自分でテンプレートを作成することも可能です。プロセスの拡張性によって、ワーク アイテムの種類、チェックイン ポリシー、カスタム レポート、およびプロジェクト管理テンプレートのカスタマイズが可能になります。

    詳細については、「Visual Studio 2005 Team System: Microsoft Solutions Framework」および「Visual Studio 2005 Team System : Extensibility (拡張性)」を参照してください。

Visual Studio 2005 Team System

Microsoft Visual Studio 2005 Team System には、ソフトウェア開発チーム全体をサポートするツールが用意されています。

  • アーキテクト : Visual Studio 2005 Team Architect には、サービス指向のソリューションを視覚的に作成するための、統合された高生産性ツールが含まれています。これにより、最初から特定の配置 (デプロイメント) 環境に向けてソリューションを設計することができます。詳細については、「Visual Studio 2005 Team System : デプロイメントと運用を意識した分散システムの設計」を参照してください。

  • 開発者 : Visual Studio 2005 Team Developer は、最新の静的分析ツール、コード プロファイリング ツール、コード カバレッジ ツール、および単体テスト ツールを開発者に提供します。これにより、ライフサイクルの初期段階や、多くの場合はライフサイクル全体を通じて、品質を念頭に置いた設計をチームで実現できます。詳細については、「Visual Studio 2005 Team System : 堅牢で信頼性の高いソフトウェアの開発」を参照してください。

  • テスタ : Visual Studio 2005 Team Test は、開発者向け製品をベースとして、単体テスト、手動テスト、Web テスト、配置 (デプロイメント) に先立ってパフォーマンスを検証するための高度な負荷テストなど、さまざまなテストの管理や実施のためのツールがテスタ向けに加えられています。詳細については、「Visual Studio 2005 Team System : よりよいテストによる、より良いソフトウェア開発」を参照してください。

  • プロジェクト   マネージャ : Visual Studio 2005 Team Foundation には、プロジェクト マネージャが既によく知っているソフトウェア (Microsoft Excel、Microsoft Project、および Windows SharePoint Services) をベースとする一連のプロジェクト管理ツールが用意されています。Microsoft Office との統合が実現されているため、もはや Office アプリケーションのデータをエンジニアリング チームが使用しているデータに手動でマップする必要はありません。プロジェクトのサイトでは、ステークホルダー (利害関係者。開発者のみならず、プロジェクトに関わる全ての人たち) がプロジェクト全体の状態を表示したり、特定の要素の詳細を表示したりできます。また、豊富なレポートにより、チームの通常のワークフローの中で収集されたメトリクスが報告されます。さらに、業界で実証されたプラクティスに基づくカスタマイズ可能なプロジェクト プロセスによってライフサイクルを制御できます。詳細については、「Visual Studio 2005 Team System : ソフトウェア開発におけるプロジェクト マネジメント」を参照してください。

  • チーム開発 : Visual Studio 2005 Team Foundation には、ソフトウェア プロジェクトの進捗や状態を組織で簡単に管理および追跡できるチーム コラボレーション ツールも用意されています。Portfolio Explorer は、プロジェクトのサイトで見つかった同じプロジェクトの作業成果物を Visual Studio IDE に統合して、チームによる効果的なアクセスを実現します。この他、Visual Studio 2005 Team Foundation には、拡張可能な問題トラッキング システムや、エンタープライズクラスの開発におけるソース コード管理機能も用意されています。詳細については、「Visual Studio 2005 Team System : エンタープライズ開発におけるソースコード管理とワークアイテム トラッキング」を参照してください。

    vsts-over-fig01big.gif

まとめ

複雑さは、現代のビジネスの悩みの種です。複雑さは損失を増大させ、利益を圧迫し、その他あらゆる局面に影響を及ぼします。アプリケーションの複雑さが増すにつれて、ソフトウェア チームではそれに対応するために、単純さと柔軟性という RAD と同じ原則が強く求められています。複雑さの軽減は、生産性の向上、コストの削減、および損失の減少につながります。また、時間の節約にもなるため、利益を増加させる機会も増えます。つまり、Visual Studio Team System を使用すれば、次を実現できます。

  • 複雑さの軽減 運用環境に最適化された、最新のサービス指向のソリューションの開発に伴う複雑さを軽減できます。

  • 共同作業の促進 ビジネス アナリスト、プロジェクト マネージャ、アーキテクト、開発者、テスタ、オペレーション マネージャなどを含むソフトウェア チームのすべてのメンバーの間の共同作業を促進します。

  • カスタマイズと拡張 社内プロセスのフレームワークをカスタマイズしたり拡張したりできるほか、190 以上のパートナーによって提供されている 450 以上もの製品を利用することもできます。

Visual Studio Team System の詳細については、以下のトピックを参照してください。

© 2009 Microsoft Corporation. All rights reserved. 使用条件 | 商標 | プライバシー
Page view tracker