How Much Does Software Maintenance Cost?
In this series of posts about software maintenance we have covered a lot of topics including what it is, why it is important, the different types of software maintenance and the best practices. All great topics but what most people want to know first is how much?
So, let’s dive into the question and look at how much does software maintenance cost?
What type of software is being maintained?
The major part of this post is about bespoke software but it is interesting to look at other types of software as well.
Starting with the oldest and increasingly less common way to buy software. Locally installed where you have bought a perpetual licence to use that version which include a certain period of maintenance. For example, when you buy and install MS Office (not it’s subscription version Office 365). Normally when the next version is released, you have a decision. You can continue to use your current installed version or you can buy another licence for the new version. Maintenance usually stops on the prior version at the point the new version is released.
Right now, Software as a Service is probably the most common way to buy a licence that is valid whilst you continue to pay a regular fee. Once you stop, so does your licence and access to the software. Maintenance in typically included in this licence fee and in a lot of cases you move away from version numbers with everyone being on the latest version of the software.
At a business level there is a hybrid model that is sometimes used, especially on expensive software, often hosted within the company. You buy a licence to a version number of the software and at the same time you sign a separate maintenance contract. This might sound like a bad idea but on complex software you might not want to follow a pattern of having to install a new version every 2 years. With the hybrid model you can negotiate maintenance for much longer and have a 5- or 10-year plan to stay on the same version.
When people are talking to us, they are typically talking about bespoke software and the costs involved in maintaining it. This is very similar to the hybrid solution, you pay for your software to be developed and then once it is released you can, and should, have a maintenance contract in place. The big difference is that the company that develops the software for you may not be the one you end up choosing to maintain it. You are in control as it belongs to you.
Factors Effecting Bespoke Software Maintenance Costs
It would be great if we could give you a number for how much it would cost to maintain your software but nothing is every that simple. So, let’s cover some factors that can have a big impact on how much it costs.
Complexity:
Simple software is simple to maintain. When software has a lot of moving parts, especially when they are linked to each other where a change in one place can have an impact on other parts then maintenance costs are going to go up.
Environment Age:
We have talked about the tech stack before in terms of maintenance. The OS, underlying programming language and framework used, the database and the libraries used in your application are constantly being updated. As part of your regular maintenance schedule, we recommend that you have a plan to keep updating your application to work with these new updates. It is not uncommon to see that this has not happened. Often all of the development environment is frozen (or just patched in the current major version). This has a massive impact on costs. For one thing it becomes increasingly hard (and therefore very expensive) to find developers with the skills to actually fix and maintain.
Quality of Code:
Well written code is easier to maintain. The problem is that you have to put in more effort to write it that way. A lot of modern frameworks try to help with this issue but that has not always been the case. The worst culprit is the amateur developer, normally someone who has just enough knowledge to get code up and running but not the experience and skill to do it the right way.
Language:
There are a lot of development languages and frameworks and the list grows all the time. Some have stood the test of time (like C# and the .Net framework) and have been around for decades, some are come and go. If your application is built in a language that is no longer used then maintenance will be very expensive, in many cases the cheaper option is to rewrite it.
Regular Maintenance:
Small and often will work out cheaper than waiting until something breaks and fixing it.
Maintainers Skill:
Good developers cost more for a reason. They typically can find and fix problems quicker. They also can fix many of the issues above and bring down the maintenance costs in the long run.
How to reduce maintenance costs
We have said before that well maintained software is cheaper to run overall and that is because of the above. From the above we can bullet point the dos and don’ts.
- Do have well written and documented code
- Don’t increase complexity without good reason.
- Don’t add features whilst ignoring what can be removed.
- Do keep your software stack and libraries up to date.
- Don’t pick a fashionable new development language without good reason.
- Do use good quality developers.
- Do have a regular maintenance plan in place.
Conclusion
Maintenance costs can run from as little as £100 a month up to 10s of thousands of pounds. Doing it the right way will save you money and for that you need to speak to the experts. Full Metal is an expert on taking on support and maintenance of software that we did not develop. We do a thorough audit before working with our customers to find the maintenance package that is right for them. At the same time, we look at what can be done to reduce those costs in the future. If you need help getting your software maintenance plan in place then please contact us.