ひとことで言うと#
各タスクの所要時間を「確定値」ではなく**「確率分布」で入力し、数千〜数万回のシミュレーションを実行**することで、プロジェクト全体の完了日を「○月○日までに完了する確率は80%」のように確率的に予測する手法。
押さえておきたい用語#
- 3点見積もり(Three-Point Estimate)
- 各タスクの所要時間を楽観値・最頻値・悲観値の3つで見積もる手法のこと。モンテカルロ分析の入力データとなる。
- PERT分布(Program Evaluation and Review Technique)
- 3点見積もりから確率分布を生成するベータ分布ベースの統計モデルのこと。最頻値に重みを置く。
- P80(80パーセンタイル)
- シミュレーション結果の中で80%の確率で達成できる完了日のこと。多くの組織がコミット日として採用する。
- 感度分析(Sensitivity Analysis)
- どのタスクの不確実性がプロジェクト全体に最も影響するかを特定する分析のこと。トルネードチャートで可視化する。
- S字カーブ(Cumulative Probability Curve)
- シミュレーション結果を累積確率で表したグラフのこと。任意の日付における完了確率を読み取れる。
モンテカルロスケジュール分析の全体像#
こんな悩みに効く#
- スケジュールを一点見積もりで立てて、毎回オーバーしてしまう
- ステークホルダーに「いつ終わるのか」と聞かれて、自信を持って答えられない
- リスクを「感覚」で判断していて、定量的な根拠がない
基本の使い方#
各タスクの所要時間を**3点見積もり(楽観値・最頻値・悲観値)**で定義する。
- 楽観値(Best Case): すべてがうまくいった場合の最短期間
- 最頻値(Most Likely): 最も起こりそうな期間
- 悲観値(Worst Case): 問題が重なった場合の最長期間
- 三角分布やPERT分布を使って確率分布に変換する
ポイント: 悲観値を過小評価しがち。過去の実績データを参考にする。
タスクの順序と並行可能性を明確にする。
- クリティカルパス法と同様に、先行・後続関係を定義する
- 並行実行可能なタスクを特定する
- リソース制約も考慮する(同一担当者の並行不可など)
ポイント: 依存関係の精度がシミュレーション結果の精度を左右する。
数千回のシミュレーションを実行して結果の分布を得る。
- 各シミュレーションで、各タスクの所要時間を確率分布からランダムに抽出する
- タスクの依存関係に従ってスケジュールを計算し、完了日を記録する
- これを数千〜数万回繰り返し、完了日の確率分布を作成する
ポイント: Excel、Python、専用ツール(@Risk、Crystal Ballなど)で実行できる。
シミュレーション結果を確率的な表現で報告する。
- 「6月30日までに完了する確率は50%、7月15日までなら80%、7月31日までなら95%」
- S字カーブ(累積確率分布)のグラフで視覚的に示す
- ステークホルダーのリスク許容度に応じた目標日を設定する
ポイント: 「80%の確率で完了できる日」をコミット日とするチームが多い。
具体例#
状況: 基幹システムのリプレイスプロジェクト。全20タスク、想定6ヶ月。経営層は「3月末までに完了」を求めている。
3点見積もり例(主要タスク):
| タスク | 楽観値 | 最頻値 | 悲観値 |
|---|---|---|---|
| 要件定義 | 20日 | 30日 | 50日 |
| DB設計 | 10日 | 15日 | 25日 |
| 外部連携開発 | 15日 | 25日 | 45日 |
| テスト | 15日 | 20日 | 35日 |
シミュレーション結果(10,000回実行):
| 完了日 | 確率 |
|---|---|
| 3月15日 | 30% |
| 3月31日 | 55% |
| 4月15日 | 80% |
| 4月30日 | 95% |
経営層への報告: 「3月末完了の確率は55%です。80%の信頼度を確保するには4月15日が必要です。外部連携開発のリスクが最も大きいため、ここにバッファを確保するか、先行着手する方法をご提案します」
結果: 根拠のある報告により4月15日を目標日として承認。外部連携開発の先行着手が決定し、実際には4月10日に完了した。
背景: 製薬会社の臨床試験データ管理システムの新規開発。8名チーム、12ヶ月計画。FDA規制対応が必要で、不確実性が高い。
3点見積もりの特徴: 規制対応タスクの悲観値が特に大きい。
| タスク | 楽観値 | 最頻値 | 悲観値 | 不確実性の理由 |
|---|---|---|---|---|
| バリデーション計画 | 3週 | 5週 | 12週 | FDA指摘による再作成リスク |
| 電子署名実装 | 2週 | 4週 | 8週 | 21 CFR Part 11対応の複雑さ |
| 監査証跡機能 | 3週 | 5週 | 10週 | 要件の解釈ブレ |
シミュレーション結果(5,000回): P50 = 11ヶ月、P80 = 14ヶ月、P90 = 16ヶ月。当初の12ヶ月計画はP55相当で、半分近い確率で超過する見込み。
感度分析: バリデーション計画の不確実性が全体の38%を占める。
対策: バリデーションコンサルタントを初期から投入し、悲観値を8週に圧縮。再シミュレーションでP80 = 12.5ヶ月に改善。結果として12ヶ月と2週間で完了し、実質的に計画通りのリリースを達成した。
背景: 県庁の行政手続きオンライン化プロジェクト。複数ベンダーが参画する24ヶ月の大規模案件。議会答弁で「令和8年度中の稼働」を公約しており、スケジュールの信頼性が極めて重要。
モンテカルロ分析の導入: PMOが四半期ごとにシミュレーションを再実行し、議会・知事への報告資料に活用。
第1回シミュレーション(開始時):
- P50 = 22ヶ月、P80 = 26ヶ月、P90 = 30ヶ月
- 24ヶ月での完了確率: 62%
感度分析の結果: ベンダーA社のAPI開発と住民基本台帳連携の2タスクで全体の52%を占有。
対策実行後の第3回シミュレーション(6ヶ月後):
- API開発のプロトタイプ先行実施で不確実性を圧縮
- P80 = 23.5ヶ月に改善、24ヶ月での完了確率: 85%
結果: 議会に対して「85%の信頼度で令和8年度中に稼働可能」と定量的に報告。最終的に23ヶ月で本番稼働を達成し、予算内で完了した。
やりがちな失敗パターン#
- 3点見積もりの幅が狭すぎる — 楽観値と悲観値の差が小さいと、シミュレーションの意味が薄れる。過去の実績データや専門家の意見を使って現実的な範囲を設定する
- 一度のシミュレーションで満足する — 前提条件が変わったら再実行が必要。タスク追加やリスク顕在化のたびに再シミュレーションする
- 確率を「確定」と誤解して伝える — 「80%の確率で4月15日」を「4月15日に確定」と受け取られないよう、確率的な表現の意味をステークホルダーと共有する
- 感度分析を省略する — シミュレーション結果だけでは「どこを改善すべきか」が分からない。感度分析で影響の大きいタスクを特定し、対策とセットで報告することが意思決定の質を高める
まとめ#
モンテカルロスケジュール分析は、不確実性の高いプロジェクトにおいて「確率」で語るための強力なツール。一点見積もりの楽観バイアスを排し、リスクを定量化することで、ステークホルダーとの合理的な合意形成を可能にする。3点見積もりとシミュレーションの組み合わせは、見積もり精度を飛躍的に向上させる。