ソフトウェアの品質とは何か

こんにちは、mi2yo4です。
今年は風邪が流行っているのか、自分も年末から現在に到るまで、2回ぐらい風邪を引いたかもしれません。気づくと熱が出ているので、無理をせずボチボチとやっていこうかなと思っています。

さて、今日はソフトウェアの「品質」について少し調べてみた事を書いてみようかと思います。

ソフトウェアの品質って何さ

品質とは何ぞや?と問われると、うーんと考えてしまいますね。
ソフトウェアにおける品質とは何か?という事を問われた場合を考えてみましょう。

一般にバグのないソフトウェア=高品質、という認識をされがちです。

Ω<そんなふうに考えていた時期が俺にもありました (などと、某テンプレと同じセリフが浮かんできました) しかし、様々な資料で調べてみると、下記の事が判りました。 顧客にとって望ましい価値を提供できるソフトウェア=品質が高いソフトウェア なるほど、これは分かりやすいですね。 例を挙げてみると、こんな感じでしょうか。 「最高級の素材を使ったヘアラインも美しい金ダライと最高級の(以下略)な洗濯板」と「普通、ちょっと難有りの全自動洗濯機」、普通のユーザーにとってどちらが価値があるか、と言われれば後者を選ぶと思われる。 ここで言う、製品自体の仕上がりの良さ等はユーザーにとってはどうでも良い事であり、重要なのは「手間をかけず洗濯したい」という要求をどちらが満たしてくれるか、という点ですね。 (なので、顧客層によっては前者の方が品質がある、という事もできます)

狩野モデル

ターゲットとなる顧客層にどのようにに品質の高いソフトサービスを提供するか。

上の言葉を進めて考えると、顧客層は「何を求めている」のか、を知ることが重要となります。
色々と方法はあるらしいのですが、今回は「狩野モデル」と言われる考え方を書いてみます。
ちなみに「狩野モデル」のキーワードで検索すると、色々と出てくるので詳しい説明はそちらにおまかせしましょうか(^^

簡単に言うと、ユーザーにとっての価値を以下の3つにカテゴライズします。
(厳密には後2つ、マイナス評価のフィーチャがありますが省略)
・当たり前、または必須のフィーチャ
・線形、一元的なフィーチャ
・魅力的な、ワクワクするフィーチャ

↑これを、↓に詳細に書いてみました。

当たり前、または必須のフィーチャ

無いとお話にならない、という機能はここに入ります。
今から思えば、ログBOXのCO2濃度計測機能はここに入っていたかもしれませんね。

線形、一元的なフィーチャ

あればあるほど嬉しい、という機能はここに入ります。
ちょっと前の、PCはCPUクロックが速ければ速いほどいい、というような話はここに入りますね。

魅力的な、ワクワクするフィーチャ

無くても問題ないが、あれば嬉しい機能はここに入ります。
例えば良質なデザイン・質感はここに入りますね。
あぐりログの情報共有機能(未実装)もここに入ると思います。

「当たり前、または必須のフィーチャ」と「線形、一元的なフィーチャ」は優先的に実装、後はいかに「魅力的な、ワクワクするフィーチャ」を見つけ出すかが鍵となりそうです。機能実装の際の優先順位付けのベースとして使えるのではないでしょうか。

まとめ

いかがでしたでしょうか?
今日はソフトウェアの品質という話を切欠に、顧客が求めているものは何か、という方向に話が膨らんできました。

狩野モデルという品質管理の考え方を知り、バグ管理だけがソフトウェア品質を決めるわけでは無い、という事を学べたのは今回の収穫です。

また、↑に挙げたように顧客志向の考えを進め、

「あぐりログ」が品質が高い=生産者さんにとって価値あるソフトウェアサービス

という図式を、誰の目からも達成できている、という状態にしたいですね。

それではまた。