Software – Build or Buy?
Or a Combination of Both?
Businesses of all sizes have the dilemma of whether to build software and customize it to their exact needs, or purchase one or more off-the-shelf solutions. The question is not one that can easily be answered. That is because there are a number of points to be considered. You must consider your budget, the amount of time it will take to implement a new solution and your available resources for creating and implementing the software. The answer may be that you need to integrate different solutions to give your business everything it needs to succeed or you may need to build something from scratch.
You will probably be able to find already-built software to do many aspects of your business; a bookkeeping program for invoicing and estimating, a CRM for sales, marketing and customer relations management, a point-of-sale software for inventory tracking, etc. You may be lucky enough to be in an industry that someone has created a solution for all your needs and you can purchase software that combines them in a tidy bundle. But there are nuances in every business that are unique. Chances are you’ll either need to modify your business to fit the available software, or you’ll need to create a software that fits your business.
When determining which you should do, here are the main points to consider:
Net Cost of Ownership
Cost, of course, is one of your main considerations. It is one that needs to be looked into in depth because there are so many factors. The initial price of the software, whether purchased or built from scratch, is not the only cost involved. Business must also weigh the cost of implementation, support and ongoing maintenance.
The initial cost for purchasing off-the-shelf software will probably be much lower than the cost of developing software in-house or through a developer. That is because software that has been built for a specific industry or for a specific process will be mass marketed and sold multiple times thus spreading the development cost across many users. But that cost can be deceiving because the software may only solve part of your problem, in which case you’ll need more than one solution. As exampled above, you may need both an accounting software and a CRM.
Software as a Service Model
When software is sold as a service (SaaS), licensing costs will be ongoing and costs may increase with the number of users. That means, as your business grows, so will your costs. This makes sense because the maker of the software still has ongoing costs in providing updates and support. However, if you do not need the upgrades or the support, you are paying for them anyway in the form of a monthly or annual subscription.
There is no doubt that building custom software will require a higher initial investment but over a period of time it is possible that the overall cost for a subscription is greater than the overall cost for building software to your specifications. There may be a break-even point where building your own software becomes more cost-effective.
Not all out-of-the-box software is sold as a service; sometimes it can be purchased for a one-time price. When this is the case, your total cost is obviously limited. If the software does exactly what you need, that is great! But if not, the effectiveness of the program may be limited and therefore more costly. Eventually you may need additional functionality or support.
Costs to Implement
After the initial purchase, there is a cost to implementing your software. This cost is unavoidable and will come with any solution you select. Costs may be minimal if your business is new or you don’t have a lot of legacy information you need to include; or they may be high. Implementation costs include transitioning data from another program, training users, and creating a process around the software. It may require an investment in infrastructure or hardware. Implementation costs will occur regardless of whether your software has been custom built or if it is out-of-the box.
The initial cost for custom-developed software will depend on a number of factors, but most developers will quote the entire project based on the number of hours they believe it will take to build the software to your specifications. If this is the route you choose, you’ll want to do you homework and learn as much as you can about the developer you choose. You will be in a relationship with this company for a long time, so do your homework. Learn more about how to select a software engineering firm by reading this post: https://www.sofmen.com/articles/select-software-engineering-firm/
Talk to Us!
We can help you with integrations or custom built software. The call is FREE and you're sure to gain valuable insight whether you hire us or not.
Time to Implement
The amount of time it will take to implement your solution will be a major factor to weigh in your decision to develop from scratch or purchase out-of-the-box. Usually SaaS can be implemented nearly immediately so you can have a solution more quickly than you could if you develop a customized solution.
Upgrades and Maintenance
One of the primary benefits of purchasing licensed software is that the ongoing maintenance cost is built in to your subscription. You’ll also get system upgrades whenever they occur. The downfall to SaaS is that upgrades happen at the discretion of the developing company so your specific needs may take time to be implemented or they may never be met.
Functionality, Ability to Customize & Scale
A distinct advantage of building custom software is that you will be able to build in all the necessary functionality that you need. It will be easy to customize it to your exact specifications.
Custom software can also be built in stages, starting with a minimal viable product (MVP) then adding features and functionality as you continue to build the software. As your business evolves and needs change, you’ll be able to scale your custom software and make modifications more easily than you could if you use SaaS.
As was mentioned earlier in this article, you may need more than one out-of-the-box solution to accomplish all your goals. Using disparate solutions means the same data may be housed in different places. That means changes you make in one software solution will also have to be made in another causing extra work and a higher likelihood of errors.
The good news is, many of these solutions offer APIs which will allow two different software programs to talk to each other. A skilled developer can help integrate solutions and may be able to wrap custom software around these programs to give you a more cohesive solution. As an example, by using an API, a custom built CRM can communicate with your accounting software so contact information will be the same in both systems.
Technology is ever-changing and therefore, ways of doing business change as well. When determining whether to choose an out-of-the-box software or developing your own, this is an important thing to keep in mind. Will the software company continue to make updates to your system? Will they still be around in 5 or 10 years from now?
When working with a developer in building a custom application, you should be sure your service agreement stipulates that you are the owner of the software and you should be given the code and access to everything else you need (server/hosting information, etc.) That way you will always be able to keep your program up-to-date, even if you change developers.
As stated above, ownership of the software is important. As a software licensee, you have little to no ability to make changes that you might need. You are at the mercy of what the software company is willing to provide. With a custom-developed system, you are able to make modifications as needed giving you a competitive advantage over your competition. You may even be able to sell the software you design to others in your industry.
Perhaps more important than any of the above points, and what you should be asking yourself is what will be the return on your investment? The main reason any company implements software is to improve their bottom line either by gaining more business because of it or by reducing costs. Once you get past your initial expense, what will the software do to make you more money? Will you get the same ROI if you buy vs. build? Ask yourself to what extent will software help improve your profit margins if you build it or if you buy it. Will it:
- Improve efficiency?
- Decrease expenses?
- Help you get more customers?
- Help you retain and get repeat business?
- Allow you to profit by selling it to others?
In conclusion, deciding whether to buy off-the-shelf or build your own software is tricky. You’ll have to weigh all the pros and cons. Sofmen can help you make a decision by explaining your options. We’ll let you know if you’re better off buying off-the-shelf software, developing software from scratch, or integrating solutions through use of API’s.