JIS X 25010:2013 SQuaREシリーズ読解

システム開発エンジニアとして最近もっぱら興味があるのは「品質」。
今の会社に入社してから「自分は品質部長になりたい」と言ってたのだけれど(部長なって役職ないけど)
4年経った今もその思いはあんまり変わらない。やっぱり「品質」っていうワードは至る所で使われるし
ある意味「品質」って抽象概念の塊なので、思考することが多いんだよね。その点が好き。

「品質を上げなくてはならな」とか言ってる奴らの話を聞くと反吐が出てしまうし、「お前の品質とは何かこの場で演説してみろ!」と言いたくなる。
君の考える品質とはなんなのですか?

自分自身も品質に関して体系的に学んだわけではないけど(色々つまみ食い状態)、自分なりの意見を持ち合わせているとは思っている。
でもやっぱり、スタンダードを知って考えを整理することも重要だと思い、JIS X 25010を読んでみることにした。

システムの品質の定義

これが非常に重要。高校だったら、これテストに出るから。この概念なくして品質を語っている奴らは地獄に落ちろ。

システムの品質は、システムが様々な利害関係者の明示的ニーズ及び暗黙のニーズを満足している度合いであり、それによって価値を提供する。

ニーズなくして品質なし。様々な利害関係者のニーズによって、各人が求める品質は変わるということ。
ベンダーが求める品質と、実際にシステムを利用する人が求める品質は違う。例えばプログラムコードに欠陥が多く含まれていたところで、ユーザにとって品質が高いと言えるシステムだってあるのだよ。

品質モデル

上述した「明示的ニーズ」及び「暗黙的ニーズ」をJIS X 25010では「品質モデル」で表しているとのこと。
品質モデルは、品質特性(及び副特性)と品質特徴で表される。

f:id:p_r_party:20171213220427p:plain

品質特徴 ・・・ 品質に関係する測定可能な特徴とそれに伴う品質測定量

品質モデルの種類

品質モデルの種類は3つある。以下の3つに分けられていて、データ品質モデルは最近できたとJSTQBのセミナーで言っていた。

  • 利用時の品質モデル
  • 製品品質モデル
  • データ品質モデル

JIS X 25010:2013で定義しているのは利用時の品質モデルと製品品質モデル。
さらっと本文に書いてあるのだが、次の文が大事だと思える。

ある特性に関連した副特性の集合は、必ずしも包括的ではない。典型的な懸案事項を表現するために選択されている。

あくまでベースであって毎回各々考えろよ、と言われていると思っている。

品質モデルの利用

製品品質モデル及び利用時の品質モデルは、要求事項を仕様化し、測定量を確率し、品質評価を行うために有益である。

まあそうだよね。だってニーズの満足度の度合い、って言ってるぐらいだから。でも「品質=ニーズの満足度合い」って思える人がどこまでいるのか。
そして次の一文がなかなか刺さった。

大規模コンピュータシステム又はソフトウェア製品の全ての部分に対して、全ての副特性の仕様化又は測定は、事実上不可能である。同様に、全ての起こりうる利用者業務のシナリオに対して、利用時の品質を仕様化し、測定することは、通常は、現実的ではない。

続く