ソフトウェアの品質というものについて、思うことがあったので書いてみようと思う。
とはいっても、ソフトウェア工学とか勉強しているわけではないので、今までの経験とか聞いた話とか、それから連想して考えてることを書いてみたいと思います。
「品質」とは
ここ数年で自分の周りの環境もいろいろ変わりまして、その中で言われたので、一番衝撃的だったのが、「品質が良いというは、品質のバラツキがないことだ」ということでした。
普通、品質が良いというと、高品質、高機能みたいなところを想像すると思うのですが、バラツキがないことというのは初めて聞いた定義だったので驚いたことを覚えています。
もちろん、意味合いとしては高品質とか高機能というのも品質が良いということだし、質が悪くて低機能というのは問題があると思います。
しかし、バラツキがあるというのは、もっと問題があるように思います。
あと、もう一つ言われてなるほどな、と思ったのは「品質というのは、相手がこれぐらいのモノだと想定しているレベルのモノを提供することができること」というものでした。
たとえば1000円出したら、この程度の機能はあるだろうとか、こういう宣伝がされているから、こういう機能はあるだろうとか、世間一般的にこういうモノはこれぐらいの機能はついてるから、この製品にもこれぐらいの機能はついているだろう、とか、お客が期待する効果を提供できるというのが品質ということです。
逆に期待する以下の性能や機能しかなかったら、がっかりするし、「使えない」という扱いになるわけです。
これは、最初にあげたバラツキがないことが品質、と言うのとつながってきます。
この前買ったときは、これだけの性能があったから、次も同じぐらいの性能を発揮してくれるに違いないと、期待して買ったのに、今回は全然以前のような機能を発揮してくれない。
そりゃぁ、不満ですよね。
高機能だから品質が高いとは言わない?
「品質というのは、相手がこれぐらいのモノだと想定しているレベルのモノを提供することができること」ということだとすると、逆に考えると、常に最高の性能を発揮する必要はないということになります。
あくまで相手が期待する性能を発揮できればいいわけです。
つまり、満点を取らなくても及第点がとれれば良いといえるのかもしれません。
これってよく考えると工業製品では当たり前なのかもしれません。
たとえば、CPUなんかは2GHzといいながらも、本当はもっとクロック数をあげて処理効率を上げられるのに、2GHzに抑えて、つまり限界よりも低い安全な速度で動くように設定して出荷されています。
PS3のCellプロセッサも内部の8つのプロセッサ(?)のうち、7つしか使いません。製造工程上、一個うまく動かなくても、そのまま出荷するわけです。
ところが、これに関して文句を言う人というのは普通はいません。
2GHzのCPUとして売っているのだから、2GHzで動けばいいのです。
Cellの8つのプロセッサうち1つが最初から動かなくても、元々7つしか使わない前提でゲームも何もかも作ってあるのだから、関係ありません。
普通の人は時速500kmで走ることができる車は必要ないのです。
「時速500kmで走ることができますが、ハズレを掴むとすぐ故障します」っていうんだったら、「時速150kmまでしか出なくてもいいから、ハズレが無いようにして欲しい」ということです。
ソフトウェアの品質とはバラツキのないこと
品質というのは最高性能を発揮できるのではなくて、予想した水準を常に維持できることだ、ということを書きました。
じゃあ、ソフトウェアにおける品質のバラツキとは何か?ということを、次のエントリーで書いてみます。
・・・とまあ、偉そうに書いてますが、たぶん「ソフトウェア 品質管理」あたりで検索するともっと有用な文章があると思います。
まま、自分の考えをまとめるために書いてますので、その程度だと思って読んでください(笑)
日経BP出版センター (1994/02)
売り上げランキング: 28874
![5.0](https://i0.wp.com/images-jp.amazon.com/images/G/09/x-locale/common/customer-reviews/stars-5-0.gif)
ソフトウェアテストの基本となる2冊の本のうちの1冊
もっとも引用される本の一つ