リスクベース私論 - リーンソフトウェア開発とプロダクトラインから考える -
アジャイルと規律によれば、アジャイル開発には優先度ベースとリスクベースの二つがある。
リスクベースとはなにか?
リスクベースのひとつであるリーンソフトウェア開発では、引き取りかんばんの様にpullで無駄のないプロセスを実現する。しかし、全てがオンデマンドな開発だけでは後手後手になるので、ある程度は計画的に進める必要がある。
そこで、ニーズが確定していないものは
リスク=発生時の影響度×発生確率
と考えて、リスクが最小になるように割り当てる必要がある。
基本的には必要なもの、つまり遅くなるとリスクが大きくなるものから先行着手してリスクを低減するという戦略をとる。しかし、早く実施するよりは遅く実施したほうが良い場合は「決定を遅らせる」という戦略をとる。
プロダクトラインで考えてみよう
ソフトウェアプロダクトラインのコア資産をいつ作るかを考えてみる。プロダクトラインでは製品群を開発していく上で、その共通部分をコア資産として整備する。単に優先順位を考えるなら、コア資産は製品群の最も重要なものであり、先に作ると効率が良いだろう。
しかし、製品の全貌が見えていない段階でコア資産を作り出すと仕様のバリエーションに対応できない可能性があり、もし、うまく作れたとしてもその開発の負担で製品出荷が遅れてしまうリスクがある。
つまり、最初から仕様が固まっていて並行に開発できるなら別だが、
・他の仕様が明確になってからでないとリスクが大きい
・早期に実施すると機会喪失やキャッシュフロー不足のリスクが大きい
ので、(将来リファクタリングの必要はあるが)リスクベースに考えると決定を遅らせる方が良いだろう。
かつて、XPのブームの頃は単に優先度順に開発すると言われたが、最近ではロードマップを重視されるたり、リーンスタートアップのように価値を生み出すことが重視される。表現は異なるが、リスクベースの考え方が広がっているのだと思う。
« [#benkyoenkai] WHATとHOWの溝をモデルでつなぐ - 三要素分析法を考える - | トップページ | NISAでナンピン買いすると節税になるパターン »
「私のアジャイル」カテゴリの記事
- One fact in one placeとチケット駆動開発 - Software Processes are Software, Too -(2021.12.21)
- マルチスレッド処理と進捗管理・配員・作業分割/割り当て- Software Processes are Software, Too -(2021.12.20)
- カプセル化と組織パターン - Software Processes are Software, Too -(2021.12.20)
- Greedy algorithmと2割8割の法則 - Software Processes are Software, Too -(2021.12.12)
- 「任せて、任せず」「魚を与えるのではなく"釣り"を教えよ」(2021.08.16)
« [#benkyoenkai] WHATとHOWの溝をモデルでつなぐ - 三要素分析法を考える - | トップページ | NISAでナンピン買いすると節税になるパターン »
コメント