Correctly calculating Return-On-Investment

It has long annoyed me that most return-on-investment calculations are crude and don’t accurately reflect the benefits of iterative delivery.

So I made a little video about this - 15 minutes

Transcript

ROI, NPV, IRR, and Why Iterative Delivery Improves Returns

Script draft (cleaned up from transcript)

Hello, my name is Alan Kelly, and I’d like to show you the correct way to calculate return on investment (ROI).

My goal is to demystify ROI—showing how simple it can be—while also explaining why iterative delivery (often called agile delivery) can massively increase ROI, even before you consider technical practices, quality, or risk.

In fact, I should have made this video 10 years ago, because it answers the question people asked constantly back then:

“What’s the business case for agile?”

A big part of the answer is straightforward:

At its most basic, agile working increases ROI.


A simple example in a spreadsheet

I’m going to use Excel, but you could use any spreadsheet—or even do this by hand.

Let’s start with a simple project:

  • Cost: $1.2M
  • Benefits: $1.8M

At this point, many people do one of these quick calculations:

  • ROI = Benefits – Cost

    • $1.8M – $1.2M = $0.6M
  • ROI = Benefits / Cost

    • $1.8M / $1.2M = 1.5 (often described as “50% ROI”)

This is probably how most people calculate ROI quickly.

The problem: those calculations are usually wrong

They’re wrong for one major reason:

They treat costs and benefits as one-time events—as if all costs happen at one moment, and all benefits arrive at one moment immediately after.

Unless that’s actually true for your project (spend everything at once, then receive all benefits at once), you need to model time.


Modeling cash flows over time

Let’s assume the project runs for 12 months.

  • Each month, we spend 1/12 of the cost:

    • $1.2M / 12 = $100,000 per month (for 12 months)
  • And we assume the benefits arrive all at once, right after the project completes:

    • $1.8M at the end

Note: I’m going to ignore inflation here. For longer projects, inflation matters more, but it doesn’t change the core point I’m making.

Now we can build a cash flow schedule:

  • Months 1–12: –$100,000 each month
  • Final period: +$1,800,000

The right tools: NPV and IRR

To calculate ROI properly, we typically use:

  • NPV (Net Present Value)
  • IRR (Internal Rate of Return)

Both require cash flows over time.


NPV requires a discount rate

To use NPV, we need the discount rate—the “time value of money.” Think of it as similar to an interest rate: money today is worth more than money later.

For simplicity, assume:

  • Annual discount rate: 5%
  • Monthly discount rate: 5% / 12 ≈ 0.42% per month

Now we compute NPV using the monthly discount rate and the cash flows.

Result (traditional “big bang” delivery)

  • NPV ≈ $537,000

Notice this is lower than the simplistic $600,000 difference (benefits minus cost). Why?

Because when you spend money month after month, you’re incurring a financing/time cost (either interest you pay to borrow money, or opportunity cost from spending it).


IRR uses only the cash flows

IRR doesn’t require us to input a discount rate. It calculates the implied rate of return from the cash flows.

Result (traditional “big bang” delivery)

  • IRR ≈ 6%

That’s much lower than the “50% ROI” people often assume, and it makes sense: you’re spending throughout the year and waiting until the end for benefits.


Now: iterative delivery

Now let’s change one thing:

  • The spending stays the same: –$100,000 per month
  • But instead of waiting until the end for all benefits, we deliver benefits incrementally.

Assume:

  • Month 1: no benefit (we’re getting started)
  • Months 2–13: we deliver 1/12 of the benefit each month

So cash flow becomes:

  • Month 1: negative (spend, no benefit)
  • Months 2 onward: increasingly positive (benefit begins earlier)

Results (incremental delivery)

  • NPV ≈ $576,790

    • About $39,000 higher than the big-bang model
  • IRR ≈ 50%

    • Much higher than the 6% before

The message is clear:

Early delivery improves ROI. Delivering value sooner has a financial upside.

And notice: we still haven’t talked about quality, risk, feedback, or technical practices. The only change was delivering benefits earlier.


A more realistic view: cumulative benefits

In real life, benefits are often cumulative:

  • If you deliver benefit in month 2, you typically continue receiving that benefit in month 3.
  • Month 3 benefit is often on top of month 2 benefit, not a replacement.

So a more realistic model might look like:

  • Low or no benefit early
  • Increasing benefits as capability rolls out
  • Then benefits plateau and repeat monthly

Even if the monthly benefit amounts are smaller early on, cumulative benefit often produces:

  • Higher total benefits over the year (e.g., $1.9M–$2.0M cumulative)
  • Stronger cash flows after the initial months
  • Higher NPV and improved IRR versus big-bang delivery

Closing thought

At this point you can see we’re making assumptions—about how benefits arrive, how they accumulate, and how quickly value is delivered.

The key takeaway is this:

A like-for-like comparison using the same basic numbers comes out superior when value is delivered iteratively and incrementally.

If you’d like to discuss your specific project model, you can contact me at:

I’m happy to walk through building a model for your project.

Thank you. Goodbye.

I have had to deal with NPV/IRR issues before but I never had it this clear in my mind before. Thank-you !

I’m curious how would you slot payback period and discounted payback into this mental model? Hurdle stuff !

I like, I like.. more simple conceptual maps please ! :heart_eyes: