ソフトウェアの品質とはなんだ?

バグが0件であることだけが品質ではない。

品質の目標がバグ0件だけを指しているのでは、よろしくない。
品質を上げるために「テストをがんばります」では不十分。

コストを抑えるため、納期を守るため、リスクを回避するために
実現が難しいところや標準化から外れる機能を排除する。優先順位を落とす。
それはプロジェクト管理として重要なことである。

しかし、実は自分にもっと技術力があれば実現策を思いついたり短時間実現できたり、
OSSのライブラリを使用すれば簡単に実現できるかもしれない。
そういった技術力を持っていなかったり、知識を持っていなかったり、というのは
品質低下につながってはいないだろうか。

狭義の意味での品質はたしかにバグがないことになるかもしれない。
しかし、広義の意味での品質は多岐にわたる。
ユーザビリティであったり、パフォーマンスであったり。
非機能要件と呼ばれる領域を考慮することも品質として扱ってもいいかもしれない。

目先のQCDに追われて、早く安くばかりを気にしていて
モノを仕上げることだけに忙殺されていてはいけないのではないか。

さらによいものを作るといった気構えが必要だと思う。
本当の品質とはなにか。品質向上させるために何をすべきか。

勉強をしなければならないし、人材育成をしなければならない。
また、そのための余力を作る、確保する必要がある。