「ソフトウェアの品質」ってなに?

私はプログラムを書いて生きている身でして、これまでいろいろなプログラムを見てきました。
仕事でプログラムするようになって高々4年ですが、他の人が書いたプログラム(ソースコード)の質がそのままソフトウェアの品質に直結していると感じています。
 
私が今まで関わったプロジェクトは10件ありまして、品質の面では以下のような印象を持っています。

  • ソース高品質・ソフト高品質:3件
  • ソース低品質・ソフト高品質:1件
  • ソース高品質・ソフト低品質:1件
  • ソース低品質・ソフト低品質:5件*1

 
以上の経験から、私がソフトウェア開発で重視すべき点は、
ソースコードはどのように記述すべきか?」
ということではないかと考えています。
これは、もちろん、システム設計をいい加減にするということではありません。
ソフトウェア開発において、設計が重要なフェイズであることは当然のことです。
しかし、ソフトウェアを作るのはプログラマなのです。
どんなにすばらしい設計のシステムであっても、実際に作るプログラマの腕がダメダメでは、できあがるソフトウェアの品質は低くなってしまいます。
 
現在、世の中には「プログラマ」は大勢います。
しかし、プログラマは免許制度ではなく、認定試験というものもありませんので、各プログラマの能力は千差万別です。
私は最上位プログラマと最下位プログラマの能力差は1000倍以上あると思います。
上位層はほんの一握りで、私を含め多くは中位〜下位に属するということです。

(長くなりそうなので、明日以降につづく)

*1:うち1件は現在のプロジェクト