はじめに
ソフトウェアの品質とは何か?という質問に対して、皆様はどうお答えになるでしょうか?
一言に「品質」と言っても、さまざまな答えがあると思っています。
・機能が要求通りに動くこと
・簡単には壊れないこと
・バグが少ないこと
・ユーザの要求にこたえていること
などの回答ができるかと思います。
ソフトウェア以外の分野においても「品質」という言葉は使われますが、
いずれの場合にも「品質」を正しく定義することは非常に難しいことかと思います。
今回はこの「品質」について、少しだけ記事を記述しようと思います。
なおこの記事に**「品質」とはこうだ!**ということは記述していませんので、
予めご了承ください。
品質とは
はじめに でも記述しましたが、「品質」とは何なのでしょうか?
ここでは「品質」についての定義をいくつか紹介しようかと思います。
ISO9000シリーズ
ISO9000とは、国際標準化機構(ISO)による5つの規格から構成されています。
ここでは、「品質」について以下のように定義されています。
● 製品またはサービスが所与の品質要求を満たしていることの妥当な信頼感を与えるために必要なすべての計画的および体系的活動
JIS Q9000:2015
前述のISO9000は規格の用語集となっており、これを日本語訳したものがJIS Q9000となります。
ここでは、「品質」について以下のように定義されています。
● 対象に本来備わっている特性の集まりが、要求事項を満たす程度
とされています。
クロスビーの定義:「要求に対する適合」
元軍人で朝鮮戦争にも従事した、ソフトウェア工学の専門家P.Crosby博士は
1979年に発行した「Quality is Still Free」の中で品質についてこう述べている。
- The definition of quality is conformance to requirements (requirements meaning both the product and the customer's requirements)
- The system of quality is prevention
- The performance standard is zero defects (relative to requirements)
- The measurement of quality is the price of nonconformance
顧客のニーズに基づいて自ら設定した要求に対して合致していることが、優れた品質であるとした。
ワインバーグの定義:「品質は誰かにとっての価値である」
G.Weinberg博士は前述のクロスビーの定義について、
「要求が正しい限り、優れた定義になる」として、
自著「ワインバーグのシステム思考法」の中で、品質についてこう述べている
● 品質は誰かにとっての価値である
「誰か」とはユーザであったり、開発であったり、販売元の場合もあり得る。
そのため、クロスビーの言う「要求」はとても曖昧なものとなる。(実際そうだしね)
ユーザは使いやすく、開発は保守しやすく、運用はバグがなく止まらないとか
ジェームズ・マーチンの定義:「システムが稼働するとき、どこまで真のビジネス(ユーザ)ニーズに合っているかということ」
Martin.J氏は自著「ラピッド.アプリケーション.ディペロップメント」の中で、
品質についてこう述べている。
開発期間が長期化すると、当初のユーザーニーズを把握していても、完成する時には変化しているということが良くある
そのため、ユーザが製品を使用する時点で、そのユーザーニーズをどの程度満足しているかが重要であるとして。
ただし「ユーザ」が誰であるかは重要な問題でもある。
※ワインバーグの定義同様、ユーザとは誰なのかが問題となる
まとめ
うまく表示されないかもしれませんが、表にまとめてみました。
品質定義 | 参考元 |
---|---|
製品またはサービスが所与の品質要求を 満たしていることの妥当な信頼感を 与えるために必要なすべての 計画的および体系的活動 |
ISO9000シリーズ |
対象に本来備わっている特性の集まりが、要求事項を満たす程度 | JIS Q9000:2015 |
要求に対する適合 | クロスビーの定義 |
品質は誰かにとっての価値である | ワインバーグの定義 |
システムが稼働するとき、どこまで真のビジネス(ユーザ)ニーズに合っているかということ | ジェームズ・マーチンの定義 |
終わりに
今回は品質の定義について簡単にまとめてみました。
ここでは取り上げていない定義や規格もありますが、代表的であろうと思うものをまとめています。
「品質ってなに?」というタイトルにしていますが、これはずっと課題として残るものかと思います。
技術は進化していき、要求されるニーズも変化をし続けていきます。
そのため、「品質とはこうだ!」と決めるのではなく、
「品質とはなにか」を常に問い続けて対応していくことが大切だと思いますし、
そうしていくことが必要だとも思います。