ソフトウェアの品質について、その究極の目的とは

ソフトウェアの品質管理は、通常の物理的な物品の品質管理に比べ高度であると言われる。
それは、ソフトウェアが純粋なロジックの塊であり、物品の検査基準に比べて検査項目が非常に多いことからもわかる。

また、場合によっては検査基準が決められていなかったり、検査の項目が顧客の要求により次々に変化したりするからだ。
したがって、ソフトウェアの品質管理を行うことは、高度な技能が必然的に要求される。

また、ソフトウェアは検査そのものだけでは品質を担保できない。というよりむしろ、検査は品質管理上、最後の砦というだけで、品質を作りこむのはほとんどが上流工程である。
トヨタのものづくりは「設計で品質を作りこむ」と言われるが、ソフトウェアはすべてが上流工程にかかっている。
ソフトウェアの品質は、設計次第、これを技術者が理解しているかどうかで、プロジェクトの行く末は大きく変化するのである。

では、設計とは一体何を目的に行うのか。
究極的には、設計の目的はシンプルさと機能の両立である。これはデザインと同様の考え方である。
すなわち、求められる機能を、どれだけ最小の構成要素で実現するか、これが設計の根本的な考え方だ。だから、設計とはむしろ、ごちゃごちゃした要望をまとめ、そぎおとし、シンプルな形で実現させるクリエイティブな作業である。
そのことを、技術者は忘れてはいけない。