How to Pitch a Maintenance Project to Your (Non-Technical) boss
The impact of technical debt is obvious to developers. Devs are the ones that have to tackle the headaches of dependency issues and patch holes in the security.
But the reasons for performing software maintenance can get lost in translation when they’re discussed with non-technical executives. It can be unclear how rewriting functioning code can translate into more money in the bank and why it’s worth dedicating time to.
So, here’s how we describe the business reasons to prioritize your maintenance.
Technical Debt = unserviced equipment
In general, technical debt is like a restaurant not taking care of its kitchen.
You’ll be providing customers with the same food and experience at the front of the restaurant. But, orders might keep going wrong and staff will get annoyed at having to cope with shoddy tools.
Similar to software, users won’t see that an app relies on workarounds. But reliability will drop, new features take longer to deploy and developers will get tired of it.
Software maintenance is about keeping everything in the background working smoothly, for the sake of both your users and your programmers.
Reduce delays in shipping features
Technical debt causes a whole load of hidden stumbling blocks, lying in wait to slow down the progress of a project.
Maybe the lack of test coverage means that performing quality assurance takes 10x longer than it should do, or that the old workaround now needs overhauling before the new feature can be built. Either way, these old shortcuts can come back to hurt you.
If your projects keep overrunning due to surprising issues, then investing the time for software maintenance could get future projects back on track.
Prevent developer burnout
Working as a developer shouldn’t be about fixing bugs and fighting fires.
If your dev team keeps having their evenings or weekends interrupted by emergencies, it will gradually deteriorate their job satisfaction. So it’s no surprise that technical debt costs a business in terms of losing talented developers.
They will eventually start looking for roles at companies that will give them a better work-life balance, with high staff turnover bringing in hidden costs for your business.
Missing out on opportunities
Using an outdated stack means using outdated features.
If you are stuck on an old framework or your spaghetti code stops you from connecting to an API, then also missing out on opportunities. Your competitors will be able to create features you are unable to replicate, with your software becoming yesterday’s news.
It might only be small details like not having rich text editing features in your app, but these can add up and make you seem outdated.
Lower your running costs
Millisecond speed boosts won’t be noticed by your users, but they make a big impact to your running costs.
Tackling technical debt can make software run more efficiently, which means less load on your servers.
If the average latency is reduced by 50%, then you can spend 50% less on your servers thanks to Little’s Law. So, investing in software maintenance can pay for itself in the long run through lower running costs.
Software maintenance is a long term investment
It’s like taking your car in for servicing. An oil change won’t make a noticeable difference, but it will pay off in the long run by keeping your car running smoothly.
Similarly, keeping your codebase healthy pays a range of dividends. It will mean happier developers, new possibilities and fewer project delays.
A strict ROI is difficult to estimate, but it certainly pays off in the long run.
Want help with your maintenance?
We hope this guide showed you and your boss why software maintenance is worth prioritizing.
If you would like help with your software maintenance, then hire OmbuLabs.
We have worked on maintenance for over 80 applications, specializing in clearing technical debt without interrupting the development team.