長年「人月商売」で儲けてきた日本のIT業界は、どのように変化していけばいいのか(写真:Luce/PIXTA)

銀行のシステムや、ネット企業のサービスなど、今日も世界中でシステム開発が行われているが、プロジェクトが遅れると、人員を追加投入してスケジュールの挽回を図ることが多いという。しかし大抵はさらに遅延し、混乱に拍車をかけているという。その対処が間違っている可能性が高いのだ。

ではどこが間違っているのか。永井孝尚氏の最新刊『世界のエリートが学んでいる 教養書必読100冊を1冊にまとめてみた』より、エンジニアリングの視点で、私たちの常識の盲点を解説する。

人員を追加投入した結果、さらに遅延するITプロジェクト

いまやITは社会インフラだ。しかし、システムが動かなかったり、開発が難航して稼働しなかったりすることも多い。開発プロジェクトが遅延すると、多くの責任者はこう考える。

「人員を追加投入してもっと作業ができるようにして、スケジュールの挽回を図ろう」

しかしこうした判断は悲惨な結末になる可能性が高い。さらにスケジュールが遅れ、プロジェクトが混乱してしまうのだ。

ITプロジェクトが抱える問題の本質は、この数十年間あまり変わっていない。それを明らかにしたのが、世界中のITエンジニアにバイブルとして読み継がれてきた、1975年刊行の「人月の神話」(フレデリック・P・ブルックス Jr.著、丸善出版)だ。

著者のブルックスは、1964年にIBMが当時の金額で50億ドル(現在の価値で数兆円)を投じて開発し、コンピューター市場で圧倒的なシェアを獲得した大規模プロジェクト・システム/360で、同システムの中核ソフト・OS/360の開発プロジェクトマネジャーを務めた人物。ブルックスはこの巨大プロジェクトを通じて得た知見をもとに本書を書いた。私もかつてIBM大和研究所でソフトウェア製品開発マネジャーを担当したことがあり、本書の言葉は骨身に染みる。そこで本書を紐解きながら、この問題を解き明かしてみよう。

「人月」の進捗管理が破綻する理由

ソフトウェア開発は「人月(にんげつ)」で作業量を見積もる。1人月は「1人で1カ月かかる作業量」だ。

OS/360プロジェクトは、6万人月という巨大な規模だった。人月に比例して開発費が増えるので、この人月の考え方は見積もりではとても役に立つ。しかしこの人月で進捗管理した途端、プロジェクトがおかしくなる。これは人月で進捗管理するとうまくいく仕事(❶の宅配便)と比較すればわかる。

❶ 宅配便などの単純業務:宅配便の場合、配達作業の進捗が遅れたら、残りの配達作業量を1人当たりの配達量で割れば、必要人数がわかる。宅配便は配達員同士でコミュニケーションを取らずに作業できるので、配達員を増やせば期間を短縮できる。

❷ 多くのソフトウェア開発:宅配便の方法は、ソフトウェア開発では使えない。各担当者の作業が密接に関連しているからだ。各担当者が分担してプログラムを書き、各プログラムをつなげてテストして、バグが出たら問題を解析し、どのプログラムで問題が起きたか特定して、修正する必要がある。これらの各作業では担当者間で密接なやり取りが必要なので、宅配便のように完全な分担ができない。そして各作業を行うために必要な時間も決まっている。だから図のように、人を増やしても作業時間は変わらない。ブルックスは本書で「女性がどれほどたくさん動員されたところで、子ども1人が生まれてくるまで十月十日かかることに変わりないのと同じだ」とたとえている。

❸ 一部のソフトウェア開発:中にはある程度の作業分担ができるソフトウェア開発もある。しかしこの場合でもお互いにコミュニケーションを取る労力は必ず発生するので、人を増やしても期間はさほど減らない。

❹ 大規模なソフトウェア開発:大規模なソフトウェア開発プロジェクトでは密接なコミュニケーションが必要なので、途中で人を増やすとコミュニケーションに手間が取られ、逆にスケジュールが遅れてしまう。しかし現実には「プロジェクトが遅れている」と報告を受けた経営幹部は、こう指示する人が多い。「人を追加するから遅れを取り戻そう」。しかし人を追加すると、さらに遅れてしまうのだ。チームがn人だと、コミュニケーション労力は n(n-1)/2 に比例して増える。たとえば2人の作業と比べて、3人だと労力3倍、4人だと6倍、5人だと10倍になる。人を増やすほどコミュニケーション労力が増えるので、実作業に割ける労力は減ってしまう。これがソフトウェア開発の現場で起こる現実だ。

しかしソフトウェア開発を知らない人たちはこの現実が理解できない。そして「遅れているのなら、人を投入すれば問題はすぐ解決するのに、なんでやらないの?」と考えてしまう。これが「人月で進捗を管理する」考え方の弊害だ。

ブルックスはソフトウェア業界で有名な「ブルックスの法則」として、こう述べている。

「遅れているソフトウェアプロジェクトへの要員追加は、さらにプロジェクトを遅らせるだけだ」

私はさらに悲惨な話をよく耳にする。ソフトウェア開発の現場に、上からこんな話が降りて来るのである。

「経営トップの方針で、システムのサービス開始時期が1カ月前倒しになった。全社方針だから、お金や人員はいくら増やしていい。何とか頑張ってやってくれないか?」

これは料理に10分かかるオムレツを「5分でつくれ」と言うのと同じである。生焼けの出来損ないのオムレツができるだけだ。プロジェクトが失敗する理由の多くがコレだ。ブルックス曰く「選択肢は2つだけ」。言われた通り10分間待つか、5分でつくらせて生焼けのまま食べるかだ。当然、正解は10分間待つことである。

そしてこの「人月」でITシステムを考える発想は、日本のビジネス力全体にさらに深刻な問題を生み出している可能性があるのだ。

「人月商売」が日本の産業界の競争力を削いでいる

日本のIT業界は、長年「人月商売」で儲けてきた。

「顧客のきめ細かい要望に応える」という方針の下で、顧客のITシステムの要件と規模を見積もって、必要な技術者を集めて、システム開発と保守で売上を立ててきた。一時期はこのビジネスモデルはとてもうまく動いていた。

しかしITシステムが順調に稼働をし始めると、つねにコスト削減が求められるようになった。そして顧客企業IT部門の人員削減が始まり、多重下請け構造の中、末端のソフトウェア技術者の人件費も削減されているのが現状である。では、どうすればいいのか。

ブルックスは本書の最終章で、こう述べている。

「創造性が個人から発するものであって工程や組織から発するものではないと考えるなら、ソフトウェアマネジャーが直面する中心的課題は、創造性と独創力を抑えるのではなく伸ばすために組織と工程をどのようにデザインするか、ということになるだろう」

日本企業がITプロジェクトで抱える課題は、まさにブルックスが言う創造性と独創力の欠如である。「人月商売」では、創造性も独創力も求められない。この創造性なきITシステムが日本の産業界の競争力を削いでいる可能性が高いのだ。

スタートアップ企業が実現する創造性あるITシステム

これを裏付けるデータもある。IMD(国際経営開発研究所)が作成する「世界競争力年鑑」の2023年版で、日本の競争力総合順位は35位。日本は1992年に1位を維持していたが次第に順位を落とし、2019年以降は30位台が続いている。競争力年鑑では総合順位のほかに4つの大分類「経済状況」「政府の効率性」「ビジネス効率性」「インフラ」ごとに順位を出している。この4つの中で日本が最も低いのが「ビジネス効率性」で、2023年は47位だ。これはビジネス効率性を上げるべきITシステムが、価値を生み出していないことによる可能性が高い。


逆に日本で成長するスタートアップ企業は、ソフトウェアで差別化を図ることで伸びている。彼らがソフトウェア技術者に求めるのは、まさに創造性と独創力であり、成長するスタートアップは創造性があるITシステムを実現することで成長を果たしている。

たとえば「SmartHR」は企業の煩雑な人事・労務管理をスマホやPCで一気に簡単にする仕組みを構築し、企業に提供している。また「スマート修繕」は、マンション大規模修繕工事で、委託業者の見積もりが不透明で手間がかかるのに悩むマンション管理組合に対し、簡単・スムーズに問い合わせて最適な工事業者とマッチングさせる仕組みを構築し、提供している。

このように考えると、日本企業の再生は、スタートアップのITシステムから始まる、と言えるのかもしれない。

(永井 孝尚 : マーケティング戦略コンサルタント)