ソフトウェア品質雑感 ~SQuBOKから読み解くソフトウェア品質~
NARAコンサルティング 代表
奈良 隆正
3.先達の日本的品質の捉え方
- (1)当たり前品質、一元的品質、そして魅力的品質
これは必ずしもソフトウェアを対象としている訳ではないが、1980年代半ばに日本的品質管理の大家、狩野紀昭氏が提唱した考え方である。
これは図―2に示した様に「満足感と物理的充足度合い」の二次元の概念を使って品質の区分を提案したものである。
― 当たり前品質:それが充足されれば当たり前と受け取り、不十分であれば不満を引き起こす
― 一元的品質:それが充足されれば満足、不十分であれば不満を引き起す
― 魅力的品質:それが充足されれば満足を与えるが、不十分であっても仕方が無いと受け取られる
我々が目指すのは当然「魅力的品質」であることはいうまでもない。
- (2)品質にかわって質(Quality=質)
ソフトウェアやサービス産業などの無形の価値を提供する産業が増加し、品質と表現すると有形の製品の「質」を暗に想定するという固定概念があることを考慮し、あらゆる産業においてその定義の意味するところを端的に表す用語として、従来の品質と全く同じ意味で「質」を定義している。
また、質には「狭義の質」と「広義の質」がある。狭義の質は従来(欧米型)からの「製品の品質」と捉え、広義の質は、仕事の質、サービスの質、情報の質、工程の質、部門の質、人の質、システムの質、会社の質など全てを含めたものを質と捉えている。
これらは日本品質管理の父と呼ばれた石川馨氏が提唱したものであり、多くの品質専門家にも支持されている。
4.ソフトウェア品質を議論する際の要点
ソフトウェアに要求される重要なことがら(使命など)を整理してみると品質を議論する際の要点が浮き上がってくる。
ソフトウェア品質はあらゆる角度からもれなくソフトウェアを観察することでその要素が見つけられる。それをSQuBOKから引用してみる。
- 「時間」についての概念
- 「コスト」の概念
- 「必要な機能」が実現されていること
- 「使いやすい」こと
- 「想定した時間内」に機能を実行できること
- 「実行時に故障しない」こと
- 「導入や学習」が容易
- 「導入後の維持/拡張」が容易なこと
5.色々な人の色々なソフトウェア品質の定義
(1)Roger S Pressman ;ソフトウェアの品質特性を測定することは可能
- 機能および性能に関する明示的な要求事項、明文化された開発標準および職業的に開発が行われた
全てのソフトウェアに期待される暗黙の特性に対する適合
Pressmanの定義は比較的新しいものであり、筆者は他の定義に比べてかなり実用的であると考えている。SQuBOKが詳しく解説しているのでその一部を引用する。
『Pressmanの定義は、他の品質に関する議論を踏まえたうえで、全体的に共通する以下の二つの観点から品質を論じているといえよう。
・設計品質(quality of design) :設計者が当該品目に対して指定する特性
・適合品質(quality of conformance) :当該品目の設計仕様に対する準拠度合い 』
(2)Joseph M.Juran ;二つの視点
- プロダクトの特性(Feature)が顧客のニーズに応えることで満足を提供する
- 不備:deficiencies(障害や誤り)から免れる
(3)Robert L Glass ;品質は製品によって変わり全てに共通の品質定義はない
- 各製品が備えるべき一式の品質特性のことであり、プロジェクトの種類に応じて異なった優先度が付くべきもの
(4)ISO,IECなど国際規格の定義 ;品質に関する規格は数多く存在するが、
ここでは皆さんがよく目にする二つの規格を取り上げた。
- ISO9000の定義
本来備わっている特性の集まりが要求事項を満たす程度
(要求事項とは明示的事項、暗黙的事項、義務として要求されているニーズのこと)
- ISO/IEC25000
指定された特定の条件で利用する場合の、明示的または暗示的なニーズを満たすソフトウェア製品の能力
以上、ソフトウェア品質の定義について私の経験とSQuBOKからの引用で述べてみた。品質はステークホルダや切り口、さらには時代や対象によって多様であることをご理解頂ければ幸甚である。
品質は定義したら測定しなければ意味が無い。そのためには先ず品質モデル(一般的には階層構造のモデル)を理解し、目的にあったメトリックスを定義し、それを測定しなければならない。測定結果は品質改善に活用(寄与)されてこそ品質定義の意味が生きてくると考える。