Business Software - Should you Build it or Buy it? In-House Programming or Cloud Computing?
Do you need computer programmers on staff?
Not too many years ago, there were relatively few choices for business software that was both affordable and met the needs of the company. Now that the quality and options have increased, it would be easy to assume that purchasing software (or SAAS - software as a service) is the only way to go. There are still some valid reasons to make the decision to build software internally There are some things to review, however, before making those build vs. buy decisions.
Factors that might lead to a decision of BUY:
- Commodity functions - There is typically very little variance from company to company on things like finance or inventory management or email. It rarely makes sense to try to reinvent the wheel and create your own software for these types of functions.
- Legalities - Items that vary from location to location or must keep up with frequent changes in legislation (i.e. payroll, taxation) are good candidates for purchase. Besides letting someone else take on the headaches of frequent changes with tight deadlines, you also ease the burden on your company of keeping up with how those changes affect your software, and also will provide some protection and assurance that your software (as long as it is kept current) will conform to laws currently in effect.
- No customization needed - In addition to the examples above, there may be other functions within your business where you can fairly easily make your business processes match up to those of the software (i.e. handling invoices or processing credit and debit cards). If there is no inherent benefit to certain processes, consider software that will keep you automated and cost effective, particularly in your back office functions.
- Fully understand TCO - If you've done your due diligence outside of the work the supplier provided and the numbers look affordable, then you might want to buy. When looking at the total cost of ownership (TCO), make sure that you've included all of the necessary items. A few that sometimes get overlooked are factoring in costs of your own IT staff to do things like integrate with other systems, testing and installation of new releases, updating data feeds, or help with upgrades. Include costs to communicate to, and possibly train, the customer base when upgrades occur.
Factors to consider that might lead to a BUILD decision:
- Competitive advantage - Is there something within your business that is a competitive advantage that could be furthered by technology? Maybe it's a manufacturing secret, a pricing strategy, or a marketing tactic. If so, there may be nothing in the market that fits your needs. Most software tends to feed a "one size fits all" market.
- Speed - If you don't have to wait for your needs to be met in the 4th release 3 years from now, there may be a cost benefit to controlling your own destiny (and cost and timing) of building your own software in certain spaces.
- IT staff retention - If keeping talented, high quality IT professionals is important to your company's future, keeping them motivated and challenged with new, interesting work may be a requirement.
- Risk remediation - If one of your software providers went out of business or significantly changed their strategy or costs, would it create a negative impact to certain aspects of your business? Is your private and confidential data secure and protected?
When making software decisions, always ensure that the appropriate amount of due diligence is done. Don't leave all of the legwork and details to the software providers or integrators. What may seem like an easy decision on the surface could very easily cost time, money, and loss of competitive advantage in the long run.