モンテカルロシミュレーションを利用した、プロジェクト見積もりを計算するウェブベースのツールが最近公開された。Monte Carloシミュレーションの結果は、ステークホルダーと予想を管理するのに役立つ。しかしながら、このようなツールは以前までALMソフトウェアの購入によってのみ可能か、または手動でスプレッドシートの設定・稼働が必要であった。新しいツールはアジャイルテクノロジーリーダーであるRich Stewart氏によって開発された。彼は、アジャイルチームがそれを使って、過度に甘い見積もりではなく、現実的な成果にフォーカスしつつ、スクラムマスターとプロダクトオーナーの会話を円滑に進められればと願っている。
ソフトウェアデリバリチームはよく、未来の仕事に対する信頼できる見積もりを提供することに悩む。数名のアジャイル実践者は、より現実的な見積もりを提供する選択肢のひとつとしてモンテカルロシミュレーションを利用することについての利点を議論している。過去のパフォーマンスデータ、今回でいうと過去のスプリントで受け入れられたストーリーポイントまたはユーザーストーリーがシミュレーションのインプットとして利用される。アルゴリズムはそれから、起こり得る未来のスプリント成果を予測するのに乱数を利用する。そしてそれもまたストーリーポイントまたはユーザーストーリーで計測される。
主にスプリントで行動するスクラムチームを対象としているが、ウェブアプリはヴェロシティ測定をグルーピングするための任意のタイムボックスを選択することにより、カンバンといった他のアジャイル方法論に順応するのに十分にフレキシブルである。複数のスプリントはプログラムインクリメント(PI)にまとめられ、しばしばリリースとして見なされる。
ウェブインターフェースを使って、過去のデータをグリッドに入力、またはExcelファイルにアップロードできる。モンテカルロ分析は起こり得る成果の範囲を対応する確率と伴に生成し、結果をヒストグラムに表示する。表形式の結果は、プロジェクトのステークホルダーとのコミュニケーションのため、Excelにエクスポートできる。
ツールはhttps://sevawise.com/tools/monte-carloで利用可能で、詳細なヘルプもある。
InfoQはツールを開発した原理をより理解するため、Stewart氏と対談した。
InfoQ: プロジェクトの見積もりになぜこのツールの助けが必要なのでしょうか?以前よりもより重要になってくるとお考えでしょうか?
Rich Stewart氏: 近年、アジャイルチームが顧客に価値をデリバリする重要性について多く書かれています。合言葉は ”outcomes over output” で、多くの組織のプロダクトオーナーは当然ながら成果を測定する方法にフォーカスし始めます。このシフトが組織におけるアジャイルデリバリの自然な成熟を表している一方、予測可能な機能(すなわち成果)のデリバリの重要性は、アジャイルデリバリチームにとっての重要なゴールにとどまっています。
InfoQ: #NoEstimatesムーブメントに逆行するのものでしょうか。それともこの哲学に関しても利点を見出しているのでしょうか?
Stewart氏: #NoEstimatesはストーリーカウントをベースとした計画づくりを妨げるものではありません。わたし自身を含めた、多くによって示されているように、ストーリーポイントをベースとした見積もりと同等に正確です。その原理は容易に理解できます。プロダクトオーナーが一貫した方法でユーザーストーリーを書くと、大数の法則は、プロダクトオーナーによって書かれた10〜20のユーザーストーリーのどのグルーピングもおおよそ同じストーリーポイントの総数になると示します。このイベントでは、見積もりのためのストーリーカウントはストーリーポイントと同等に効果があるべきなのです。
さらには、プロダクト開発ライフサイクルの初期において見積もりは困難である一方、追加として、似た機能性がビルドされると、ストーリーを見積もりことは容易になります。開発ライフサイクルのこの点において、モンテカルロのような見積もりのテクニックはかなり有用であると証明できるでしょう。
InfoQ: このツールを使うときに注意すべき事項はありますか?
Stewart氏: このツールの有用性を高めるために、過去のデータは現在の精術度や/またはチームのサイズを反映するものだけを使ってください。加えて、例えば年末休暇で異常に小さくなったヴェロシティといった、逸脱した過去のデータポイントがあればシミュレーションから外してください。
InfoQ: アプリケーションの作成時に使用したテクノロジスタックには何がありましたか?
Stewart氏: このツールは、ag-grid、chart.js、js-xlsxを含めた、AngularやJavaScriptライブラリをユーティライズしたシングルページアプリケーション(SPA)として開発されました。