
427
25
章
ソフトウェアの大半の欠陥は
どこから生じる?
ディエイン・ペリー(
Dewayne Perry
)
ソフトウェア開発管理の聖杯(中心主題)は、「コストを抑え、素早く、より良い品質で」ということ
です。不幸な事に、この聖杯を追い求めて、多数のお粗末な管理上の諸決定がなされます。「コストを
抑えて、素早く」がしばしば重要とされますが、信頼性や安全性が至上命令の幅広いソフトウェアシス
テムにおいては「より良い品質で」が明らかに最重要です。
製品をより良いものにするのには、顧客のニーズを明確に理解する方法からシステム内の欠陥を最小
化する方法まで、さまざまなものがありますが、本章が扱うのは後者です。私たちが犯す間違いを理解
することによってのみ、製品もしくはプロセスの改善ために、どの手段を適用する必要があるのかを、
明らかにできます。欠陥が発見された後で、またはプロジェクトの振り返り(「プロジェクトの検死」と
いう言
われ方をすることも多い)の際に、欠陥をモニタリングすることは比較的簡単です。
ソフトウェアシステムの欠陥を最小化する上で基本的な側面は、ソフトウェアシステムに関する最重
要の本質的特徴である、複雑性の管理です[
Brooks 1995
]。複雑性を管理する上で最も役立つ技術の
1
つは、コンポーネントの実装とインタフェースを分ける技術です。この極めて重要な技術ゆえに、イン
タフェースの欠陥と実装の欠陥の違いが、本章で言及する重要な区分となります。
ソフトウェアの欠陥に関する研究
ある面では、欠陥を見つけたり改善したり起きないようにする際に研究者の手引きになるような、ソ ...