確率分布を用いた意志決定

2008年10月29日(水)
坂田 祐司

確率分布を用いた品質の管理

 今回は本連載の最終回です。そこで、最初にシステム開発プロジェクトで必須な品質管理に確率分布を用いる例を、ポアソン分布を使う場合で説明します。そして、総まとめとして、今まで紹介した技法や考え方を含めた意志決定に関するさまざまな手法を整理します。

 システム開発プロジェクトにおいて開発対象システムの品質を管理する重要性はいうまでもないでしょう。システムにおける品質には主に信頼性、使用性(操作感に類するもの)、変更容易性、効率(性能と必要リソース量)、検証性、移植性などの特性から構成されます。これらの特性の中で最も重要視される特性は信頼性でしょう。

 信頼性とは、システムが実現すべき機能を高い信頼度で実行する機能のことです。信頼性が低いということは、バグの混在によって仕様とは異なる結果が生じたり、意図しない停止をしたりすることを意味し、これが問題であることが明らかでしょう。

 高い信頼性を確保する手段にはエンジニアリング的アプローチと管理的アプローチが存在します。エンジニアリング的アプローチとはテストやインスペクション(ソースコード逐次チェック)といった信頼性を高める作業自身により信頼性を確保するアプローチです。非常によく設計されたテストはコードの90%を網羅したテストが実現でき、また厳しいインスペクションは実行前に90%のバグを発見できるといわれています。このようにエンジニアリング的アプローチは信頼性を確保する第一の手段です。

 一方、信頼性確保のためには管理的アプローチも重要です。管理的アプローチは信頼性に代表される品質に関する特性を長期的にコントロールするために求められるアプローチであり、プロジェクトにおける開発プロセス標準化やメンバの訓練、そしてそれらの定量的・統計的観点での測定と分析による改善といったことを実施するものです。現在、用いられ成果を上げてきたTQM(Total Quality Management)やCMMI(Capability Maturity Model Integration)の高成熟度レベル達成のための考え方の基礎となるものです。

 品質の管理的アプローチにおける定量的測定・分析は非常に強力な武器です。一方、導入や運用が難しいという側面もあります。理由は、品質を表す特性は極めて漠然としているため、変更容易性や使用性などは直接的に値として表すことが不可能であり、また信頼性や効率は限定した側面を表すことは可能でも測定や制御が困難であるからです。強力ですが難しいという点は、CMMIにおいて統計的にプロセス制御する手法がレベル4.5に位置づけられていることからも理解できるかと思います。

 そこで、最終回となる今回はシステム開発でのシステムの信頼性を管理するために求められる典型的な手法として、欠陥除去率の定量的分析の技法として用いられるポアソン分布と呼ぶ確率分布とその分析における使い方を、定量的管理的アプローチの定量的分析と有用性を理解していただければと考えます。

ポアソン分布とu管理図

 定量的な扱いが困難な対象を測定・分析するには、まず対象をとらえるためのモデルとモデルに基づいて測定した値の分析を行うためのツールの選択が重要となります。定量的な扱いを実現するためのモデルは、対象の注目すべき特性を単純かつ近似的に表現でき、さらに数学的手法・統計的な手法により分析が可能であるものが望ましいといえます。

 また、ツールは何を分析し、どのような対策をとりたいのかという観点で選択するべきであり、管理的アプローチにおいてはQC7つ道具や新QC7つ道具などが有名です。今回、成果物に対する欠陥発見密度量を測定・分析するためのモデルとツールとしてポアソン分布と管理図(u管理図)を用いた例で説明しましょう。

 ポアソン分布とは、不連続な値に対する確率分布である離散分布の一種です。特に、起こる確率が十分に小さい現象の回数を、長期間観測するときの分布を近似することができます。もともと、軍隊内における馬にけられて死亡する兵士の数を予測するためのモデルとして考えられたといわれています。そのほか、交通事故による死者数別の日数や、一定量の文章を入力するときのつづりを間違える回数、一定時間内に電話がかかってくる回数などの事象がこの分布に従うといわれています。

 図1にポアソン分布をグラフ化したものを示します。λで表される数字は事象が生じる平均回数、X軸が実際に事象の生じた値、Y軸がその値となる確率を表しています。図1で示すようにポアソン分布はλが小さい場合は、小さい値に寄った山の形になります。しかし、λが大きくなるにつれて徐々によく目にかけける正規分布に近づくことがわかります。システム開発において欠陥発見密度、つまり設計成果物でのレビュー指摘密度やテストにおけるバグ密度などは、一般にこのポアソン分布に従うことが知られています。

SI企業の研究所においてソフトウエア工学の研究に従事。試験やプログラムの解析技術に興味を持ち研究に従事。研究の一方、ソフトウエアのライフサイクル全般を考慮した開発方法のあるべき姿を探っている。http://d.hatena.ne.jp/ysakata

Think ITメルマガ会員登録受付中

Think ITでは、技術情報が詰まったメールマガジン「Think IT Weekly」の配信サービスを提供しています。メルマガ会員登録を済ませれば、メルマガだけでなく、さまざまな限定特典を入手できるようになります。

Think ITメルマガ会員のサービス内容を見る

他にもこの記事が読まれています