Understanding Return on Investment (ROI)

January 13, 2023

A rundown of several ROI measures, common costs and benefits, and a few things I like to keep in mind when going through this exercise.

As we dive into 2023, I was asked a good question about measuring Return on Investment (ROI): what is ROI in relation to software projects and are there a few quick tips for teams starting out?

Return on Investment (ROI) is a measure of the economic value of an investment and is part of a part of a product development team’s playbook for making well considered strategy and prioritization decision. In the context of software development, ROI can be calculated in a number of ways and the approach you take to calculate ROI depends in part on your product development approach, your product portfolio, the predictability of the market, and the availability of the necessary inputs.

Here’s a rundown of several ROI measures, common costs and benefits, and a few things I like to keep in mind when going through this exercise.

ROI Measures

4 common financial metrics that are used to represent Return on Investment for software development projects:

  1. Internal Rate of Return (IRR) is the rate at which the expected cash flows from an investment will cover the initial cost of the investment. A higher IRR means a more profitable investment. To calculate IRR, you need to know the initial investment, the expected cash flows from the investment, and the time period over which the cash flows are expected to occur.

  2. Net present value (NPV) is the total value applies a discount rate to all future cash flows and adds them together. The main feature of NPV is that it presents a total benefit discounted by the time value of money. The discount rate includes an expected interest rate and a factor for risk. We usually use NPV for bigger, longer projects that have more risk involved.

Net Present Value

  1. Payback Period is an annualized measure. A measure of the time it takes for an investment to pay for itself. It's calculated by taking the initial cost of the investment and dividing it by the annual cash flows generated by the investment. Essentially, its the "break even” point. This is a useful metric for evaluating the short-term profitability of an investment. Payback Period surfaces an important assumption that is masked in NPV: time.

Payback Period

  1. Return on Assets (ROA) is a financial ratio that measures the profitability of a system. While less common, it’s another useful metric even for a product or SAAS offering. Software Development expenses are often recorded as an asset on the balance sheet instead of being expensed in the current period. This means that the costs are not immediately recognized as an expense in the income statement, but rather are spread out over the useful life of the software as an amortization expense. Capitalizing software development costs is generally done when the software is expected to have a long-term benefit to the company, such as when it is intended for internal use or for resale. So, with ROA, we can perform an analysis that measures the benefits of a software product against the capitalized assets. This can be a good indication of the product’s true residual value.

Return on Assets

Types of Software Development Costs

Here are some of the software development costs we should be considering:

  • Paying the people on the development team, including developers, project managers, and other staff
  • Buying or leasing equipment and supplies
  • Covering overhead expenses, like rent, utilities, and insurance
  • Training team members to improve their skills
  • Traveling for business related to the project
  • Hiring contractors or consultants for specialized expertise
  • Paying for software licenses or other intellectual property
  • Promoting and selling the finished product
  • Providing maintenance and support after the software is released
  • Depreciating capital assets over time
  • Amortizing the cost of intangible assets over their useful life

Types of Software Development Benefits

There are Direct and Indirect benefits that need to be considered in ROI.

Direct Benefits

There are a few different takes on the split between Direct and Indirect benefit. My take is that the “Direct Benefits” category should be reserved for benefits that are easily converted to cash flows with very few and very transparent assumptions. These benefits should take effect almost as soon as the software is rolled out:

  • Increased subscription conversion leading to additional cash flows
  • Eliminating infrastructure costs or software license fees leading to cost avoidance

Indirect Benefits

Indirect benefits are the positive outcomes of a project or investment that are not easily convertible to economic terms for a ROI model, like:

  • Increased worker productivity
  • Increased customer satisfaction
  • Increased quality improvement
  • Reduction of downtime
  • Quicker reaction times
  • Increased capacity for customization
  • Reduced technical debt
  • Reduction in administrative overhead

Risk avoidance

For example, if a software project leads to greater efficiency, it might not directly reduce expenses, but it can still be valuable because it helps employees do their jobs better and faster. Indirect benefits are different from direct benefits, which are more concrete and easier to measure, like reduced headcount or increased sales. Case studies reveal that, on average, indirect benefits account for half of technology ROI.

So how do we convert these benefits to cash flows for our ROI model?

One way to do this is to use a structured approach and concepts like productivity correction factors (which consider how much more or less productive people might be with new technology) and the inefficient transfer of time (which looks at how long it takes for people to learn and use new technology). These concepts can help us make educated guesses about the potential benefits of a project or investment.

To make sure our estimates are accurate, it's a good idea to test them against a sample group. We can also create a best-case and worst-case scenario based on the most and least optimistic estimates. This gives us a range of potential returns on investment (ROI) and helps us understand the possible risks and rewards of the project or investment.

Organizing our Assumptions

ROI is just one factor to consider when deciding whether to invest in a software development project. Other factors, such as the strategic importance of the project and the level of risk involved, should also be taken into account. It is important to note, that ROI can be both a forward looking prediction and a backward looking reflection. Spoiler… your predictions and your reflections may (will) diverge. So shortening the feedback loop is one way we can accelerate learning, and get more predictable.

Assumptions Mapping Canvas


  1. Time Value Of Money: Given the option, it's always nice to have cash today versus tomorrow, right? When you have money today, you know you can use it to cover an expense or make a new investment as needed. On the other hand, money that you're expecting to receive in the future isn't a sure thing. There's always the possibility that something could happen and you might not get that money after all. Plus, the value of money can go down over time due to inflation, so it's generally better to have it now while it's worth more. All of these factors make money that you have today more valuable than money you might receive in the future.

  2. Opportunity Cost: When we make an investment we are often (always) choosing to forgo another option. Weighing the ROI of that alternative investment and compThat's what we call opportunity cost. It's the value of the choice you didn't make. In economics, opportunity cost is usually talked about in terms of return on investment (ROI). Essentially, it's about deciding which option will give you the best return based on the resources you have available. This is really important when it comes to allocating resources and making strategic decisions. It's not always easy to predict which choice will be the best one, though. The world is constantly changing and new options might come up. Plus, sometimes the cost or benefit of an option can change unexpectedly due to outside factors. That's why it's so important to be able to consider opportunity cost when you're thinking about ROI. It's all about weighing your options and making the best decision you can with the information you have.

  3. Operations & Maintenance Cost: factoring the ongoing cost of ownership shouldn’t be overlooked. Adoption Risk: one of the most commonly overlooked, undervalued product skills is creating a Go-to-Market plan for a product or feature which includes marketing strategy, implementation strategy, and support strategy. As a result, it’s not uncommon for “good” product or feature to become shelfware. Software that is not adopted by the users, either because they did not understand how to use it or because they did not see the value in using it.

  4. Time-Risk: The risk of software delivery increases as the time for the project gets longer. This is a common belief in the software development industry. When a project takes longer, there is a higher chance of problems like scope creep, budget overruns and delays. This is called the "time-risk tradeoff." Studies have shown that as the time for a project increases, the chance of the project failing also increases. For example, a study by Dr. Edward Yourdon and Dr. Larry L. Constantine, found that as the time for a project increases, the chance of the project failing increases. Another study by Dr. Bradley R. Staats and Dr. W. Scott Tannenbaum found that projects that take longer are less likely to be successful.

    • According to a study by the Project Management Institute, only 64% of software development projects are completed on time and within budget.
    • A study by Standish Group found that only 29% of software development projects were completed on time and within budget, and 52% were either cancelled or completed but did not meet the original goals.
    • The average cost overrun for software development projects is 27% and the average time overrun is 22% according to a study by McKinsey & Company.
    • According to a study by the National Institute of Standards and Technology, the average project in the US goes over budget by 27% and takes 33% longer than planned.
  5. Incremental and Iterative It's difficult to finish a software development project on time, within budget and with the same level of quality as planned. Agile methodologies don’t eliminate risk but they do help surface that risk sooner.

There’s a lot to think about when predicting ROI. As a result there can be a bias towards extending the research phase indefinitely and enter analysis paralysis. The problem, however, is that we cannot eliminate our assumptions completely, and the more detailed our plans the more assumptions creep in.

Stephen Bungay captures the problem well in “Art of Action” with the illustration of The 3 Gaps.

Three Gaps


At Safeguard, we work to continuously improve our methods to help us make informed decisions about which projects to pursue and which ones to leave behind. It's just one of the many ways we ensure that every dollar we invest is put to the best possible use for our clients, workers, employees, and shareholders.

I hope this post was helpful. Good luck everyone.

Copyright © Duri Chitayat. All Rights Reserved.Sitemap