CINXE.COM
[ThinkIT] 第4回:チーム開発とVisual Studio 2005 Team Foundation Server (1/4)
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <HTML><HEAD> <meta name="content-language" content="ja"> <meta http-equiv="Content-Type" content="text/html;charset=utf-8"> <meta name="keywords" content="オープンソース,OSS,企業システム,TCO,プロジェクトマネージメント,PM,システム,ソフトウェア"> <meta name="description" content="オープンソース時代の企業システムポータルサイト。効率的なシステム構築を行うための情報提供をおこないます。"> <meta name="copyright" content="http://www.thinkit.co.jp"> <meta name="robots" content="index,follow"> <TITLE>[ThinkIT] 第4回:チーム開発とVisual Studio 2005 Team Foundation Server (1/4)</TITLE> <link rel="stylesheet" media="screen,print" href="/style1.css" charset="Shift_JIS" type="text/css"> <?php require_once("{$_SERVER['DOCUMENT_ROOT']}/ssi/script.ssi"); ?> </head> <body leftmargin="0" topmargin="0" marginwidth="0" marginheight="0"> <table width="1000" border="0" cellpadding="0" cellspacing="0"> <tr> <!-- シャドウ左 --> <td width="20"><img src="/images/common/spacer.gif" width="20" height="1"></td> <!-- メイン --> <td width="780"> <table width="780" border="0" cellspacing="0" cellpadding="0" bgcolor="#FFFFFF"> <tr> <td colspan="3"> <!--メニュー--> <?php require_once("{$_SERVER['DOCUMENT_ROOT']}/ssi/menu.ssi"); ?> <tr> <!-- ラージバナー --> <?php require_once("{$_SERVER['DOCUMENT_ROOT']}/ssi/large_banner1.ssi"); ?> </tr> <tr> <td colspan="3" align="center"><img src="/images/common/spacer.gif" width="780" height="10" alt=""></td> </tr> <!-- ナビゲーションバー --> <tr> <td height="21" colspan="3" class="pankuzu"><span class="link_word"><a href="/index.html">TOP</a></span><span class="honbun">></span><span class="link_word"><a href="/project/index.html">プロジェクト管理</a></span><span class="middle_word">> はじめに</span></td> </tr> <tr> <!-- メイン左--> <td width="460" valign="top"> <table width="460" border="0" cellspacing="0" cellpadding="0"> <tr> <td height="10"><img src="/images/common/spacer.gif" height="10" alt=""></td> </tr> <!-- PR --> <?php require_once("{$_SERVER['DOCUMENT_ROOT']}/ssi/toptext_general.ssi"); ?> <!-- タイトル --> <tr> <td width="460"> <table BORDER="0" CELLSPACING="0" CELLPADDING="0" WIDTH="460"> <tr> <td width="80" valign="top"><span class="right"><img src="/images/project/common/70X90_sdlc.jpg" width="73" height="93" alt="開発ライフサイクルとVisual Studio 2005という選択肢"><br></span></td> <td width="370" valign="top"> <table BORDER="0" CELLSPACING="0" CELLPADDING="0" WIDTH="370"> <tr> <td class="colum">開発ライフサイクルとVisual Studio 2005という選択肢</td> </tr> <tr> <td><span class="title"><br>第4回:チーム開発とVisual Studio 2005 Team Foundation Server<br></span> <span class="honbun">著者:<a href="#tyosya">日本ユニシス 鈴木 貴史、塚田 高弘</a> 2005/11/22<br></span> <?php require_once("{$_SERVER['DOCUMENT_ROOT']}/cert/attribute.jsp"); ?> </td> </tr> </table> </td> </tr> </table> </td> </tr> <!--ページ--> <tr> <td align="right"><span class="middle_word">1 </span><span class="link_word"><a href="/cert/project/12/4/2.htm">2</a> </span><span class="link_word"><a href="/cert/project/12/4/3.htm">3</a> </span><span class="link_word"><a href="/cert/project/12/4/4.htm">4</a> </span><span class="link_word"><a href="/cert/project/12/4/2.htm">次のページ</a></span> </td> </tr> <!--本文--> <tr> <td height="20"><img src="/images/common/spacer.gif" height="20" alt=""></td> </tr> <tr> <td class="title1">はじめに </td> </tr> <tr> <td class="honbun"><br> <?php require_once("{$_SERVER['DOCUMENT_ROOT']}/ssi/square_general.ssi"); ?> 第2回ではVisual Studio 2005 Team Edition for Software Architects(以下VSTE for SA)、第3回ではVisual Studio 2005 Team Edition for Software Developers(以下VSTE for SD)、Visual Studio 2005 Team Edition for Software Testers(以下VSTE for ST)のそれぞれについて、開発ライフサイクルとの対応という観点で解説してきました。<br><br> これらの3製品は、アーキテクト(システム基盤アーキテクト/アプリケーションアーキテクト)、開発者、テスト担当者(第三者検証担当者)というロールメンバーをターゲットとしたものです。<br><br> Team SystemによりVisual Studioのターゲットは、"開発だけ"から"設計・開発・テスト"というプロセスまでをカバーするようになりました。しかしながら実際のプロジェクトの運営を考えるとそれだけでは不十分です。<br><br> そこでVisual Studio 2005 Team Foundation Server(以下VS TFS)が重要になってきます。最終回の今回はチーム開発とVS TFSという観点で解説していきます。<br><br><br> </td> </tr> <tr> <td class="title1">チーム開発の難しさ </td> </tr> <tr> <td class="honbun"><br> 皆さんのチーム開発はうまくいってますでしょうか。なかなか一筋縄にはいかないという印象があるのではないでしょうか。<br><br> その理由には2点あると思います。<br><br><br> </td> </tr> <tr> <td class="step">万能な開発ライフサイクルは存在しない </td> </tr> <tr> <td class="honbun"><br> 1点目は、<span class="brown">どんなプロジェクトにも万能な開発ライフサイクルは存在しない</span>ということがあげられます。<br><br> 非常に大規模なプロジェクトでは、タスクのボリュームが大きく、全体の状況をグリップするために細かなチェックポイントやプロセスを必要とします。線密だからといって、大規模向けに作成した開発ライフサイクルを小規模なプロジェクトに適用すると、かえって効率が悪くなってしまいます。<br><br> また開発者の地理的な分散による影響を受けます。1ヶ所に全員が集まって開発する場合とオフショア開発を行う場合とでは役割分担や責任の柔軟性が変わってきます。プロジェクトに参画するメンバーのスキルによっても変わってくるでしょう。<br><br> さらにプロジェクトを取り巻く環境にも影響を受けます。ユーザ企業の社内SEによって社内のメンバーが使用するアプリケーションを作成する場合と、弊社のようなSIerが受託開発を行う場合とでは、評価する観点が異なっているからです。<br><br> 前者では、納期やコストよりも実際にシステムを使うユーザの要求を組み込むことを重要視するでしょうし、後者では納期とコストのバランスを取る必要があります(もちろんユーザの要求を重視した上で、ほかの要素との兼ね合いを考え最大限の努力をいたします)。実際のプロジェクトの遂行にはそうした要因を考慮し、開発ライフサイクルの選択・調整が必要となってきます。<br><br><br> </td> </tr> <tr> <td class="step">開発ライフサイクルを回すのは人間 </td> </tr> <tr> <td class="honbun"><br> もう1点は、結局のところ<span class="brown">開発ライフサイクルを回すのは人間だ</span>ということです。<br><br> 複雑なアプリケーションになればなるほど様々な専門性を持ったチームを必要とします。個々のチームが最大限に効果を発揮するためにはチーム内でのコミュニケーションが重要ですし、プロジェクトとしての成功のためには、それに加えてこれらチーム間のコミュニケーションが鍵となります。<br><br> チーム開発は、完璧な開発ライフサイクルを用意してチームメンバーを型にはめてしまえばうまくいくというものではありません。結局、人間のコミュニケーションが重要な要因となります。<br><br> こうした難しさを持つチーム開発へのマイクロソフトの回答が<span class="blue">VS TFS</span>です。<br><br> ワークアイテムを用いて開発ライフサイクルを表現し、プロジェクトに関する成果物と報告を一元管理できます。関係者があーだこーだと議論するような機能も用意されています。ただし、すべてのプロジェクトに万能な開発ライフサイクルは存在しないことと、カスタマイズを前提としている点がありますので、何も考えずに導入して効果がでるといった類のものでもありませんので、注意が必要です。<br><br> </td> </tr> <!--ページ--> <tr> <td align="right"><span class="middle_word">1 </span><span class="link_word"><a href="/cert/project/12/4/2.htm">2</a> </span><span class="link_word"><a href="/cert/project/12/4/3.htm">3</a> </span><span class="link_word"><a href="/cert/project/12/4/4.htm">4</a> </span><span class="link_word"><a href="/cert/project/12/4/2.htm">次のページ</a><br><br></span> </td> </tr> <!--著者紹介--> <tr> <td bgcolor="#00789F"><img src="/images/common/spacer.gif" width="460" height="1" alt=""><br> </td> </tr> <tr> <td height="10"><a name="tyosya"><img src="/images/common/spacer.gif" width="1" height="10" alt=""></a> </td> </tr> <tr> <td> <table border="0" cellspacing="0" cellpadding="0" width="460"> <tr> <td width="80" valign="top"><img src="/images/common/suzukitakashi.jpg" width="70" height="75" alt="日本ユニシス株式会社 鈴木 貴史"><br> </td> <td valign="top"><span class="title">著者プロフィール</span><br> <span class="honbun"><b>日本ユニシス株式会社 鈴木 貴史</b><br> .NETテクノロジコンサルティング所属<br> 日本ユニシスグループの.NET技術主管のメンバーとして、Windows/.NET Framework周りの利用技術の開発から弊社受託開発案件のアーキテクト、時には営業支援、そして今回は執筆を行っています・・・<br><br><br></span> </td> </tr> <tr> <td> <tr> <td width="80" valign="top"><img src="/images/common/tukadatakahiro.jpg" width="70" height="75" alt="日本ユニシス株式会社 塚田 高弘"><br> </td> <td valign="top"><span class="title">著者プロフィール</span><br> <span class="honbun"><b>日本ユニシス株式会社 塚田 高弘</b><br> .NETビジネスディベロプメント所属<br> 日本ユニシスにて推進する.NETサービスビジネスのなかで、とくにコラボレーティブアプリケーション関連の企画・開発・推進を実施。現在は、.NETにてコラボレーティブソリューションであるSymphonic Collaborationの拡販を担当。<br><br><br></span> </td> </tr> </table> </td> </tr> <!--評価--> <?php require_once("{$_SERVER['DOCUMENT_ROOT']}/ssi/hyoka.ssi"); ?> <!--インデックス--> <tr> <td height="10"><img src="/images/common/spacer.gif" width="1" height="10" alt=""> </td> </tr> <tr> <td> <table border="0" cellspacing="0" cellpadding="0" width="460" class="table"> <tr> <td class="index" colspan="2">INDEX</td> </tr> <tr> <td class="naiyou" colspan="2">第4回:チーム開発とVisual Studio 2005 Team Foundation Server</td> </tr> <tr> <td class="naiyou" width="15" valign="top"><img src="/images/common/mark1.jpg" width="10" height="10" alt=""></td> <td class="naiyou" width="445"><a href="/free/project/12/4/1.html"> はじめに<br></a> </td> </tr> <tr> <td class="naiyou" width="15"> </td> <td class="naiyou" width="445"><a href="/cert/project/12/4/2.htm"> VS TFSの機能範囲<br></a> </td> </tr> <tr> <td class="naiyou" width="15"> </td> <td class="naiyou" width="445"><a href="/cert/project/12/4/3.htm"> 新しいチェックインノートの種類を追加できる</a></td> </tr> <tr> <td class="naiyou" width="15"> </td> <td class="naiyou" width="445"><a href="/cert/project/12/4/4.htm"> プロジェクト管理</a></td> </tr> </table> </td> </tr> <!--バックナンバー--> <?php require_once("{$_SERVER['DOCUMENT_ROOT']}/ssi/sdlc.ssi"); ?> </table> </td> <!-- メインセンタースペース --> <td width="20"><img src="/images/common/spacer.gif" width="20" alt=""></td> <!-- メイン右 --> <td width="300" valign="top"> <table width="300" border="0" cellspacing="0" cellpadding="0"> <tr> <td height="10"><img src="/images/common/spacer.gif" height="10" alt=""></td> </tr> <?php require_once("{$_SERVER['DOCUMENT_ROOT']}/ssi/headline.ssi"); ?> <?php require_once("{$_SERVER['DOCUMENT_ROOT']}/ssi/rectangle.ssi"); ?> <?php require_once("{$_SERVER['DOCUMENT_ROOT']}/ssi/sponser.ssi"); ?> <?php require_once("{$_SERVER['DOCUMENT_ROOT']}/ssi/entry.ssi"); ?> <?php require_once("{$_SERVER['DOCUMENT_ROOT']}/ssi/recruit.ssi"); ?> </table> </td> </tr> <tr> <td colspan="3" align="center"><img src="/images/common/spacer.gif" width="780" height="10" alt=""></td> </tr> <tr> <!-- ラージバナー --> <?php require_once("{$_SERVER['DOCUMENT_ROOT']}/ssi/large_banner2.ssi"); ?> </tr> <!--フッター--> <?php require_once("{$_SERVER['DOCUMENT_ROOT']}/ssi/footer.ssi"); ?> </table> </td> <!-- シャドウ右 --> <td width="20"><img src="/images/common/spacer.gif" width="20" height="1"></td> <?php require_once("{$_SERVER['DOCUMENT_ROOT']}/ssi/skyscraper.ssi"); ?> </tr> </table> </body> </html>