You may have heard or read that frequent releases can improve project economics and ROI (return on investment). Here’s the math.

I use some terms that you may or may not be familiar with: NPV (net present value), IRR (internal rate of return), payback period and ROI (return on investment). You’ll find these terms explained briefly towards the end.

Now, on to the juice.

(Note:** **The following calculations are technically correct – but if you find any errors anyway, be sure to let me know

## Our Fictional Project

First, let’s imagine a project:

- It is scheduled to last for 12 months
- During that time it costs 5 million USD
- The resulting product will provide a financial benefit of USD 200,000 per month (extra revenue or saved costs minus any monthly expenses), until
- The product abruptly stops producing its benefit 4 years after the project is
**started**. You may say there’s a 4-year window of opportunity for this particular product. - (I also assume a 10 percent discount rate in the NPV calculations

You may download the spreadsheet used for the calculations and graphs (Excel 2003 format)

## Waterfall: The Baseline Project

I want to have a waterfall project as a baseline. If all goes according to the waterfall plan, the product is released after 12 months and will generate 36 months x USD 200,000 = USD 7,200,000. The project will have cost 5,000,000. All in all, a nice net profit of 2,200,000.

This is what the cash flow will look like:

What | Waterfall |

Break Even | 37 months |

ROI | 44,0 % |

Net Present Value (NPV) | USD 920,000 |

Internal Rate of Return (IRR) | 20,7 % |

A reasonably good project, I think most of us would agree on.

## One interim release

Now, instead of releasing after 12 months, let’s have an interim release after 6 months that realizes half of the value, i.e. it generates a financial benefit of USD 100,000 per month for six months until the final release that realizes all of the value:

What | Waterfall | Release every 6 months |

Break Even | 37 months | 34 months |

ROI | 44,0 % | 56,0 % |

Net Present Value (NPV) | USD 920,000 | USD 1,477,000 |

Internal Rate of Return (IRR) | 20,7 % | 28,7 % |

Amazing! We didn’t change a thing in the product itself, we only added an interim release containing half of the value we eventually will have – and that increased the value of the project, NPV, from USD 920,000 to USD 1,477,000 – a 60% increase!

## Release every 3 months

Hmm, maybe even more releases would be even better? Let’s see what it would look like if we released every 3 months, with each release realizing an incremental quarter of the value:

What | Waterfall | Release every 6 months | Release every 3 months |

Break Even | 37 months | 34 months | 33 months |

ROI | 44,0 % | 56,0 % | 62,0 % |

Net Present Value (NPV) | USD 920,000 | USD 1,477,000 | USD 1,758,000 |

Internal Rate of Return (IRR) | 20,7 % | 28,7 % | 33,5 % |

By doing this one, single thing; releasing every 3 months instead of once after 12 months, we nearly doubled the value of the project! We also see that the increase in return is diminishing when we release more and more often. With a costly release process, there is a limit to how often one should release. However, if you streamline the release process…

## Prioritize the functionality

So far we’ve assumed that all released functionality has equal value. But what if this isn’t true? What if some functionality has higher value than other functionality? And that we can prioritize, so that the most valuable functionality is released first?

Just to put numbers on it, let’s assume that 20 percent of the functionality represents 80 percent of the value. This may sound overoptimistic, but it’s kind of a magic rule and it illustrates the point I’m trying to make:

What | Waterfall | Release every 3 months, not prioritized | Release every 3 months, prioritized |

Break Even | 37 months | 33 months | 29 months |

ROI | 44,0 % | 62,0 % | 76,0 % |

Net Present Value (NPV) | USD 920,000 | USD 1,758,000 | USD 2,420,000 |

Internal Rate of Return (IRR) | 20,7 % | 33,5 % | 47,3 % |

From applying these two, simple principles: Prioritize and release often, we’ve increased the value of the project from a baseline NPV of USD 920,000 to USD 2,420,000. Even though the product itself has the same value as before, the value of the **project** is 2,6 times the baseline value!

In part 2 of CFO’s Case for Frequent Releases, we’ll take a look at what happens when things don’t go exactly according to plan…

## Spreadsheet used for calculations

Download CFO case for frequent releases – spreadsheet (Excel 2003 format)

## Brief explanation of terms

**Payback period:** If you invest something now that will give you a return in the future, how long does it take until you have recouped your original investment (disregarding the time value of money)? This is the payback period. For more, check Wikipedia on payback period.

**ROI (Return On Investment):** There are various definitions and formulas for calculating ROI. However, the main point is always: What’s the payback related to the investment? In this article I’ve used the simple single-period formula (Return – Investment)/Investment – a much-used variation of ROI. For more, check Wikipedia on ROI.

**NPV (Net Present Value):** The main point is that a dollar today is worth more to you than a dollar a year from now, and even more than a dollar five years from now. If you are able to put, say, 100 dollars to use so that you can get 110 dollars back in one year, then the NPV of getting 110 dollars one year into the future is 100 dollars. In the article, I’ve applied this concept to the future cash flow to generate the entire project’s NPV. To generate the NPV of a cash flow, you must decide on a discount rate that should reflect how much return you would normally expect to get from an alternative investment with the same risk profile. In the article I’ve simply used 10 percent as the discount rate. For more, check Wikipedia on NPV.

**IRR (Internal Rate of Return):** Given a time series of cash flows and a discount rate, we can calculate the NPV. The NPV is affected by what discount rate we use. By using a specific discount rate, the NPV will be 0 – zero. This is the IRR – the interest rate we can use in the NPV calculations that will result in a NPV of 0. For more, check Wikipedia on IRR.

Pingback: Leaning Agile » CFO’s Case for Frequent Releases – Part 2

Awesome use of maths and logic to prove, well, what we always suspected. I’ll be passing this one around a lot.

Thank you, Thomas! If you want to, I can also provide the Excel sheet I’ve used for the calculations. That way you can set up comparisons that are more similar to your current situation.

Great point well delivered. Can you please post the spreadsheet you have used for the calculations?

Vineet,

Thank you, and my apologies for the slow response. Answer: Yes, I’ll post it, thanks for nudging me!

Thank you!

We can discuss potential NVP etc benefits in the context of any iterative and incremental method until the cows come home, but CFOs already get this. Just look at most non-IT projects run but the business (sales campaigns etc). There’s also a number of incremental/iterative IT approaches which don’t belong to the Agile/LEAN family. (Believe it or not, but RUP was conceived as incremental and iterative, it’s just not practiced that way very often.)

So two questions come to mind.

1. Does Agile/LEAN have any financial benefits which can’t also be ascribed to *any* incremental/iterative method? (I.e. Is this a business case for going Agile? Or is it a business case for incremental/iterative delivery, and Agile is just an example of one possible way of doing this?)

2. Are you prepared to do benefits realisation? (And I don’t mean “we delivered the software so the benefit must be there.”) You need to be able to prove that you project is delivering value if you want to make claims like “we can drown the puppy when it’s no longer of use” or “it generated 100k in value.” Think sales campaign: we can ascribe sales to a campaign (offering via a channel) so we can determine stuff like ROI and identify the point when return dips below cost.You also need to factor in substitutions: generating 100k of sales on the new portal is nice, but but how many more sales is this than you would have received on the old portal? If there’s no change then why did you bother with the investment?

Peter, thank you for a really good comment!

With regards to question 1: The benefits described in this blog post (CFO’s case…) results from releasing more frequently – and prioritizing better. Agile is no better or worse in that regard than any other incremental/iterative method. Lean might be said to support frequent releases better, as it attempts to remove waste in all processes, including the release process. Agile makes prioritizing an explicit part of the project, but there’s no real tool for ensuring that the priorities are sound. I’d point you to another blog post (pointing you to part 2 of 3 in a series) that touches upon quantification as a tool for – among other things – making good priorities.

With regards to question 2: Yes, definitely! Again, look at another blog post (part 3 this time) for sketches on how to do this. I’m all for quantification and measurement of value – both “to be delivered” and “actually realized”. I’m sure you’re familiar with Evo, pioneered by Tom Gilb, which is heavy on measurement. (Check out the Gilb website.) Regarding substitutions: Tricky one, and you’ll never get a really good measurement on that, I guess. I would probably compare with what we thought up-front that we’d get with the old web site. There’s no oracle present to provide the correct answer, so you have to do with what you’ve got. It would be interesting to hear if you had any further thoughts on this!

Pingback: Buch-Rezension zu „The Economics of Iterative Software Development“ « Johnny's Blog

Pingback: How Do You Explain Radical Management (Or Agile) To A CFO? - Forbes

Pingback: How Do You Explain AgileTo A CFO? – Agiled

Pour Exodus , Ridley Scott a engagé Christian Bale pour

jouer le rôle de Moise, et Joel Edgerton (The Great Gatsby) pour jouer

le roi d’Egypte, Ramses.