↑ トップ頁へ

2003.6.28
 
 


日本の弱点=ソフト開発…

 ソフトでバグで大問題発生、とのニュースが多い。修正コストだけでも多額な上、システムの場合は大事故を引き起こしかねないし、組み込み製品では回収を余儀なくされる。多大な損失である。

 特に問題なのが、組み込みシステムだ。いまや単純な機器はほとんどない。ケータイのプログラムは1万行を越える。しかも、インターネットで外部システムと繋がるため、複雑化が一気に進んでいる。こうなると、少数精鋭部隊での開発などできかねる。今や、300人もの混成部隊で分業体制を敷くのが常態である。
 その上、開発期間短縮と開発コスト削減のプレッシャーは益々強まっている。バグはさらに発生し易くなる。

 ところが、経営幹部は、高信頼性の伝統を守って、もう少し慎重に開発せよ、というピント外れの指示をだしているようだ。
 このような発想が、バグを生んでいることに気づかないのである。
 このまま進めば、日本のソフトウエア産業の技術力はどん底まで落ちるかもしれない。

 経営幹部は、自分達の実力を冷静に見つめるべきである。
 日本のソフトは、もともと信頼性が低いのである。バグが少なかったのは、単純なソフトしか扱っていなかっただけの話で、本質的には信頼性担保に関しては無力と言ってよい。その理由は、ハード製造分野のTQCをソフト開発業務に持ち込んだ点にある。

 そもそも、ソフト開発における信頼性向上を、個人の品質追求で実現しようとの思想がズレている。

 ソフトウエア開発は、最初に要求仕様を明確に定義し、それに合わせて全体設計を行い、最終的にプログラムを記述するという順番で進む。問題はどの段階でも生じるが、バグ修正コストは3段階で全く異なる。当然ながら、上に行くほどコストがかかる。ほぼ1桁づつ上昇すると見てかまわない。  要するに、一番上が肝なのである。

 ところが、この部分は個人がいくら神経を研ぎ澄ませても、信頼度は上がらない。仕様はモノではなく機能である。従って、普通の言葉で記述するしかない。どうしても曖昧さが残るから、いくら詳細に記述しても内容ははっきりしない。
 この状態で信頼性担保を要求される。しかし、曖昧なものを、いくら検証した所で信頼性など向上しない。とてつもない労力をかけて、意味の薄い検証を繰り返す以外に手はないのだ。
 矛盾やトラブルが発生しない方が不思議といえる。

 要するに、上流部分の質が悪いままで、プログラムの信頼性確保を図るのが日本のソフト開発の特徴といえよう。ところが、質の悪い上流部分を抱えたままで、下流の部分は徹底的にチェックする。こちらには、様々なツールが揃っているから、労力は生きてくる。といっても大物バグは探せない。小物バグだけを徹底消去するのである。この作業に限れば、確かにTQCが向いている。

 こんな状況を続けていれば、どうなるか明白といえる。

 ところが、ほとんどの企業は変えようとしない。
 経営幹部が、それでなくとも忙しいのに、手法の勉強でもなかろう、と語るからだ。このため、日本では、こうしたツール(形式言語)を使う人は今もって極く一部である。[形式言語:VDMTools,B-Toolkit,CafeOBJ(北陸先端大開発)等]

 一方、海外では、上流部分の問題に早くから気づいていたから、ツール利用が広がっている。
 すでにインターネット上で無料で学べる体制が整っている。しかし、これらは英語だから、日本語テキストが揃っていそうなものだが、数冊しか出版されていない。カリキュラムにとり入れている大学も稀だ。
 インドのソフト産業が伸びたのは、英語でのコミュニケーションが可能という点だけではない。このようなツールを使った協同作業ができたから、仕事がスムースに進んだのである。

 日本のソフト産業は、このようなツールが使えない。従って、中国やインドのエンジニアとの協働は難しい。と言うより、実は、中国やインドよりレベルが低いのかもしれない。


 技術力検証の目次へ>>>     トップ頁へ>>>
 
    (C) 1999-2004 RandDManagement.com