The Software Dilemma: Build Custom or Buy Out-of-the-Box
If you’re a CEO, especially of a start-up company, chances are you feel like you have to constantly make trade-offs between meeting your company’s most urgent needs and planning for your company’s sustained growth. One area where this balancing act frequently emerges is when you’re establishing critical business processes and, specifically, when you’re choosing whether to buy or build your next software solution. Often, it’s not immediately clear whether your company would benefit most from an out-of-the-box solution, a custom built solution, or some combination of the two.
Let’s start by making some generalizations. Then, we’ll dive into the details. One thing is hard to ignore, off-the-shelf software is usually faster and cheaper to implement if it closely matches your business process. Many businesses stop the evaluation process there and for good reason. On the other hand, a custom solution typically takes longer to put in place and is more expensive up front, but building your own solution can result in a host of benefits for your company, including competitive advantage, greater efficiency and profitability for years beyond the initial investment.
Even though Kopis is a custom software development company, we don’t always recommend that our clients build a software solution from scratch. As your technology partner, we do more than write code. In fact, we believe our primary job is to become efficiency experts for your company, steering you toward the best solution for your needs and helping you rethink what’s possible.
Here are a few of the main factors we consider when helping our clients make the buy or build decision:
Value Of Ownership
Our clients tell us one of the most compelling reasons to go the custom route is that there is a distinct value to owning their own solution. The ingredients for this solution – the business process, code, user experience – become a part of their “secret sauce” — proprietary knowledge that gives them a competitive advantage over similar businesses.
We recently completed a custom build project for a healthcare staffing company, for example. The leaders of this company recognized a significant gap between their needs and the ready-made software solutions available in their industry, and this gap was costing them clients. If they had chosen to continue using an off-the-shelf product, perhaps even working with the provider in order to meet their company’s needs, then that provider might have designed updates and new systems around their discoveries. All of their competitors would have access to their hard-won expertise. Instead, they chose to build their own solution and own their intellectual property, resulting in a notable edge over their competition.
On the other hand, if there is no competitive advantage to creating custom software, or if the advantage you gain does not outweigh the cost of a custom solution, you might want to think twice about developing your own system.
The Bottom Line:
If you’ve created a process that sets you apart from your competition by enabling you to respond to clients more quickly, provide a better service, or offer products at a lower price, you don’t want to give that knowledge away. You need a custom build. If there is no real proprietary knowledge that you need to protect, then you may be able to make off-the-shelf software work for you.
Training & Efficiency
Regardless of whether you implement a custom solution or an out-of-the-box system, change can be hard on some people. Generally speaking, custom solutions beat out purchased systems in training cost and total efficiency. The reason is that custom solutions are built around the processes that already exist. Training costs rise when process improvements take place, but they are typically outweighed by the improvements themselves.
The cost of training is typically a factor when there are large numbers of users. While this occurs when you have a large work force, we also encounter when there is a large external user presence (i.e. consumers or external partners).
Efficiency costs can add up quicker even in situations with a lower user count. Take, for instance, companies exhibiting strong growth. Growth companies are facing a constant battle to maximize and increase the capacity of their constraints. On one hand, a custom system can squeeze the most out of the constraint, but the purchased system can elevate the constraint in a shorter time frame. Part of our job is knowing and understanding the existing foundational enterprise software systems so that we can best advise your company. If there is an existing product that fits your process, and if the final cost will be less expensive than custom building and training on a new system, then we won’t recommend a custom build, especially if the process is not a core to what makes your company unique.
For example, one of our clients was growing a service that required a very specific skillset that was hard to find. In their case, spending more money to write a custom system to maximize the time those resources spent doing revenue producing tasks enabled them to scale their business faster, hiring support staff or automating the tasks their skilled people weren’t required to do.
The Bottom Line:
Building typically comes closer to approaching 100% efficiency compared to buying, but how much does that difference in efficiency gain you? The answer to that question should be a key driver in your decision.
Compatibility, Maintenance & Updates
The best-of-breed trend, namely with Software as a Service companies, has inspired most purchased software and services to provide some means to get at the data or integrate with your other systems.In fact, APIs are becoming more and more standardized as services like IFTTT, Logic Apps and Zapier become popular. For the majority of projects and companies, this will work just fine.However, take the example of a company that needs to share information in as close to real-time as possible and they want to control the flow of data precisely. If the application supports patterns like WebHooks, then you can come close or work even in these scenarios, but sometimes having access because it was custom written for the task just makes sense.
As for maintenance, there are strong benefits to both the custom and purchase routes. Companies behind the creation of purchased software aren’t assuming that the current release is going to work forever. They are putting research dollars into the next version. Your ongoing licenses should cover your continued upgrades which will enable you to keep pace with change. The key question then becomes “Does the purchased software roadmap continue to help you meet your future business objectives?” Also, do you control when you receive updates? Software providers base their service and upgrades on the average pace of change for all clients. Your company may end up having to wait six months for a desperately-needed update, or you may find yourselves unprepared for the newest version of the product you’re using, since automatic updates are created to address the needs of the community at large and not to match your company’s individual needs.While requiring your own improvement budget, custom solutions give you complete control over everything in the roadmap. Where you go, so can your software.
While a custom build lets you control how often you update your software, as well as which new features and enhancements you will add, it also requires your company to be more proactive about maintenance. When considering a custom build project, be sure to plan for some sort of annual maintenance commitment. If you build a million dollar system but include zero budget to maintain and update it, you will eventually outpace your system, and your investment will be minimized. Your ultra-efficient custom built software will end up holding you back instead of driving you forward.
The Bottom Line:
How important is it for you to control the architecture and feature set of the system?
The decision whether or not to pursue a custom software project is nuanced and highly personal. While the considerations above are, in our estimation, some of the most important, there are many others. Here are a few of the recurring concerns that have resulted in our clients choosing a custom solution:
Custom software focuses on functionality, keeping and optimizing the features that are essential to running your business. With a custom solution, you only pay for what you actually need, coming much closer to 100% relevance and resulting in a simpler, more elegant solution.
In the past, building custom software was seen as risky, but software development
techniques have come a long way toward mitigating risk. The agile process, which releases custom solutions iteratively, focusing on highest-value features first, has made software development faster, easier, and less prone to expensive bugs. By planning to demo and release new software in stages frequently, the agile process allows our clients to “steer as they go” rather than hitting a narrow target on the first try. While companies building a custom software solution used to have to know all of their processes and needs upfront, this is no longer the case. As a result, software development has begun to drive change in a company rather than merely responding to change.
Whether you’re ready to begin a custom software project or you want to talk to an experienced technology team in order to assess your needs and determine the right path for your company, we are here to help. Contact Kopis for simple solutions for your most complex problems.