アジャイルリスクマネジメント         

 アジャイルは、「早く失敗から学ぶ」という考え方を重視しており、新規事業など不確定かつリスクのあるプロジェクト開発に、威力を発揮する手法である。アジャイルでは、リスクマネジメントに関して、具体的なリスク登録簿や会議体などは要求されていないが、失敗するリスクを低減する仕組みが、アジャイルを実践するのに必要とされる12のアジャイル原則(1)に組み込まれている。したがって、アジャイル原則をよく理解してアジャイルプロジェクトを実行すれば、失敗するリスクは、ウォーターフォール(WF)と比較して低くなるといえる。紙面関係でアジャイル原則1~4について、その理由を説明する。

原則1「顧客満足を最優先し、価値あるソフトウェアを早期に継続的に提供する」
 価値あるソフトウェアを早期に継続して提供するということは、反復漸進的な方法で開発することである。その方法により早期にプロジェクトの失敗リスク見つけることができ、プロジェクトを途中で止めることができる。そのため失敗リスクが最終フェーズまでわからないWFに比べ無駄になるコストは低くなる。

原則2「顧客の競争力強化のために要求の変更はたとえ開発の後期であっても歓迎する」
 アジャイルでは、プロダクトの価値を上げる要求の変更は歓迎される。優先度の高い要求が発生した場合は、同じ時間とコストが要求される低い優先度の要求を取り下げることにより、時間とコストの増加なしに変更に対応できる。WFでは、厳しい変更管理を実施して当初計画した要求はすべて開発することを前提としているため、価値の高い要求が発生した場合は追加の作業となり、余分の時間とコストが発生するリスクは高くなる。

原則3「動くソフトウェアを短い期間に頻繁に出荷する」
 アジャイルでは、1週間から1ヶ月間の短い反復期間ごとに分析、設計、制作、結合、テストを行い漸進的に動くソフトウェアを作成していく。早期に頻繁に動くソフトウェアをレビューすることにより、プロジェクトの失敗リスクを早く見つけることができる。無駄になるコストは、失敗リスクが最終フェーズまでわからないWFに比べ低くなる。

原則4「プロジェクトの期間を通じて顧客と開発者は毎日一緒に仕事をする」
アジャイルでは、顧客と毎日一緒に仕事をすることにより、開発者は顧客の要求を適確に把握でき、反復レビュー結果の顧客からのフィードバックを得ることができるため、顧客ニーズに合わないプロダクトを作り出すリスクは低くなる。WFでは、顧客とのコミュニケーションは、フェーズごとのレビューなどで行われるが、開発の最後にならないと顧客に動くソフトウェアを見せることができないため、顧客ニーズを反映していないプロダクトを作るリスクは高くなる。

 アジャイルプロジェクトのリスクマネジメントは、ビジョニング、リリース計画、反復計画、デイリースタンドアップ、反復の実行、反復レビュー、反復レトロスペクティブなど全プロセスを通して実行される。アジャイルチームは、プロジェクト期間を通してリスクを特定し、分析し、軽減などのリスク対応計画を作り、それを要求機能とともに優先順位をつけてプロダクトバックログに入れ、反復ごとに実行し管理する。リスク対応計画を実行することにより、特定されたリスクは、減少したり、消滅したりしていくが、途中新たなリスクが特定されることもある。リスク対応計画の進捗の把握には、例えばリスクバーンダウングラフと呼ばれるグラフを利用する。リスクバーンダウングラフはX軸に時間を、Y軸に「残りの対応すべきリスク重要度(影響度x発生確率)」を表示して、反復ごとに「残りの対応すべきリスク重要度」を知ることができる。リスクバーンダウングラフは、プロジェクトの進捗を示すバーンダウンチャートと同じように部屋の壁などに貼るなどして、アジャイルチーム全員がいつでもリスクの進捗状況を把握できるよう見える化をする。

 2011 Standish Chaos Reportによると、アジャイルプロジェクトの成功確率はウォーターフォール(WF)に比べ3倍高く、失敗確率は3分の1となっている(2)。
                                                                               以上
参考資料
(1) http://www.agilemanifesto.org/iso/ja/principles.html
(2)山下博之、アジャイル開発適用のヒント、IPAセミナー、2012
                         HOMEへ