モンテカルロシミュレーションは、不確実な事象について起こり得る結果を推定する数学的技法です。モンテカルロシミュレーションが研究開発分野の専門家にもたらすメリットについては、以前にも記事にしています、また、製品が意図した仕様を満たし、工程能力を予測し、最適な工程設定を決定するのに役立つモンテカルロシミュレーションのパワーについて、ウェビナーを開催しました。しかし、モンテカルロは、プロジェクトの期間、あるいはコストさえも見積もることができる強力なツールでもあります。
期間を予測する旧来の方法:ゲスト・シミュレーション
プロジェクトのタイムラインは、特にプロジェクトが異なる部門にまたがっている場合、不確実な事象になりがちです。プロジェクトマネージャーは通常、プロジェクトのタイミングがどうなるかを推測して見積もりますが、簡単なシミュレーションを使用すれば、推測の作業を省くことができます。
一般的に2週間のスプリントで構築されるソフトウェア開発プロジェクトを想像してみてください。ここでは物事をシンプルにするために、すべての要件が指定され、開発者のグループが作業する準備ができているものとします。案の定、上司は「この新機能を80日後のカンファレンスまでに納品できる?」と聞いてきます。
プロジェクトのタイムラインを見積もるとき、プロジェクトマネージャーは、開発期間を3~4スプリント(42~56日)、品質テストを1~2スプリント(14~28日)、デプロイメントに1週間(7日)と考えています。より慎重なアプローチをとると、開発に56日、テストに28日、デプロイメントに7日というように最長期間を加算し、結果として91日になります。あるいは、マネージャーは見積もりの平均をとり、77日(開発49日、テスト21日、デプロイメント7日)とするやり方もあります。しかし、上司から80日という納期を要求されると、その起源を確実に守れるかどうかが決定的に重要になります。
期間を予測する新しい方法:シミュレーション
誰だって上司に無理だと言うのは嫌なものです。おそらく、さらに嫌なのは、上司に結果について確信が持てないと言うことでしょう。そこでモンテカルロシミュレーションが役立ちます!
下の図からわかるように、このプロジェクトマネージャーのジレンマをMinitab Engageに入力し、プロジェクトの期間を推測しました。プロジェクトの3つのフェーズ(日数)と、架空の上司がユーザーカンファレンスで発表したいタイミングである80日を上限仕様として入力しました。
シミュレーションを実行すると、2つの洞察が得られます。1つ目は、最も確率の高い結果(分布の中央にある平均値でハイライトされています)が77日であることがわかります。 2つ目は、80日という期限に間に合わない可能性が23.8%あるということです。
モンテカルロシミュレーションによる意思決定の改善
データ分析をある程度駆使すれば、それなりの賢明な意思決定ができます。上司が満足する確率が76%程度で済むなら、それはそれでいいのかもしれません。あるいは、プロジェクトを確実に成功させるためには、リソースを追加する必要があるのかもしれません。上司に自分の自信の度合いと、80日という期限を守るために再配分や投資が必要な理由を伝えることができれば、プロジェクトが始まる前にもっと生産的な話ができるでしょうし、万が一期限に間に合わなかったとしても、プロジェクト終了時にはより多くの理解を得ることができるでしょう。