「品質」とは何か?

ISO9000では、「本来備わっている特性の集まりが要求事項を満たす程度」と定義されています。

ソフトウェア工学の分野で名高い人たちも、「品質」とは何かについて述べています。

  • クロスビー氏(Philip B. Crosby)の定義:※CMMの原型を作った品質マネジメントのオーソリティ
    品質は「要求」に対する適合である
  • ワンバーグ氏(Gerald M. Weinberg)の定義:※ソフトウェアエンジニアリングの著作で有名
    品質は誰かにとっての価値である

また「ソフトウェア品質」についても、その在り様について述べています。

  • ケイパース氏(Capers Jones)の定義:※メトリクス、計測の分野の大家
    ソフトウェアを完全に停止させたり、容認できないような結果を出す欠陥が全くないこと
  • バリー氏(Barry W. Boehm)の定義:※Vモデルを示した論文を発表
    顧客満足度、移植性、保守性、強度、そして使いやすさが高いレベルで達成されていること
  • ワッツ氏(Watts S. Humphrey)の定義:※CMMの生みの親として有名
    使いやすさ、要求への適合度、信頼性、保守性において、卓越したレベルを達成すること

いずれも、製品開発に携わる人々が製品の品質についてどのように考えるべきなのか、私たちに教えてくれているように思います。

システム開発においては、開発標準や品質基準など社内規定に従う形で開発が進められることがありますが、仕様や設計の工程が想定通りに進まないことで、各工程の判断基準をいかにクリアするかという、作り手側の視点で品質を考えがちです。

また開発工程が遅延したとしても、開発期間は決まっているため、それまでの負荷のしわ寄せが評価工程に影響することは想像するに難しくありません。

評価工程においては、ユースケースやユーザビリティなどの評価を実施することが望ましいですが、不具合が多発する中でいかに基準値をクリアするか、という状況は良くあることで、評価期間に占めるユーザ視点での評価には、多くの工数を割くことはできないというのが実情だと思います。

実際、ユーザ視点での評価を実施した場合には、これまで予想しなかった問題点が見つかることもあり、重要度の高い不具合である場合には、手戻りによる影響を考えると頭が痛いです。

本来、製品の品質を決めるのがユーザであるならば、我々はもう少しユーザが求める品質に目を向けた開発に取り組むべきなのではないかと、改めて考えさせられました。

自開発組織においては、日頃あまり「品質とは?」について話し合う機会は少ないかと思いますが、少しくらいはそのような時間と場所を設けても良いのかなと思っています。

 

<参考書籍>
「ソフトウェア品質保証の考え方と実際(保田勝通 著)」 日科技連出版社