Why incremental development is better - An ROI perspective

After much prodding from Jeff McKenna, I finally got around to reading “Software By Numbers” by Mark Denne and Jane Cleland-Huang.  It’s an interesting read that focuses the software development process on delivering value to customers.  Denne and Cleland-Huang introduce minimum marketable feature (MMF).  The MMF represents the smallest possible decomposition of a feature/capability to which business value can be attributed.  The authors go further to define a software development value chain that is designed to optimize value delivery to the customer.  While I of course have some concerns with the model, I found the underlying financially driven approach very interesting.  It aligned very well with prior work that I’ve done in Project and Portfolio Management (PPM).

Software by Numbers got me thinking about Agile.   Specifically around incremental development and how it has an inherent advantages over traditional methods in delivering value to customers.  I wanted to push on this a bit so I built an ROI/NPV (return on investment; net present value) calculator.  These are well-established metrics for measuring how projects deliver value to the business and for evaluating various investment choices.   Check out the hyperlinks above for more information on NPV and ROI.  So I scraped the rust off my business math skills and built an ROI calculator using Excel.  The results are pretty much what I intuitively excepted. Here they are:

Some assumptions made with the calculations are:
  • Execution of the agile and traditional projects are assumed to be “perfect”.  The planned value is delivered on
  • The total monetized value delivered by the agile and traditional team is $1 million.
  • Value is not immediately realized on feature delivery.  The traditional project value is realized linearly the first year after the project completes.  Agile project value is fully realized within four months of delivery.
  • There are 10 resources on the team with a loaded annual salary of $125,000.
  • After all value is delivered, maintenance costs of 20% per year are incurred for years two and three.  That is, ongoing costs are reduced by 80%.  This assumes no major development work is delivered after year one.
  • Cost of capital is assumed to be 15%
Its interesting also to look at the payback period.  The payback period basically states how long it will take to recoup your investment based on benefits received as a result of the project.  With the incremental/agile approach you achieve payback in half the time (14 versus 30 months)!  The graph below shows cumulative net benefits.  The payback period is basically the interval prior to lines crossing $0 on the y axis.  Each interval on the y axis on the chart below represents two months.


So what does this all tell us?  Deliver value to your customers early and often!  The benefits of agile’s incremental delivery approach are very quantifiable.  I'll be blogging more about agile ROI in the future.  The things I'll be exploring will be the impacts of failure and scale on agile development, how it can impact ROI, and how you can mitigate the risks!

Comments

Popular posts from this blog

Be agile about agile!

When Do You Need Agile Product Portfolio Management?