Did you know that software maintenance can cost up to 9x more than the cost of an initial custom build?
Business owners often miscalculate the total cost of bespoke software, assuming that the bulk of the costs will be borne during initial development and they’ll coast along without software expenses for a few years after that.
This is a recipe for disaster.
Software development should always be viewed as an ongoing process, which means it requires ongoing capital investment.
While businesses should always be planning for software maintenance in their initial budget calculations, it can be difficult (if not impossible) to foresee every single issue or gap in the system that may crop up, or to gauge how severe issues might be when they do.
If you’re considering custom software development, be prepared to spend, at minimum, double the cost of deployment.
What is bespoke software?
Bespoke software, also known as custom software or custom development, is a software product developed with the specific functionality and features requested by a customer.
These are tailored solutions designed with a specific target audience, goal, business process, and many other aspects in mind.
What is software maintenance?
Software maintenance refers to changes made to software after it’s been deployed or “delivered” to the end user.
Any business that wants its software to remain relevant and usable must ensure that the software is adequately maintained
Engineers often liken software maintenance to automotive care. Just as your car requires upkeep (like oil changes, tire pressure adjustments, and brake checks), custom software requires constant upgrades and updates—sometimes pricey ones that come out of the blue.
And, just as a car might slowly deteriorate without maintenance, so can software.
It’s important to anticipate and budget for software maintenance costs before embarking on custom development.
Understanding total Ccst of ownership vs deployment Cost
TCO (total cost of ownership)
The total cost of ownership refers to the sum of all costs and expenses related to buying, implementing, managing, and maintaining your software solutions.
This includes direct and indirect costs like:
- Training employees how to use the software (indirect)
- Onboarding clients onto the system (indirect)
- Ongoing support (indirect)
- Software maintenance (direct)
- Software upgrades (direct)
TCO includes the software’s entire lifecycle from the time of purchase and can apply to both off the shelf software or custom development software.
Deployment or “delivery”, refers to the stage in the software development life cycle where the application is made available to users (the client).
This stage precedes analysis, design, implementation, and testing. After deployment is when maintenance begins.
Deployment cost refers to software cost after it’s been delivered to the end user and does not include maintenance costs.
Deployment cost is a subset of TCO, so therefore much lower.
You may have heard deployment cost referred to as: delivery cost, initial cost of development, upfront development cost, or initial build cost.
Estimating software maintenance cost
It’s best to factor software maintenance costs into the original budget outline.
Most experts place software maintenance costs at around 3x the cost of deployment.
Estimating this falls largely on the shoulders of the software’s architect, but if you’re considering custom development, you should probably familiarize yourself with the factors that affect software maintenance costs.
Factors that affect software maintenance cost
It can be difficult to estimate software maintenance cost because there are so many variables.
These variables can be broken down into two main categories:
- Aging hardware: The older software is, the more costly it is to maintain. That’s because it’s usually built for older, slower hardware that has less memory and storage capacity. Keeping up with new technology can require bigger and bigger overhauls.
- Rookie engineers: often troubleshoot via trial-and-error: Sometimes this can result in adjustments that do more harm than good to the software and make it even harder to make future changes. Sometimes changes go undocumented and engineers have to pour excessive time and resources into hunting down the root cause, aka reverse engineering
- The turnover among engineers: The original developers have the best understanding of the application, making it much easier for them to make adjustments. Turnover within a development team means new members must study the reports and code listings and play catch-up. Inadequate understanding of the software can lead to mistakes which need correcting, further dragging out maintenance.
- Some software programs aren’t structured to handle modifications.
- Dependence on external environment (e.g. cloud servers or physical servers, software integrations)
How to estimate software maintenance cost
Software maintenance is largely estimated to be more than half the cost of TCO.
In other words, maintenance costs not just as much, but usually more than the cost of deployment.
The table below shows different expert estimations of software maintenance cost:
The high costs are largely due to four different types of maintenance:
- Corrective maintenance
- Perfective maintenance
- Adaptive maintenance
- Predictive maintenance
i.e.: Fixing bugs, glitches, defects in the software
Let’s say you just launched your booking app for beauty salons and you’re getting reports of users not being able to log in. You relay the message to your developer and they discover a glitch with the login code. This is then resolved with a quick update.
This is an example of corrective maintenance.
Corrective maintenance refers to modifications or updates that fix a problem or correct an issue.
These modifications rarely cause disruptions to users and should be addressed quickly.
i.e. Refining, deleting, or enhancing pre-existing features
Maybe you provide a scheduling software for customers to book personal trainers for in-home sessions. Some personal trainers have requested that the visual calendar showing their schedule have a darker font to increase readability. You agree and have your developers implement this modification. Now, the calendar interface is much easier to see.
Perfective maintenance is all about optimizing the software. It refers to modifications made to existing features that will increase functionality and efficiency. These changes are usually made in response to user feedback.
i.e. Making sure your software doesn’t become outdated
Adaptive maintenance is all about keeping the software up-to-date with changing technology and business environments.
Adaptive maintenance occurs when customers need the software to:
- Run on new platforms or new operating systems
- Interface with new hardware or software
- Change in response to new industry knowledge, regulations, or cybersecurity threats
Modifications are made to the software’s infrastructure, so users aren’t usually impacted.
i.e. Modifications made to decrease the deterioration of your software
Preventive maintenance refers to software changes made to prevent future problems.
It identifies potential faults that may not be significant at the time, and makes precautionary modifications to avoid bigger issues down the line.
- Optimizing code for efficiency and storage space
- Reconstructing code to make it easier to maintain
- Updating documents according to the current state of software
Other factors that affect custom development software cost
The number of screens your software requires plays a large role in cost.
Screens refers to each unique page a customer sees, such as:
- A login screen
- A screen to browse various service providers
- A screen to book a service provider
- A confirmation screen after booking a service
Larger software applications require more screens than smaller, simple software.
The more screens you need, the more time and money it takes to develop the application
User Experience (UX) Design
UX is all about making your bespoke software easy to navigate and aesthetically pleasing.
But it goes deeper than this. Typically speaking, the more you invest here, the better your Users’ Experiences, meaning higher engagement rates and lead conversion rates, which translates into more sales.
A skilled UX designer is very expensive and hard to find. They can make the difference, though, between people actually using your system—and your company growing—and people ignoring it.
It includes everything from font size to images and brand colors, to the placement and size of call-to-action buttons that will best optimize user experience, just to name a few areas.
UX design requires multiple iterations and cost depends on how much the look and feel of your application matters to you.
Some companies think they can save money here, but at what long term cost?
Even after your custom software has been developed, you still need to train employees on how to use the system.
Both time and money goes into setting up employees on the software, training them for help desk or system admin roles, and ensuring they’re well-versed to help customers.
Unaccounted Gaps In The System
Gap analysis is required throughout the development journey to determine what business needs aren’t being met by the software and the steps that need to be taken to bridge this divide.
Sometimes there are massive delays to close these gaps and push the system live which could lead to lost revenue.
Project Management Costs: Managing the development team
A complicated, fraught custom build will take away time from you and your management team.
It may not seem like an obvious cost, but it’s still a real expense because someone’s time must go towards managing the build.
It can often turn into a full-time job that includes keeping an eye on the project roadmap and checking in regularly to test the software.
Pros and Cons of Off The Shelf Software
What is off the shelf software?
Off the shelf software is exactly what it sounds like: ready to use software.
It requires very little set-up compared to custom development software and is more affordable upfront.
Off the shelf software is designed with a specific user in mind, so it’s features are generally more wide-ranging than bespoke software.
Here are two examples of off the shelf software:
- Fresha, specifically designed for beauty salons which might include a filtering feature to sort between hair salons, nail salons, and spas.
- Ecommerce-for-services software like MarketBox, which caters to businesses that offer a mix of virtual, mobile and in-store services.
Before you decide between custom development and off the shelf software, we recommend you consider the pros and cons.
Pros of off the shelf software
Up and running quickly
If you’re reading this, we’re guessing there are certain software tools you need access to immediately or in the very near future.
Depending on the off the shelf software you choose, you might be up and running within hours.
This is a huge contrast compared to bespoke software, which takes a minimum of 4-9 months to complete (not including ongoing maintenance).
If your business requires instantaneous access to valuable tools, off the shelf software is an easy solution.
Off the shelf software is designed to be used by as many clients as possible.
You’re not the only one using the software, which keeps costs low.
These solutions often come in the form of monthly subscriptions with opportunities to choose between packages of features, based on business needs.
Real-world support and documentation
Since off the shelf software is used by so many people, there are usually many unofficial support resources on sites such as Youtube, Reddit, and Quora.
If you have a question about the software, chances are someone else did as well and the answer is floating around out there in the form of articles, how-to videos, or discussion threads.
Off the shelf software has been thoroughly tested not only by a team of developers but by previous users.
Odds are your off the shelf solution has been around for a while so there have been many users before you who have helped identify kinks in the system
Unlike custom development software, it means your very first customers won’t be software guinea pigs, stumbling upon gaps in the system that interfere with user experience.
With off the shelf solutions, your customers have the benefit of using a much smoother system with less bugs.
The software company also has a reputation to protect, so you know the product is safe to use.
Software upgrades are usually included
With off the shelf solutions, you don’t have to worry about keeping the software up-to-date with new innovations or business policies.
It’s taken care of for you!
The software is owned by someone else, so they foot the bill for development and upgrades, while you get automatic enhancements.
This largely varies depending on which off the shelf solution you go with.
The software you choose should allow you to add features as your company scales.
For example, at MarketBox, as a company scales you can:
- Add more services
- Increase the number of customers who can book with you
- Add more booking options
Keep in mind that larger off the shelf solutions may not provide as much customization as smaller software solutions.
Ideally, the software solution you use shouldn’t just accommodate your growth, but facilitate it.
Cons of off the shelf software
May have to adjust some of your workflow
In general, most off the shelf software is made for a wider market. It might be short a couple of features or even include features you don’t need.
This might mean making some small adjustments to your work processes and taking some time to learn the application so you can use it to your full advantage.
Off the shelf software isn’t a one-size-fits-all solution.
You may have to request modifications
If you have any specific features you may need to add or adjust, a good software vendor should be flexible with your requests.
However, the degree to which an off the shelf solution can be modified varies. What might look like a small change to you could affect an entire system and other users, so there may be limits on what the company can do.
App compatibility varies
This largely depends on what kind of integrations you need and which off the shelf solution you go with.
Flexible software will offer integrations with other products. So before you commit, check for things like whether your operating systems or other apps are compatible with the off the shelf solution.
Might have too many features or not enough features
Too many features can be overwhelming and could end up complicating your process, rather than streamlining it.
Having a lot of features also doesn’t guarantee that they’re the features you need.
And of course, before purchasing off the shelf software, you should ensure it has all of the features you’re looking for.
Ready to get started?
If you’re considering custom development software, understand you’ll be spending roughly 2x to 10x the cost of deployment.
Ultimately, it comes down to budget, timeline, and business requirements.
If you’re looking for total customization, have deep pockets, lots of free time to project manage and aren’t hard-pressed about timeline then bespoke software may be for you.
However, if you’re looking for an immediate solution, are on a budget, and don’t require complete customization then you should consider off the shelf solutions.
At MarketBox, we offer a unique combination of both these options.
Our software enables service businesses to scale with sales and scheduling features, while still offering customizability on a subscription model.
Having a basic understanding of software maintenance is a great starting point when deciding whether custom development is the right choice for your business.
Make sure to factor in both real-world and software-end factors into your budget, and always communicate with your developers!
Expert estimations of software maintenance cost sources