プロジェクトシミュレーションとは?リスクと工期を確率的に予測する手法
プロジェクトシミュレーションは、モンテカルロ法を用いてプロジェクトの工期・コスト・リスクを確率分布として予測する手法です。入力設計、実行手順、結果の解釈方法を解説します。
プロジェクトシミュレーションとは
プロジェクトシミュレーションとは、モンテカルロ法を用いてプロジェクトの工期、コスト、リスク影響を確率分布として予測する定量的な分析手法です。従来のCPM(クリティカルパス法)が各タスクの単一見積値に基づく「点推定」を行うのに対し、シミュレーションは各タスクの見積りを確率分布として扱い、数千〜数万回の試行を通じて「プロジェクトが特定の日付までに完了する確率は何%か」という問いに答えます。
この手法の起源は1940年代のマンハッタン計画にまでさかのぼりますが、プロジェクト管理への応用が本格化したのは1990年代以降、計算機の性能向上とソフトウェアの普及によるものです。PMBOKガイドでも「定量的リスク分析」の主要手法としてモンテカルロシミュレーションが位置づけられています。
コンサルティングの現場では、大規模なシステム開発プロジェクト、建設プロジェクト、M&A後のPMI(統合マネジメント)計画など、不確実性が高くステークホルダーへの説明責任が求められる場面で特に有用です。
構成要素
プロジェクトシミュレーションは「入力」「エンジン」「出力」の3層で構成されます。
入力パラメータ
| 入力要素 | 設定方法 | 例 |
|---|---|---|
| タスク工期 | 三点見積(楽観・最頻・悲観) | 5日・8日・15日 |
| コスト | 範囲と確率分布の型 | 正規分布: 平均100万±20万 |
| リスクイベント | 発生確率と影響度 | 30%の確率で2週間遅延 |
| タスク間依存 | FS/FF/SS/SF関係 | タスクAの完了後にタスクB開始 |
| 確率分布の型 | 三角分布、ベータ分布、正規分布など | 工期は三角分布が一般的 |
シミュレーションエンジン
モンテカルロ法の核心は「確率分布からのランダムサンプリングと繰り返し計算」です。各試行において、すべてのタスクの工期を確率分布からランダムに抽出し、タスク間の依存関係に基づいてスケジュールを計算し、プロジェクト全体の完了日とコストを算出します。これを数千〜数万回繰り返すことで、結果の確率分布が得られます。
出力結果
- 完了日の確率分布: 「X日までに完了する確率はY%」というS字カーブ
- コストの確率分布: 「予算X万円以内に収まる確率はY%」
- クリティカリティ指数: 各タスクがクリティカルパス上に現れた頻度(%)
- 感度分析: どのタスクやリスクが全体の結果に最も影響するかのランキング
実践的な使い方
ステップ1: WBSとスケジュールの構築
シミュレーションの土台となるWBS(作業分解構成図)とネットワークスケジュールを構築します。タスクの粒度はシミュレーションの精度に直結するため、重要なパス上のタスクは詳細に、影響の小さいタスクは集約して扱います。タスク間の依存関係(FS: 完了-開始、SS: 開始-開始など)を正確に定義することが不可欠です。依存関係が不正確だと、シミュレーション結果全体の信頼性が損なわれます。
ステップ2: 確率分布の設定
各タスクの工期やコストに確率分布を設定します。工期には三点見積に基づく三角分布またはBETA-PERT分布が一般的です。三点見積では「楽観値(最も短い場合)」「最頻値(最も起こりやすい場合)」「悲観値(最も長い場合)」の3つを専門家から収集します。見積りの質がシミュレーションの精度を決めるため、単一の専門家ではなく複数の意見をデルファイ法などで集約することが推奨されます。
ステップ3: リスクイベントのモデル化
特定のリスクイベント(仕様変更、規制変更、技術的障害など)を個別にモデル化します。各リスクに「発生確率」と「影響(工期への追加日数やコスト増分)」を設定し、シミュレーションの各試行でランダムに発生/非発生を決定します。リスクレジスタで管理している上位10〜20のリスクをシミュレーションに組み込むのが実用的です。
ステップ4: シミュレーションの実行と結果の分析
設定が完了したらシミュレーションを実行します。試行回数は結果の安定性に影響し、一般に5,000〜10,000回が推奨されます。結果の分析では以下の指標に注目します。
- P50(50パーセンタイル): 半数のシナリオで達成される日付/コスト
- P80: 80%の確率で達成される日付/コスト(リスク許容度が中程度の場合の目標設定に使用)
- P95: 95%の確率で達成される日付/コスト(コンティンジェンシーバッファの設定に使用)
- クリティカリティ指数: 100%に近いタスクはほぼ常にクリティカルパス上にあり、管理の最優先対象
ステップ5: 意思決定への活用
シミュレーション結果をステークホルダーへの報告と意思決定に活用します。「プロジェクトの完了目標を3月末に設定した場合、達成確率は65%です。80%の確率で完了するためには4月中旬が必要です」といった形で、確率と日付の関係を明示します。コンティンジェンシー予備(時間・予算の余裕)の設定根拠としても活用できます。
活用場面
- 大規模プロジェクトの工期見積り: 単一の見積値ではなく確率分布として工期を提示し、ステークホルダーの期待を適切に管理する
- 予算のコンティンジェンシー設定: 「P80で完了するために必要な追加予算」を定量的に算出する
- リスクの優先順位づけ: 感度分析により、プロジェクト全体に最も影響するリスクを特定し、対策の優先順位を決定する
- 入札・提案の根拠: コンペティションにおいて、工期・コストの見積りの合理性を確率分布で示す
- プロジェクトポートフォリオ管理: 複数プロジェクトの完了確率を組み合わせ、ポートフォリオ全体のリスクを評価する
- スケジュール交渉: 顧客やスポンサーとの納期交渉において、確率に基づく客観的なデータを提示する
注意点
プロジェクトシミュレーションの信頼性を確保するために、いくつかの注意点があります。
第一に、「ガベージイン・ガベージアウト」の原則です。入力の質が低ければ、いくら洗練されたシミュレーションを行っても意味がありません。三点見積の収集において、楽観値と悲観値の範囲が不適切に狭い(アンカリングバイアス)ケースは非常に多く、見積り者に「ほぼ確実に超えない上限」「ほぼ確実に下回らない下限」を意識させる工夫が必要です。
第二に、タスク間の相関を無視する誤りです。同じチームが担当するタスクは、一方が遅延すれば他方も遅延する可能性が高く、独立事象として扱うと全体のリスクを過小評価します。高度なシミュレーションツールでは相関係数の設定が可能ですが、少なくとも「同一リソースのタスク間には正の相関がある」という認識を持つことが重要です。
第三に、シミュレーション結果を「予言」として扱う誤りです。シミュレーションは「現時点の情報に基づく確率的な推定」であり、プロジェクトの進行に伴い新たな情報が得られれば更新すべきものです。定期的な再シミュレーション(少なくとも月次)を計画に組み込みます。
第四に、結果の伝え方の失敗です。「P50で3月末」と報告すると、受け手は「3月末に完了する」と解釈しがちです。「3月末に完了する確率は50%で、確実に完了させるにはX月が必要」というように、確率の含意を明示的に伝えることが不可欠です。
まとめ
プロジェクトシミュレーションは、モンテカルロ法を用いて工期・コスト・リスクを確率分布として予測する手法です。単一の見積値に依存する従来のアプローチに比べ、不確実性を定量的に扱うことで、ステークホルダーへの説明力の向上、コンティンジェンシーの合理的な設定、リスク対策の優先順位づけが可能になります。入力の質と結果の正しい解釈が成功の鍵です。