2 min read

Buy or Build Custom Application?

A commonplace analysis when directing IT resources for a medium-sized business is whether to build your own solution (coded by outside consultants or internal developers) or purchase existing software.

Here a couple of different scenarios:

  • Customer Relationship Management (CRM): This software is standard across many different industries. The cost of a SaaS solution can be less than $1,000/month for 30 users. The application requirements are within your Sales and/or Customer Service deparments and the existing software provides everything that the business may need. The implementation costs can be kept small and the vendor offerings provide excellent API capabilities to integrate data with other systems.

    Recommendation: Purchase the software and develop some in-house expertise to configure the software and integrate data.

  • Enterprise Resource Planning (ERP). Purchasing and implementing an ERP is quite expensive for a small to medium-sized business. For example, let’s assume the cost is $2 million over a 5-year period and it meets the business requirements. Although the benefit could outweigh the cost, everything has to go precisely right. However, there are fairly high risks of customizing the application for unknowable requirements and poor user acceptance.

    Recommendation: Break the ERP into smaller parts. Buy easy-to-implement software to provide functions where there are standardized processes in the business (e.g., Accounting). Then, develop a custom application to provide order tracking, plant resource utilization, and scheduling.

When I have advocated for a custom solution, there has been reluctance at the executive level to accept that coding software is a beneficial or advantageous option. My opinion is quite different because I view development as efficient and cost-effective. We no longer write a lot of code to do perform tasks. Instead, we use libraries provided by others to perform large tasks with one line of code. To be able to provide this benefit, the IT team needs to stay current with their skills and make efficient use of their tools.