「借金」清算を優先
5000個のバグと戦った、MSが「Visual Studio 2008」RTM出荷
2007/11/20
マイクロソフトがアプリケーション開発ツールセットの最新版の開発に着手したとき、同社のデベロッパー部門のリーダーたちは、まず「借金」を精算することにした。
マイクロソフトは11月19日に「Visual Studio 2008」を製造工程向けリリースしたが、 2年前の11月、同社のデベロッパー部門のコーポレート副社長を務めるS・ソーマ・ソマセガー氏は、前進するための最善の手段は一歩後退することであると判断した。ソマセガー氏は、マイクロソフトが計画通りに2年ごとにツールをアップグレードできるようにするには、技術開発に対してさらに「意図的」に取り組む必要があったと話す。
ソマセガー氏によると、Visual Studio 2005をめぐる経験から多くのことを学んだという。
「われわれがVisual Studio 2005の開発をスタートしたとき、24カ月後に出荷することが社内的な目標だったが、実際に出荷したのは39カ月後だった」――ワシントン州レドモンドにあるマイクロソフト本社を訪れたソマセガー氏は、米eWEEKの取材でそう語った。「これはわれわれが目指していた期間よりも少し長かった。 Visual Studio 2008の開発に着手した時点での社内的な目標は、2007年末までに完成させることだった」。
ソマセガー氏によると、マイクロソフトは「Whidbey」のコードネームで呼ばれたVisual Studio 2005の開発で多くの「借金」を抱え込んでしまい、その状態で「Orcas」のコードネームで呼ばれるVisual Studio 2008の開発サイクルに入ったという。このためソマセガー氏は2005年11月に、すべての開発作業の中断を命じ、開発チームに対してテスト作業の遅れを取り戻し、バグを洗い出すよう指示した。
テストは2005年11月から2006年3月まで4カ月間にわたって行われた。この取り組みは「MQ」(Milestone Quality)と呼ばれた。
「MQは意図的な開発モデルに向けた最初のステップだった」とマイクロソフトでVisual Studio 2008のプログラムマネジャーを務めるキャロル・グロージャン氏は語る。「ソーマが開発中断を命じたのは正しい判断であり、MQは非常に草の根的な取り組みだった」。
ソマセガー氏は、「4カ月という期間は新機能を開発するために設けられたのではない。チーム全体が2つの目的にフォーカスするための技術投資の期間として設定されたのだ。2つの目的とは、きれいな状態になり、その状態を維持することである」と語る。
同氏によると、マイクロソフトの取り組みが遅れていた分野の1つがテストの自動化だった。マイクロソフトがWhidbeyを出荷した時点では、テストの自動化でカバーできたのはコードの30ないし80%だったという。「それで今回は、テストの自動化の遅れを取り戻すのに4カ月かけたいと思ったのだ。白紙の状態でスタートできるようにするためだ」と同氏は話す。
また、きれいな状態を維持するために、ソマセガー氏は開発チームが借金をこれ以上増やさないようにしたかったという。
「開発プロセスで採用した指標の1つが、製品を出荷するまでに修正しなければならないバグの数だった」とソマセガー氏は話す。「Visual Studio 2005の開発プロセスのピーク時には、製品出荷までに修正すべきバグのデータベースに3万2000個のバグが登録されていたときもあった。Visual Studio 2008では、ピーク時のバグの数は約5000個だった。つまり1桁も減ったのだ」とソマセガー氏は話す。
この変化の理由の1つは、ソマセガー氏が命じた借金の精算が行われたことである。もう1つの理由としては、「コード的な完成」という考え方から「機能的な完成」という考え方に改めるという同氏の決定がある。これに基づき、小規模なプログラマーのチームとテスターのチームが「機能チーム」として連携して、個別機能の完成に責任を負うようにした。
「バグの数が減ったのは、機能チームのバグバックログが40個あるいは50個のバグを超えた場合には、開発作業を中断し、バグを修正してから先に進むように指示したからだ」とソマセガー氏は話す。
マイクロソフトは「クオリティゲート」という概念も導入した。クオリティゲートとは、開発プロセスにおいてコードの品質をチェックするために開発者が使用しなければならないツールセットである。「ソースコードをメインビルドに組み込む前にやらなければならない作業がいくつかあり、われわれはそれをクオリティゲートと呼んでいる」とソマセガー氏は説明する。これらの作業としては、静的コード分析ツールの実行、自動テストの実行、テストの自動化によって一定限のコード範囲をカバーすることなどが含まれる。クオリティゲートは全部で17個設けられた。
さらにVisual Studio 2008の開発では、自社技術を利用して新技術を開発するというマイクロソフトのポリシー(同社ではこれを「自社製のドッグフードを食べる」あるいは「ドッグフーディング」と表現している)が採用された。Orcas開発チームは、Visual Studio Team Systemファミリのコンポーネントである「Team Foundation Server」(TFS)をリポジトリおよび構成管理システムとして利用した。
「われわれはセルフホスティング主義者であり、Team Foundation Serverを利用した」とソマセガー氏は話す。「つまり、Visual Studio 2008は、Visual Studio 2008を使って開発されたといえる。TFSを使用する最大のメリットは、いつ何時でもプロジェクトの状況を見通すことができる透明性にある。実際、 TFSを使用するというのは、妊娠初期の段階から胎児の状態を観察できる超音波検査装置のようなツールを使用するようなものだ」。
TFSが備える機能ディレクトリでは、すべての機能がリスト表示され、開発者は各機能が完成度という点でどの辺りに位置するのかを把握することができる。マイクロソフトのプロダクトマネジャーで、Visual Studio 2008の計画と出荷に携わっているトニー・グッデュー氏によると、Whidbeyでは約400の機能があったが、Orcasは600近い機能を搭載するという。
ソマセガー氏によると、品質を中心とした改良に専念するために4カ月という期間を投入したおかげで、マイクロソフトは同製品の次期バージョンとなる「Visual Studio 10」では白紙の状態で取り組むことができるという。
「今から思えば、これはわれわれが部門として行った最善の取り組みの1つだった」とソマセガー氏は振り返る。
グロージャン氏によると、OrcasチームはそのMQ活動が評価され、マイクロソフトのビル・ゲイツ会長から社内技術賞を授与されたという。
「借金ゼロの状態で次のリリースに臨むことができる」(同氏)
(eWEEK Darryl K. Taft)
関連リンク
関連記事
Copyright(c) eWEEK USA 2002, All rights reserved.
情報をお寄せください:
- - PR -
お勧め求人情報
**先週の人気講座ランキング**
〜eラーニング編〜
| ◆ | New! 最新サーバOS「Windows Server 2008」を 低予算で効率よく計画的に購入する方法 |
| ◆ | New! ブラウザでアクセスするだけ! 無料&短時間で、SQL Serverを体験しよう |
| ◆ | New! 【事例】組み込みDB ゼンリン電子地図帳 検索スピードアップ!開発効率もアップ! |

| ◆ | New! 「管理ツール」で選ぶサーバとは 聞いて納得・見て納得!のセミナーも |
| ◆ | New! 年間のダウンタイム 約30秒!NTTドコモが 実現した高可用性へのアプローチとは? |
| ◆ | Java開発プロジェクトの“健康診断” 日々のチェックで「大病」を防ぐべし |

| ◆ | こんな「情報漏えい対策」あったんだ! タグとフィンガープリントで情報を保護 |
| ◆ | 使い慣れたExcelをインターフェイスに 現場に優しいBIを実現する |
| ◆ | セキュリティリスクを見よう!情報を 可視化し、磐石なセキュリティの実現へ。 |

| ◆ | いつも見ている“あのサイト”は安全か? 知らぬ間に蔓延するWeb感染の脅威と対策 |
| ◆ | 〜 はじまりはExcelのデータだった 〜 データ解析に挑む“いぶき”の奮闘物語 |
| ◆ | Ajaxは企業の基幹システムをどう変える? 問題点とその解決策に迫る――!! |

| ◆ | 情報漏えいによる損害賠償はどれくらい? 後悔しないための“予防対策”を考える |
| ◆ | キーワードは「集中化」と「単純化」 企業の性能を向上させる情報システムとは |
| ◆ | 個人の「知力」「情報」「人脈」を広げる 企業向けSNS『知創空間』導入のススメ |

| ◆ | 本社100台、支社50台のクライアントPCを “見える化”で一括管理する方法とは? |
| ◆ | 【動画でリアルに体験】Java/XMLという “標準”で構築するリッチクライアント |
| ◆ | アイデンティティ管理製品の選択や利用 考慮すべきポイントはなに? |

| ◆ | “情シス部門”の悩みを解決するには? 成長企業に求められる新たなIT基盤を探る |
| ◆ | あの“赤いカード”を支える秘密とは? 丸井グループが選んだ24時間無停止サーバ |
| ◆ | 【特集】OCNのオンデマンド型 インターネットVPNが誕生! |

| ◆ | 【Ruby】と【Java】のキーマンに聞いた! 日本の技術者が世界で活躍する条件とは? |
| ◆ | PC操作を逆手に取られてうっかり感染 最新のメールの攻撃手法を知ろう |





