As private equity investors, you understand the importance of allocating funds to innovation and growth.
However, in software development, there is a metric that can significantly impact your investment. It indicates how much of your investment is going towards innovation versus simply maintaining the status quo.
We refer to this as the maintenance ratio. That is the time spent on fixing issues, addressing tech debt and keeping the lights on.
Intro to the software maintenance ratio.
The maintenance ratio measures the time a development team spends on maintenance-related tasks versus new development work. Maintenance tasks include bug fixes, addressing technical debt, and other tasks required to keep the software running smoothly.
These tasks ensure the software’s reliability and usability and can take up much of a development team’s time. And therefore, a significant amount of an investor’s investment.
While software itself doesn’t wear out, users expect it to run on the latest platforms and operating environments. Furthermore, feature enhancements are always in high demand when software has a large number of regular users. Software thus continues to evolve through maintenance after its initial development.Bryan Reynolds, (Projecting Costs in Software Maintenance) Baytech Consulting.
As per the quote above, you can find an excellent and more detailed primer in this article from Bryan Reynolds.
Types of software maintenance
There are different types of software maintenance to ensure the system(s) stays up to date and functioning at its best.
- KSoR (Keeping the Show on the Road): Essential maintenance.
- Enhancements: Refactoring to keep the system up to date.
- Small changes: Minor business requests to keep the product up to date.
- Re-engineering: Moving away from legacy, monolith etc.
All these maintenance types are essential when managing software and ensuring its longevity.
Management teams can be blind to the software maintenance ratio.
Through years of tech due diligence, we’ve realised that some management teams are unaware of maintenance costs. Fair enough, they have a business to grow, and ‘maintenance’ isn’t usually high on the agenda.
In many cases, management does not want to us to consider the cost of running legacy systems. Their rationale is these legacy systems have been around for ‘ages’, and nothing is being spent on them. But when we dig deeper, we find costs / to operate and keep secure.
Why a high maintenance ratio is bad for investors.
A high maintenance ratio is bad for investors. Because a significant portion of their investment is spent on maintaining the software rather than creating new features and functionality. High levels of maintenance can slow the pace of innovation. Focusing on maintenance may prevent the firm from servicing changing user needs and market trends.
Additionally, a high maintenance ratio can indicate that the software was poorly designed or implemented. Which, in itself, can lead to more bugs and technical debt.
Quick overview of tech debt
Tech debt is the accumulation of issues within the software that can lead to increased costs and decreased efficiency. It’s similar to financial debt as it accrues interest over time. Making it difficult to pay off the longer it is left unaddressed.
Common sources of tech debt include rushed development timelines, technological changes, and poorly written or undocumented code. And at the core is the past decisions and the tech team culture.
How we calculate the maintenance ratio
We interview software leaders to calculate the maintenance ratio, and assess the team composition. We may look at the stats and calculate the effort. It’s a simple calculation.
Look at the time spent on maintenance tasks versus new development work. It’s key to factor in the severity and complexity of the maintenance tasks. It should be possible to translate this effort into commercial terms, spend, ROI etc.
Sometimes, the tech leads have this information to hand and are already tracking the ratio and the associated costs.
What a good maintenance ratio looks like
Of course, the answer is always ‘it’ depends’. Maybe a temporary period of change is necessary due to a total re-platform or new management in place,
But a good rule of thumb is 40% or under. This means less than half of the development team’s time is spent on maintenance-related tasks. A low maintenance ratio could indicate that the software is well-designed, well-implemented, or brand-new!
How to fix a bad maintenance ratio
If a software development team has a high maintenance ratio, several steps can be taken to improve it.
The first thing to change is the team’s intention. Leadership requires the drive and enthusiasm to make changes with little visible return. It is key to prioritize maintenance tasks and address them systematically to prevent them from accruing over time.
It may be necessary to reevaluate the team’s composition and processes to ensure they are optimized for efficiency and innovation.
In conclusion, as a private equity investor, paying attention to the maintenance ratio in software development is essential.
A high maintenance ratio can indicate that too much of your investment is spent on business as usual. We can help you understand how you can help ensure the best use of and ROI of your investment.