A while back I suggested that using time value of money had little or no impact on the calculation of what I’m now (as of five minutes ago) calling “Software Investment Duration”.
To validate my assertion (sweet use of TDD language), I’ve calculated the impact of interest rates ( and hence time value of money ) on the calculation of “Software Investment Duration” for three scenarios. In each case, I’ve calculated the value using no interest rate ( time value ) adjustment, and with an interest rate of 20% (i.e. the US Peso). To simplify the blog post I’ve put the description of how the interest rate adjusted value is calculated in an appendix at the bottom of the post.
1. Constant Investment
In this scenario, there is a constant investment of 100 US Pesos per month for six months until the release.
The zero interest rate value is approx 3.5. The interest rate adjusted value is 3.45. Approx 1% difference.
1. Big Upfront Investment
In this scenario, there is a large upfront investment of 550 US Pesos, followed by an investment of 10 US Pesos per month for five months until the release.
The zero interest rate value is approx 5.75. The interest rate adjusted value is 5.74. Almost no difference.
1. Big last minute Investment
In this scenario, there are monthly investments of 10 US Pesos per month for five months until a big investment of 550 US Pesos just before the release.
The zero interest rate value is approx 1.25. The interest rate adjusted value is 1.24. Approx 1% difference.
So why does this matter?
The examples shows that even with fairly extreme values for interest rates (20%), the impact on the “Software Investment Duration” or SID is only about 1%. For lower values of interest rates, the impact is even less. So time value of money or interest rate adjustments only give us an extra 1% of accuracy in our calculation.
More accuracy is more good surely?
This level of accuracy is misleading. Whenever you calculate the cash flows going into the calculation, there are always going to be other factors that have a bigger impact than 1%. The effect of holidays, training and other non development tasks which may or may not be counted. The effects of bugs and or support that may or may not be counted. The effects of salary differentials between roles that may or may not be counted. ( To assign work to an individual rather than a team requires you create a time tracking system which is more than a 1% overhead ).
Worst of all, including an interest rate adjustment makes the concept much harder for people to comprehend and understand. “Everything should be as simple as possible but not simpler”. See below.
Appendix – How the interest rate adjusted value is calculated.
To calculate the interest rate adjusted value, I calculated a simple discount factor as follows:
Discount Factor = exp ( -1 * interest rate * time in months / number of months in the year )
Although most readers of this blog will probably find this trivial, you should try discussing exponential functions with your business colleagues in finance, HR, product, UX design and marketing. In fact, anyone who did not studying for a science or engineering based degree. What you will find is that you will exclude a number of your colleagues from the business investment process for an extra 1% of accuracy.
This is a simple way to calculate a discount factor. To calculate it properly, you should first decide on which interest rate to use… Risk free? WACC? (Popular with the MBA crowd is the Weighted Average Cost of Capital).
Then you need some analytics to generate a curve using splines etc. A nasty tricky business.