IT変革力【第24回】
Windows Vista開発は「人月の神話」を超えられるか?
遅れているWindows Vistaの開発。開発規模が大きくなって、いわゆる「人月の神話」に陥っているのではという見方も出ていますが、このなかなか解決できない根本的問題と対比した、マイクロソフト社の試みに注目してみました。
マイクロソフトの次期OSであるWindows Vistaの開発が遅れています。当初予定よりずれ込み、2007年1月発売予定と言われています。さらにWindows Vistaの開発遅延に関してはソフトウェア工学上の「『人月の神話』に陥っているのではないか」と言う見方が各方面から出ています。そこで今回は「人月の神話」と言うITシステム開発のハードルの問題を取り上げます。
幻のIBM360の開発で発見された理論
ITシステムに関する読むべき古典を挙げろと言われれば、筆者は真っ先に1970年代に書かれたフレデリック・P・ブルックス,Jr(Frederick P. Brooks, Jr.)による「人月の神話」を挙げると思います。この書籍の著者は現在、神代の昔の名作と言われる名機IBM360のオペレーティング・システムの開発プロジェクト・マネージャーでした。IBM360と言えば米国のIBM社が当時のライバル・ユニバック社(現ユニシス社)を抜き去り、世界市場を席巻し始めた頃の最初の大型汎用コンピュータです。今で言うレガシー・システムのもっとも初期のプロダクトでした。
「人月の神話」が世に出た1970年代当時のITシステム開発プロセスは、現状分析、概要設計、基本設計、詳細設計、プログラム開発、テスト、移行といった段階に分かれていました。これをウォーターフォール型開発と称していました。いずれにしても本書は、現代にも有効なソフトウェア工学上の名著と言われています。
開発要員は交換可能な人月ではない
「人月の神話」は開発プロジェクトの失敗を(1)見積もりの不十分さ、(2)人月が交換可能という神話、(3)マネージャーのなさと頑迷さ、(4)ずさんなスケジュール管理などとしています。
とりわけ重要なのは、(2)の「人月が交換可能という神話」です。分かりやすく言えば「開発要員を規模の増大に応じてどんどん追加したり、簡単に交換可能できると考えるのは幻想だ」というわけです。だから規模が大きなITシステム開発は失敗するリスクが幾何級数的に高くなると主張されました。
それは一体、なぜでしょうか。ブルックスはその原因として開発要員間のコミュニケーション量に注目しました。皆さんは平面上に無数の点がある場合、任意の二点を結ぶ線分の数はN・(N-1)/2であると言う方程式をご存知ですね。この場合、点の数が開発要員数、線分の数が求められるコミュニケーション量に相当します。
分かりやすく言えば、ITシステムの開発工数規模が大きくなればなるほど、つまり開発要員の数が増えれば増えるほど開発者相互間のコミュニケーション量は飛躍的に増加し、開発のリスクが高まるという意味です。
こうなれば個々のモジュールの開発要員を簡単に取り替えたり、増やしたりできなくなります。人月と言う人手をいくらでも増やしたり、交換できるのは、「相互のコミュニケーションが必要ない仕事だけだ」と言うわけですね。そして「狼人間を撃つ銀の弾は無い」と言うサブタイトルが「人月の神話」には付いています。そして彼は「人月の神話」は「いかなる方法論も有効でない、手の打ちようがないITシステム固有の開発病だ」といった意味の主張をしました。
これは当時、非常に新しいコンセプトであり、あまりに当時の状況を的確に言い当てていたため「人月の神話」はIT業界において一大センセーションを巻き起こしました。筆者も本書に感激したのを鮮明に覚えています。
この「人月の神話」は、「特定の技術なり、技法なりではこの問題は解決できない」という神話をIT業界に残しました。このおかげで高年齢のシステム技術者は古いレガシー・システムのお守だけで存在意義を主張でき、多くのソフトウェア企業は、競争原理を排除する「随意契約の必要性」を主張し、一種の系列取引を確立して長い間、黒字を維持してきたと考えられます。「人月の神話」を逆手にとって大いに儲けてきたわけですね。
ソフトウェア工学上の未解決問題が、古いシステム技術者を養い、長らくソフトウェア業界を潤してきました。ウォーターフォール型開発から一定程度脱却したと言われるオープン・システム開発でも、「人月の神話」の根本問題は解決されませんでした。
「人月の神話」はマイクロソフトの次期OSのWindows Vista開発にも当てはまるのか
筆者も詳しいことは何も知りませんが、マイクロソフト社のWindows XPの後継OSであるWindows Vistaの開発が遅れています。そして識者の間からは盛んに「人月の神話」が犯人ではないかと言う見方が出ています。
一説によれば、Windows Vistaのステップ数は5,000万ステップを越えるほど巨大だと言われています。これは大手都市銀行の基幹系システムをはるかに凌駕する規模です。確かにこの規模のソフトウェア開発になれば、「人月の神話」が当てはまる状況であると考えてもおかしくはありません。
あまりにも巨大な次期OSであるWindows Vistaの開発を前にして、マイクロソフト社は幾何級数的に開発要員間のコミュニケーション量が増える事態に陥っているのでしょうか? 確かなことは筆者も分かりません。
「人月の神話」をどう避けるのか?
このちょっとしたヒントはインターネット上にあります。インターネット上には無数の業務システムが稼動しています。そしてそれぞれのITシステムは独立して動いており、Webサービスによりほんの軽くつながっているだけです(疎結合と言われている結合方式)。
仮にWindows Vistaを多数の小さな仕組みに分解し、サーバ上に振り分けたら、インターネットのようなごく軽いインタフェースを持ったITシステムができ上がるかもしれません。そうなれば開発者間の無限のコミュニケーション量(N・(N-1)/2)は理論上、ほとんどゼロに減ってきます。Web2.0がIT「システムを軽く作れ!」と言っているのも、「人月の神話」の視点から見れば、「開発要員間の無限のコミュニケーション量を限りなくゼロにして、開発を明確なモジュールに分割し、開発要員の簡単な取り替えや増加、減少が可能な状態にせよ!」と言っているのと同じことになると思います。
これが業務系システムの場合には、APIと呼ばれるインタフェースやERDと呼ばれるデータベース設計との深い絡みを、標準化によりどのように相互に切り離すかと言った問題が出てきますが。
ITシステムの要員交代の問題が解決すれば、これは本当にソフトウェア工学上の革命です。
EAやPMBOK、UML、ITILなどの開発・運用方法論も開発担当者間のコミュニケーション量削減に寄与する目的で開発されたと考えられます。また、そうでなければ方法論の意味がありません。しかし、軽いインタフェース(疎結合設計)による設計と言うアーキテクチュアの問題がその中で最も重要と考えられます。
基幹系のITシステムでも、ごく軽いインタフェースを持ったITシステムが主流の時代になれば「人月の神話」のおかげで高い運用費を稼いでいる多くのソフトウェア企業は、極端に言えば倒産するかもしれません。一方、IT活用企業の生産性は確実に向上します。
マイクロソフト社の試みに注目しよう!
マイクロソフト社は「人月の神話」に引っかかるWindows Vistaの開発とWeb2.0を前提としたWindows Liveと言われるインターネット版の開発を同時に進めています。Windows Liveはそれぞれの機能モジュールが軽くて、相互に独立した疎結合型の開発形式を取っているわけですね。こうすれば確かにコミュニケーション量の阻害問題は、理論的には解決の方向に向かいます。Web2.0型のWindows Liveはその設計思想から「人月の神話」に引っかからない可能性が、理論的には高いと思われます。
Web2.0における軽いインタフェースによる相互接続と言うのは「人月の神話」からの脱却を意味します。はたして具体的にどこまでそれが可能なのでしょうか? Windows Vistaの従来からの重い開発との対比でマイクロソフト社の2つの試みは非常に興味深いです。
(野村総合研究所 社会ITマネジメントコンサルティング部 上席研究員 山崎秀夫)
Copyright © ITmedia, Inc. All Rights Reserved.
新着ホワイトペーパー PR
-
製品資料
[株式会社キーエンス] なぜRPA導入は頓挫する? シナリオ作成の壁を乗り越える解決策とは -
製品資料
[株式会社セールスフォース・ジャパン] 「CRMは設計と無関係」は本当か? PLMとの融合で実現する高速開発 -
事例
[日本ヒューレット・パッカード合同会社] AIエージェントの時代にどう備える? 「新たな働き手」を支える3要素とは -
製品資料
[日本ヒューレット・パッカード合同会社] “横並びの自動化”から脱却、AI活用で生産性と競争力を高める秘訣 -
製品資料
[サイボウズ株式会社] AIが「わざわざ使うツール」になっていない? 業務で自然に使う導線にする秘訣
こんなメディアも見られています
TechTargetジャパンに関連する情報をお探しであれば、こちらのメディアもお役に立てるかもしれません。
ベンダーコンテンツ PR
From Informa TechTarget
SpecialPR
アクセスランキング
-
1
なぜ「全社配布Copilot」は使われないのか? 失敗に学ぶAI定着
-
2
法務と開発者で「言葉が通じない」問題 トヨタやソニーが語るOSS管理の真実
-
3
ChatGPTは“検索しまくり”でGeminiは“淡泊”? データが明かすAIの裏側
-
4
なぜ「Gemini 4 Argon」は出遅れたのか? Googleが狙う“逆転のシナリオ”
-
5
「中堅・中小企業のネットワーク・セキュリティ運用実態」に関するアンケート
-
6
損保ジャパンはなぜ「COBOL」を捨てなかったのか? 脱メインフレームの真相
-
7
「Wi-Fi 7」経由でWindowsが乗っ取られる? 最高権限奪取の恐怖
-
8
情報漏えいはなぜ繰り返されるのか 今すぐ見直すべき「境界」
-
9
情シスの約8割が転職や退職を意識 調査で分かった“辞めたくなる最大の理由”
-
10
【漫画付き】ひとり情シス協会が明かす、RAG導入でしくじる企業「2つの共通点」
ホワイトペーパーランキング PR
-
1
不審メールの経路や見せ方に変化? 2026年夏の3事例から見えた動向と対処方法
-
2
家庭用Wi-Fiルーターの業務利用は危険? 避けるべき理由と具体的な対策
-
3
Microsoft 365を安全に運用 うっかりミスやサイバー攻撃に備えるデータ保護術
-
4
財務部門がAIを最大限に活用する方法 無駄のない戦略的リーダーシップへの道
-
5
LLMが兵器化? 元FBI高官が鳴らす警鐘とセキュリティツール統合のポイント
-
6
「オンプレミス回帰」せざるを得ない“合理的な理由”
-
7
なぜRPA導入は頓挫する? シナリオ作成の壁を乗り越える解決策とは
-
8
生成AIを開発に導入しても効果が見えない? 実証実験で分かった成果と課題
-
9
経産省DX指針から読み解く、受発注業務デジタル化ロードマップ
-
10
HDDを使わない「SSDオンリー」が無謀なのはなぜ?
TechTargetジャパン SNS
インフォメーション
注目情報をチェック
TechTargetジャパンをフォロー