ソフトウエアは硬い。ハードウエアよりも硬い。ある程度の規模のソフトウエア資産を抱え,それを日々動かしている担当者の方であれば,ソフトウエアの硬さ,すなわち柔軟性の無さを痛感しておられると思う。
ソフトウエアが硬くなっている,という印象的な表現は,2004年1月に出版された『ソフトウェア入門』(黒川利明著,岩波新書)に出てくる(日経エレクトロニクスも2005年12月19日号で「ソフトウエアは硬い」という特集を組んでいた)。本来,ソフトウエアは開発した後であっても,使い方や環境の変化に応じ,柔軟に変更できることが特徴だった。ところが同書によれば,「コンピュータシステムにおいては,ハードウェアを変更するか,ソフトウェアを変更するかという判断を迫られたとき,今日ではユーザは一般的にハードウェアの変更を選び,ソフトウェアの変更は後回しにする」ようになってしまった。
例えば,あるシステムの応答速度が遅くなった時,手っ取り早い解決方法は,ハードウエアの増強である。かつてのメインフレーム時代と違い,ハードウエアはコンピュータ・メーカーが気の毒になるくらい安く,しかも高性能になっている。せっかく動いているソフトウエアに触る危険をいきなり冒すことはない。
情報システムの黎明期においては,ハードウエアのほうが硬かった。処理速度は遅く,メモリー容量は乏しく,にもかかわらず高価であったので,ハードウエアの変更は簡単にはできず,システム担当者はソフトウエアで工夫をこらしていた。大ベテランが「今日のパソコンよりはるかに小さいメモリーでオンラインシステムを組んでいた」と振り返ることがあるが,それはこうした事情を指している。
『ソフトウェア入門』を書いた黒川氏(CSKホールディングス フェロー)は,ソフトウエアがハードウエアより硬くなる逆転現象が起きた理由を,ソフトウエアの巨大化に求めている。動いているソフトウエアに何らかの変更を加えようとした時,ソフトウエアが大規模になっているので変更の影響範囲を特定できず,「変更して大丈夫」と言い切れない。さらに,そのソフトウエアを開発した担当者がもはや残っておらず,どこから手を付けてよいのか分からない,という問題もある。
ソフトウエアは増え続ける
4年前に『ソフトウェア入門』を読み,「ソフトウエアはハードウエアより硬い」といった指摘に感銘を受けたが,最近改めてこの言葉を思い出す機会があった。それは,NTTの元常務でNTTコムウェアの初代社長を務めた石井孝氏に再会したことである。石井氏はNTT時代,それまでメーカー任せであった電子交換機用ソフトウエアをNTT社員が開発・保守できるようにするため,交換機用ソフトウエアの内製化に取り組んだ。その時の奮戦記を日経ビズテックという雑誌に寄稿してもらったことがある。その論文は経営とIT新潮流というWebサイトに,『重要なソフトは外注せず自分で作る』という題名で再掲してある。
久しぶりにお目にかかって,あれこれ話をしていると,石井氏が「ソフトウエアで難しいのは増殖することです。気が付くと,業務のいたるところにソフトウエアが浸透していて,管理不能になっていたりする」と言った。一般に,ある目的のためにソフトウエアを開発して使い始めると,機能追加を求める声が次々に上がってくる。システム担当者が一生懸命,機能を追加していくと,当初の目的を超えた機能をソフトウエアが持ってしまい,ついにはソフトウエア無くして仕事を進められない,という状態になる。
ソフトウエアが増える,広がる,という表現もまた,システム担当者の方々にとって実感できるものだろう。増えるだけ増え,広がるだけ広がると,もはや手の出しようが無くなり,その結果,ひたすら硬くなっていくわけだ。