今回の記事では、アジャイル開発の投資効果(ROI)について取り上げる。まず、従来手法とアジャイル開発でのROIの違いを示すモデルを紹介するが、実は精緻なROIモデルを作成するよりも、実証的アプローチを頼りにした方がよいことを説明する。
はじめに
アジャイル開発の投資効果(ROI)についての本記事の結論を先に述べると、「複数年に渡る精緻な投資効果のモデルを考えるよりは、3カ月から6カ月の期間である程度の開発を行い、その成果が期待を裏付けるかを確認した方がよい」ということになる。つまり、3カ月から6カ月の期間で(少なくとも社内)リリースをし、そのリリースされたものでさらなる投資に値するかを判断するのである。
アジャイル開発であれ、反復開発であれ、複数回のリリースを通じてプロダクトを発展させる形で開発を進めるが、それらのリリースで提供される機能のまとまりを「市場に出せる最低限のフィーチャー(MMF:Minimum Marketable Feature)」と呼ぶ。MMFという言葉は、反復開発やアジャイル開発の投資効果を論じた文献 [1] で一躍世に広まった。
今回の記事では、まず文献 [1] に掲載された従来手法とアジャイル開発のROIモデルを紹介する。次に、このようなROIモデルを比較して長期的な投資判断をすることの妥当性について論じ、冒頭で結論として述べたリリースされたものでさらなる投資に値するかを判断するという実証的アプローチを紹介する。
もっともらしいROIモデル
文献 [1] では、反復開発やアジャイル開発の投資効果を以下のような指標でモデル化している。
- 将来のお金の現在価値 (PV: Present Value)
- PV = $x / (1 + i/100)n
- $x:将来価値、i:利率、n:年数
- 割引きキャッシュフロー (DCF: Discounted Cash Flow)
- DCF = PVで補正した期間毎のキャッシュ持ち高
- 正味現在価値 (NPV: Net Present Value)
- NPV = ΣDCF
- 内部収益率 (IRR: Internal Rate of Return)
- プロジェクトのNPVが0になる利率
これらを計算し、ROIや最終的に得られるIRRの値で投資効果の比較を行う。例えば、図 1、図 2は従来手法で開発した場合のROI分析とNPV分析の例を示したものである。
この例では、期間3に開発を完了し、期間4から稼働したシステムによる売り上げが上がり、コスト削減が実現し、その結果ROIは47%、IRRは12.8%になる。
それに対して、図 3、図 4がMMFを期間1で早くリリースし、さらに後続するMMFで機能を追加した場合のROI分析とNPV分析の結果である。この場合、期間2以降に売り上げが上がるが、期間2からMMFで売り上げを上げるためにマーケティング費用を期間1から投入しており、その結果ROIは188%、IRRは36.3%になる。
MMFとインクリメンタルな予算付け手法
もちろん、これらの数字を単純比較してMMFを早くリリースした方が常によいとはいえない。しかし、前述したようにアジャイル開発や反復開発を用いることで、従来手法で開発が完了する期間内に複数回のリリース(MMF)を提供することが可能になる。このように複数のMMFをリリースできることには以下の2点の潜在的なメリットがある。
- 投資に対する効果をより早く得ることができる
- MMFにより、開発したものの有用性や市場性をより早く確認できる。このことで有望なものに追加投資し、効果を大きくしたり、見込みがないものを早く止めて損失を抑制することができる
このように複数のMMFで成果を確認しながら予算付けを行う方法をインクリメンタルな予算付け手法(IMF: Incremental Funding Methodology)と呼ぶ。文献 [1] では、ROIを最大にするためには複数のMMFの順序付けをどうしたらにできるかという方法について論じている。
なお、MMFで成果を確認しながら予算付けを行おうとすると、予算付けの判断の頻度が増える。このような、より頻繁な判断をスピーディーに行うためには、予算付けの判断を分散(委譲)することを考える必要がある。
実証的アプローチ
先に説明したようなROI分析やNPV分析に基づくROIモデルを検討することには以下の2つの留意点がある。
- どのようなROIモデルでも、あくまで1つの仮説にすぎず、数年間に渡るような長期に渡るモデルを構築することの意味が本当にあるかについてよく考える必要がある
- 精緻なROIモデルを作れば作るほど、様々な隠れたパラメーターで操作が可能になるため、ROIモデル同士の比較が正当なものにならない可能性がある
これらの留意点を考えた結果、SAFe (Scaled Agile Framework) [2] , [3] では比較的長期間に渡るROIを精緻に考えてプロダクトやシステムの企画を承認するのではなく、以下のような2つの方法でプロダクトやシステムの企画を承認し、その企画の妥当性を継続的に評価する方式が用いられている。
- プロダクトやシステムの企画を、事業の戦略的な方向性と、経済的な成果とプロダクトやシステムを開発するための期間の兼ね合いで評価し、見込みのあるプロダクトやシステムの企画を段階的に絞り込む
- 承認され、開発体制が割り当てられたプロダクトやシステムの企画に対して、8-12週毎に動作するプロダクトやシステムが作成し、それら動作するプロダクトやシステムの有効性を顧客、企画担当者、その他の利害関係者が評価する
後者の有効性は市場への投入(あるいは本番稼動)前は顧客、企画担当者、その他の利害関係者などが評価し、市場への投入(あるいは本番稼動)後は売り上げなどのビジネス成果で評価し、その評価結果により、そのプロダクトやシステムへの開発投資の増減を判断していく。
最後に
結局、本記事の冒頭で記した「複数年に渡る精緻な投資効果のモデルを考えるよりは、3カ月から6カ月の期間である程度の開発を行い、その成果が期待を裏付けるかを確認した方がよい」というのが結論なのだが、納得されただろうか。
米国では、複数のプロダクトに対して3カ月毎に実績や見込みを評価して動的に予算の割り当てを変える動的なポートフォリオ管理が提案されている。現在のように変化のスピードが速い経済や市場の状況を前提にした場合、動的なポートフォリオ管理を採用することに合理性があるのではないだろうか。
参考文献
- [1] Mark Denne, Jane Cleland-Huang, Software by Numbers: Low-Risk, High-Return Development , Prentice Hall, 2003
- [2] SAFe ( Scaled Agile Framework ) 日本語webサイト:https://scaledagileframework.com/jp/
- [3] Dean Leffigwell, アジャイルソフトウェア要求: チーム, プログラム, 企業のためのリーンな要求プラクティス, 翔泳社, 2014