CMMI の感度分析はCrystal Ballにおまかせ
プロジェクトマネジメントのフレームワークであるCMMIにおいては、モンテカルロ・シミュレーションや感度分析が登場します。Crystal Ball での分析が実施されています。
CMMI の利活用
そもそもCMMIとは
CMMI(Capability Maturity Model Integration:『能力成熟度モデル統合』)は組織のプロセス策定やその改善を進めるための枠組みとなります。組織のプロジェクトマネジメント能力とここでは呼びますが、その能力をレベル1からレベル5まで、5段階で表現しています。
CMMI における定量化プロセス
上述のうちレベル4や5といった高度な段階においては、特にプロセスを定量的に管理することが求められます。ここで、あるプロセスの効果を定量的に把握するためにモンテカルロ・シミュレーションが用いられます。また、目標を達成するために有効な施策を判断するための分析方法の1つに感度分析が利用されます。
このような分析を手軽に実施できる手段として、Crystal Ball が古くから使われています。
CMMIとモンテカルロ・シミュレーション、感度分析
PPM: プロセスパフォーマンスモデル の分析と予測
モンテカルロ・シミュレーションのCMMIにおける活用例のひとつとして、PPM: プロセスパフォーマンスモデルへの適用があります。
例えばPPMがソフトウェアのリリース時における欠陥の多さを表現するモデルだったとしましょう。その要素として「設計の複雑さ」などの諸項目を分析したとします。このとき、各要素が結果に対してどの程度影響するかを確認するためにモンテカルロ・シミュレーションが利用できます。以下の表では、設計の複雑・要件の不確実性・品質チェックの確からしさの3つの項目が、リリース時の欠陥の多さにどう影響するかを表にしたものとなります。
こちらの例題は次の資料を参考にしています
- Software Engineering Institure | Carnegie Mellon "High Maturity! How Do We Know?" © 2007 Carnegie Mellon University
例えば、設計の複雑さ(システム開発であればユニークなクラスの数など)が10から50まで振れ幅を持ち、おそらく30程度に落ち着くという想定を持てる場合、上記のように設定を行います。ここでは確率分布として三角分布を採用しています。それぞれの項目で確率分布を設定してモンテカルロ・シミュレーションを実施すると、以下のような分析結果になりました。
欠陥件数を15件に抑えられる確率は94.6%(上図 の下部、信頼度というウィンドウに表示)と分かります。
PPM自体は回帰分析などを利用して作成する必要があり、この機能はCrystal Ball にありません。お手元のExcelなどで実施いただく必要があります。一方で、PPMの要素として過去データを確率的に捉える場合には、Crystal Ball の過去データから確率分布を作成する機能が利用できます。
PPM: プロセスパフォーマンスモデル を元にした感度分析
さらに、感度分析を活用すれば、結果から各要因の影響の大きさを評価することが可能です。優先して対処するべき領域を定量的に知ることができます。以下は感度分析の結果となります。設計の複雑さが強く影響を持つ一方で、品質チェックは影響していないという結果になっています。
この作業はCrystal Ball であればワンクリックで実施可能です。
CMMI の定量分析をCrystal Ball で手軽に実施
実務での実施にはCrystal Ball が便利
実務でモンテカルロシミュレーションを効果的に活用するためには、ツールの利用がおすすめです。分析の手順やアウトプットの試行錯誤には時間を割くことなく、分析そのものに注力するべきです。また、業務の継続性という観点でも、完成されたソフトウェアを利用するメリットがあります。Crystal Ball はそういったツールの一つであり、以下のような特徴を持っています。
変数や確率分布を自由に設定
Crystal Ball では、変動させたい要素を簡単に指定することができます。また、確率分布を自由に設定し、特定のシナリオに基づいたシミュレーションを実施できます。例えば、正規分布や三角分布など、さまざまな確率分布を選択できます。
感度分析の実施(トルネードグラフの作成)
感度分析を実施して、どの要素が結果に最も大きな影響を与えるかを評価できます。モンテカルロ・シミュレーション後にワンクリックで作成可能です。また、感度分析の別パターンとしてトルネード分析を実施するツールも付属しています。
結果の可視化とレポート作成
シミュレーション結果をグラフやチャートで簡単に可視化でき、レポートとしてまとめることができます。これはVBAやPythonでは案外手間となります。分析結果を迅速に共有し、意思決定に活用することができます。
改めて、本記事においては、CMMIとモンテカルロ・シミュレーションや感度分析の関係、そしてCrystal Ballの活用についてご紹介いたしました。
以下のフォームより、Crystal Ball の利活用をまとめた資料をお配りしております。また、Crystal Ball は15日間の無料体験(こちら)を活用すれば、シミュレーションを動かしてご自身のケースで計算をお試しいただくことも可能です。ぜひお試しください。