Custom Software vs Off The Shelf - What To Consider Before Committing
If you can find an off-the-shelf (OTS) software solution that does exactly what you need, there's no reason to build your own custom solution.
If you can find an off-the-shelf (OTS) software solution that does exactly what you need, there's no reason to build your own custom solution. Custom software pretty much always costs magnitudes more, takes time to build, and requires ongoing attention.
However, how often do you find pre-made software or template websites that do exactly what your business needs? The companies responsible for building software usually try to make their systems general enough to serve a wide audience to maximise profit. There are usually features that you wish the platform had, or more often, you end up having to completely change your processes to fit the tool you're using.
So what do you do when your business desperately needs software features unavailable?
You can weigh up the idea of going custom. Or you could find a combination of off-the-shelf tools that could be stitched together. Or maybe you just keep using the ill-fitting tool you're already familiar with and put up with the inefficiencies.
It's super tricky (and a bit nerve-wracking) to pick the option that will leave your business in the best financial position.
We wish we could build a questionnaire to give you a conclusive answer about what to do. There are simply too many variables for anything like that to work. However, what we can do is arm you with the knowledge to make an educated decision about which direction you should go.
As a team that specialises in helping businesses who have outgrown their technology, this is a problem we're intimately familiar with and are qualified to give some direction on the topic!
If you get to the end of the article and you're still not sure what it will cost to build a custom solution, if there's a pre-built tool that would fit your requirements, or whether there's an option you're not considering, then please reach out to us. The worst that can happen if you'll get some free experienced-backed advice.
A quick comparison
Let's cut straight to the chase. There are situations where OTS is the right choice and others where it will be more of a hindrance. Here's our quick table that breaks down some common scenarios and provides insights into which option will be a better fit.
Here's the breakdown of each consideration.
Affordability - it's all about price
OTS solutions are cheaper for smaller businesses buying entry-level pricing. There's usually no implementation cost. Just sign up, set up the software how you like, and start using it.
Custom solutions on the other hand require hiring an agency, setting you back somewhere between $25,000 - $300,000 depending on the complexity of what you're building.
It's incorrect to make a blanket statement that off-the-shelf software is cheaper than a custom build. At some point, paying enterprise rates for OTS systems can get very expensive, and if your business is only using a handful of features, it may be cheaper to invest in your own solution.
As a general rule of thumb, OTS will win the affordability battle 9/10 times.
Not being able to extend or modify off-the-shelf software is the biggest reason businesses start investigating custom solutions. It can be incredibly frustrating to have 90% of what you need from a pre-built solution with no way to add that last missing piece.
Custom solutions are great for extensibility, especially if they're built with an agile approach. Creating a set of important features, testing them out, and then moving on to build the next set of features is a clever way to make sure the solution will fit your needs perfectly.
OTS solutions can sometimes be integrated together through API calls to achieve things they couldn't otherwise. However, any complex integrations usually require a small application to sit in the middle between the proprietary software and pass data back and forth to achieve the integration.
Scaling custom software is relatively straightforward in that you can throw more server resources, load balances, and different infrastructure resources at your application to make it handle more load.
Since you don't have any direct access to OTS platform's infrastructure, you're only option is to speak with the service's team. Sometimes they'll accommodate the request and move you onto an enterprise plan, but this won't always cut the mustard. If your company is pulling huge numbers and requiring more resources than OTS systems expect, it's time to go custom.
Your team's expertise
The teams that achieve the best results with custom software have team members that are familiar with the software development life cycle and have an intimate understanding of what's being built.
Custom applications usually don't have nice onboarding or user experience features like OTS applications. The lack of these familiar features can make for a steep learning curve for non-technical users.
Custom applications come with their own challenges, and if you don't have a semi-technical team member to navigate through the mayhem, it can make life difficult.
Do you need a solution to your problem right now? Off-the-shelf software can be up and running in a matter of minutes. Maybe the first platform you try doesn't completely solve the issue, but you can try three or four more and have some success in a single day.
Custom software, on the other hand, takes months to build. Any custom platform worth it's weight will have been planned for a week or two, gone through a prototyping and design phase and finally through a robust development phase. Doing complicated things right takes time.
If you need to move quickly, OTS is the best option.
Your competitors have the same access to off-the-shelf software. If you're looking to create a platform that will give you an edge, it needs to be custom.
The necessity for business operations
How central software is to your operations is one of those considerations that businesses don't really think through until it's too late. Say you build a gold trading online store on Shopify, and it does most of what you need but requires heavy customisation to achieve your goals. Then Shopify goes and changes it's API from REST to GraphQL, which breaks all of your customisations. You probably wish you'd invested in a custom platform from the start.
This is a bit anecdotal, but if you're planning on heavily customising OTS software to fit a requirement, but that software is also critical to your business operations, then it's a safer long-term alternative to build your own custom solution.
Off-the-shelf platforms are proprietary, meaning the codebase and data is owned by the host company. Sometimes their terms will state that you, the user, own your data. But that doesn't change the fact that they could sell their business to Adobe (looking at your Figma!) and the new host company could kill the platform.
You're not the owner, and tieing your business to someone else's intellectual property creates an inherent risk of changes impacting your business.
Flexibility and rapid changes
If you're an entrepreneur and creating a new product or service that doesn't exist, you'll be learning a lot of new information quickly and looking to adapt. There's an argument that you can cater to this requirement with both custom and OTS software.
Stitching OTS platforms together through API and a small intermediary application would probably be the quickest approach to staying elastic in this situation. Committing fully to custom software development would be a good approach but might be too expensive. Only using OTS software would be too inflexible.
The common "gotchas" of custom software development
Another consideration for going in the custom software development direction is that there are "gotchas" or "hurdles" that come of all the time. There's no logical way to anticipate them happening without experience. Here's our list of things to watch out for:
Hidden and ongoing costs
One misconception about software development that our inexperienced clients make is that once the application is deployed to production, all the costs magically disappear. They think it's like building a piece of custom art that will sit out the front of a winery, being admired by the patrons.
The truth is that even when your application is going live for the first time, there is probably a massive backlog of tasks that need to be completed (and paid for). Servers need to be paid for. External services need to be paid for. Licenses need to be paid for. There are ongoing costs and they're usually in the hundreds to low thousands of dollars a month.
Thinking that you'll build a custom platform to escape the costs of off-the-shelf is a red herring.
Cheap offshoring teams are a waste of money
If you're like me, you receive 15 emails from development teams based in the subcontinent each day advertising that they can build my application for $12/hour. You might think this is a bargain, and if you can just get a basic application together now, then you'll pay for a more qualified team to extend it later.
I'm here to tell you this approach never works. In fact, we get contacted by one or two businesses every month asking for help undoing the sloppy work that a cheap offshoring company implemented.
You don't need to find the most boutique, expensive agency, but don't work with teams that pitch you through a cold email advertising development for less than $50/hour.
Changing business processes
Building a custom application will sometimes require changing how your team does business. If you work with good developers, the change will be for the better and your processes will become more efficient. It's just worth considering that when you build a custom project management platform for your physio practice that it won't work exactly the same as Asana, and you'll need to change your business workflows.
You're now a project manager
No matter which team you work with to build custom software, you will need to act as a project manager in some capacity. The experience is never entirely hands-off.
The less money you want to spend, the more project management will go into keeping things on track. This doesn't just mean ensuring tasks get done on time, but it also means making sure the development team has the same vision of what needs to be built.
Product Roadmapping is an excellent answer to this problem, and should always be done at the start of the project to align your business and the development team.
Developer relationships are lasting
Custom software requires maintenance. Things break frequently. You'll want to change features or talk about a different framework. Servers fall over. Stuff happens where you'll need technical help.
Once you start down the custom software path, you'll need to work with developers or an agency permanently.
Is custom software better than off-the-shelf?
If you just want to know what's better, then the answer is OTS is better if you're on a budget and can find a platform that does exactly what you need. In almost every other situation, custom software will be a "better" option than off the shelf website, if you can justify the cost.
Frequently asked questions
If you're still hunting for answers, these are a few common questions we've answered in the past on this topic.
What is off the shelf software?
Off the shelves software is proprietary software made by a company and licensed to users, usually on a monthly subscription. The software is "turnkey", meaning it requires little to no configuration to work. You just need to sign up, turn the key, and start using it.
What is custom made software?
Custom made software is a computer program developed for a particular, focused purpose. Typically software is referred to as custom when it's built for a business to do a job that general off-the-shelf solutions can't handle. Custom software is written by a developer or development agency.
What is bespoke software development?
Bespoke software development is a fancy way of saying software that's built specifically for a purpose. If a business can't find an off-the-shelf solution they like, they might opt to have a bespoke system built to fit the business requirements.
What is bespoke website design?
Similarly to bespoke software development, bespoke website design describes a design that is custom-made and tailored by an expert web designer to particular business needs
Hopefully, we've given you all the details you need to make an informed decision about using readymade software or spending the time and effort to build something custom. For more articles, check out the Clean Commit blog and if you've got questions or comments, please leave them in the comments section below and our team will get back to you in a day or two!
Tim is the face of the company. When you want to kick off a new project, or an update on your existing project, Tim is your man!