ソフトウェアの部品化には生産性向上は期待できない

ソフトウェアの部品化という信仰

ソフトウェアの部品化で何回失敗すれば気が済むのだろう。

経済産業省のとある外郭団体の委員をしている方と話をしていたら「我が国のソフトウェア産業を改革するためには、ソフトウェアの部品化を推進しなければならない」と話していた。うーん……ソフトウェアの部品化かぁ……。正直、頭をよぎったのは1980年代後半に国内のソフトウェア部品の集積を目指して立ち上げられたが、失敗した「Σ(シグマ)プロジェクト」だ。

ハードウェアにおいても部品化は生産性向上をもたらさなかった

そもそも、ハードウェアにおいても、部品化は必ずしも生産性向上をもたらさなかった。「“標準”の哲学―スタンダード・テクノロジーの三〇〇年 (講談社選書メチエ (235))」によれば、元々、製品の一個一個に使われる部品には互換性が無かったらしい。高い製造技術が無かったため、製品毎にすりあわせで調整して作られた。互換性のある部品を使うようになったのは戦争のためだった。戦場において壊れた部品を容易に取り替えられるように、生産性を度外視して、互換性のある部品が求められた。製造技術が向上した結果、すりあわせで調整する手間をかけるより、互換性のある部品を作る方が生産性が高くなるようになった。けして、ストレートに部品化が生産性向上に結びついたわけではない。

ソフトウェアの部品化は生産性を低下させる?

何度も言っていることだが、ソフトウェアの開発はハードウェアにおける設計である。ハードウェアの製造における生産性向上策がソフトウェア開発においても生産性向上策となる保証はどこにもない。それどころか、製造における生産性向上と設計における生産性向上とは対立すると考えるのが自然だろう。製造においても設計においても生産性を向上させるような都合のいい策がそうあるはずもない。ハードウェアにおいて生産性を度外視して互換性のある部品が作られたという事実からすると、ソフトウェアの部品化に生産性向上を期待するのはかなり見当はずれと言わざるを得ない。