4/9の朝日新聞朝刊に「バグ頻発デジタル製品」という記事があり、どれどれと読んでみると、非常に耳の痛い話だった。
デジタル家電などに内臓され、特定の機能をつかさどる「組み込みソフト」でバグ(欠陥)が猛威を振るっている。デジタル製品の高機能化が急速に進んでソフトの規模が大きくなっているのに、開発段階からプログラムのテストが追い付かないためだ。
猛威の例として、プリウスのエンジンが止まった、ソニーのウォークマンのバグが頻発、ブラビアで電源が落とせなくなったなどが挙げられている。またキヤノンや松下電器でも、ホームページの「重要なお知らせ」欄にはソフト修正の告知がずらり、だそうだ。
この記事によると、いまや製品開発のコストの7割はソフト開発費だそう。また、現在の携帯電話のソフトは、80年代の銀行オンラインシステム並みの複雑さを持っているらしい。
ソニーの中鉢良治社長は、技術系で人材が欲しいのは「ソフト部門」と言い切る。その枢要部門で技術者が「バグつぶし」に追われてしまうと、新規開発が遅れ、コストもかさむ。
という記事もあり、我々ソフト屋としていはまだまだ必要とされていそうなので嬉しいような気もするが、その需要を創り出しているのもこれまた我々だという構造になっているよう。耳の痛い話である。
ソフト屋としてあるまじき発言に聞こえるかもしれないが、僕は「バグは絶対に発生する」という前提を持った上で、それに対してどのように対策を立てるかが重要であると考えている。例えばデジタル機器を定期的にネットワークに繋げることにより、パッチを素早く当てることの出来る仕組みを作るとかそういうことが大事、ということ。
またWEB2.0っぽい考え方を持ち込むのであれば、各社ハードの仕様は完全に公開してしまって、Linux等のオープンソースを基に、基本OSの共同開発に乗り出すべきなのではないだろうか。当然バグは出るのだが、共通のソフトを使っていれば、バグの減少も共有できる訳だし、コストが随分と押さえられるだろう。そういった協力体制を組まないと、もう各社各様ではやっていけないほど複雑化な構造物を相手に我々は闘っているのだ。