That is the question.
And it is a question that gets a mixed response depending who you ask, what company they work for, the industry they are in, and on the odd occasion — if Mercury is in retrograde.
Technology is continually evolving, and what may have been a suitable solution for the organization 10 years or even 5 years ago, may not be the best solution for the current business environment, which in-turn means it’s definitely not a good solution for the future. Whilst some companies are capable of building their own software solutions, more often than not it ends up being both expensive and disruptive to the business — and may not deliver on its intended purpose, or worse yet, is a complete failure. To understand the best solution for your business, it is important that you ask yourself these questions beforehand:
“Is my business large enough to justify buying software instead of building myself?”
“Do we currently have the in-house expertise to build a solution ourselves?”
“Is this something we want to commit resources to for ongoing maintenance?”
As noted at the beginning of this blog, the decision to build vs. buy depends on the size of the organization and the expected ROI. For small companies it is often better to build workarounds on the systems they already have, or buy a product and compromise on features until they achieve a growth level that justifies an upgrade. The trade off here is that there will likely be inefficiencies that they’ll have to accept, which comes at a cost — a cost that could end up being the equivalent of what they would’ve paid for the better product anyway.
Most midsize and large companies have resources with the capability to build custom software, who will often be tasked with building those mechanisms from scratch and/or connecting multiple systems in order to populate them. They may even go down the route of outsourcing the development to software vendors. In either scenario the development work is just a part of the picture, as there are other capabilities required to ensure the project is successful eg. Requirements gathering, project management, change management etc. Capabilities that not all midsize companies have readily available.
Building software is neither simple nor cheap to do. Even the process of hiring good developers can be time consuming and costly — especially in the current market. Rarely is the recruitment process done internally and is often outsourced to recruitment agencies or search firms who charge anywhere form 15–30 % of the candidate’s salary, which is a decent chunk of change given the current developer salary levels.
So now you have the team in place after investing the time and effort to do so, they can just get to it and build right? Not necessarily. Engineers require very clear direction on:
● What to build?
● When to build it?
● Who to build it for?
● How it should work?
● Why it should work that way?
Then once all that has been decided, agreed to, and built; it then requires training, change management, risk management, ongoing support, bug fixing, performance maintenance and upgrades as technology continues to evolve — all of which continues to add to the cost.
In the end, choosing whether to buy or build software is a complicated decision for most companies. There is no one size fits all answer when it comes to small, medium, and large sized companies, but there are certain things to look out for depending on the size of your company and where you are in your company’s lifecycle. It might seem on face value that one is better than the other based on known costs, but those tasked with the ultimate decision need to ensure the ongoing hidden costs (recruitment, training, ongoing dev and support etc.) are also factored in.
One thing that is for sure — from the moment this question is first asked, the ROI clock begins to tick. The longer the conversation goes on, or the longer it is before a decision is made, the longer it will take for the you company to realize the benefits.