Chapter 08 of 24

COTS vs. Custom: The Build vs. Buy Decision

Every enterprise technology decision involves a fundamental choice: buy a commercial product or build something custom. Understanding the trade-offs — and why organizations often get this decision wrong — is essential.

4 min read

Overview

One of the most consequential decisions in enterprise technology happens constantly, at every level of the organization: should we buy a commercial product, or should we build something ourselves?

Diagram

The commercial product option is called COTS: Commercial Off-The-Shelf software. The acronym emphasizes that it comes pre-built, ready to use, purchased from a vendor. SAP, Salesforce, Workday, ServiceNow — these are all COTS products. You buy them, configure them, and use them.

The alternative is custom development: building software specifically for your organization, designed to your exact specifications, maintained by your own or contracted engineering team.

Both options have genuine strengths and real weaknesses. The right choice depends on the specific situation. And yet organizations consistently get this decision wrong in predictable ways.

The Case for COTS

Commercial software exists because many organizations have the same problems. Every company that sells things needs to manage customer relationships. Every company with employees needs to run payroll. Every company with physical goods needs to manage inventory. Because these needs are common, vendors have built products that address them — products refined over years through use by thousands of customers.

The advantages of buying commercial software are significant.

Faster time to value. A COTS product can often be deployed and operational in months. Custom development takes years. When the business has an urgent need, COTS frequently wins on speed.

Proven functionality. A mature commercial product has been used extensively by many organizations. Its core functionality has been tested in production, bugs have been found and fixed, edge cases have been discovered. A custom-built system starts from zero — you discover the edge cases yourself, after you have deployed.

Vendor support and ongoing development. When you buy a commercial product, you are also buying the vendor's commitment to maintain and improve it. Regulatory changes get incorporated into new software versions. Security patches get released. The vendor has a financial incentive to keep the product current.

Lower total cost of ownership (in theory). Building and maintaining custom software requires ongoing engineering investment. The total cost of custom development — including the initial build, ongoing maintenance, bug fixes, enhancements, and eventually replacement — is often significantly higher than people expect when they decide to build rather than buy.

The Case for Custom

Commercial software has real limitations, and there are situations where building custom is genuinely the right answer.

Your process is genuinely unique. Most business processes are not unique. Most companies manage customers and inventory and employees in roughly similar ways. But some organizations have processes that are genuinely differentiated — processes that create competitive advantage or meet specific regulatory requirements that no commercial product addresses. In these cases, custom development may be the only viable option.

Commercial products require too much compromise. Every COTS product is designed to work for many organizations, which means it is designed to work perfectly for none of them. To use a commercial product, you have to adapt your processes to fit the software's assumptions — or configure the software heavily to match your processes. Sometimes this compromise is acceptable. Sometimes it is not, particularly when the processes in question are central to how the business operates.

Integration requirements are unusual. If your environment requires integration with legacy systems or proprietary protocols that commercial vendors do not support, custom development may be necessary to bridge the gap.

Where Organizations Go Wrong

The most common mistake is underestimating the cost and complexity of custom development and overestimating the uniqueness of the organization's needs.

Teams that decide to build custom frequently do so because they believe their requirements are unique, the commercial products are not quite right, and building something custom will give them exactly what they need. What often happens is different. The requirements turn out to be less unique than expected. The commercial products would have been adequate with some configuration. The custom system takes three times as long and costs twice as much to build. Then, once it is built, it requires ongoing maintenance that consumes engineering capacity indefinitely.

The second common mistake is "COTS plus heavy customization": buying a commercial product and then modifying it so extensively that it no longer functions as a standard product. The organization gets some of the initial speed advantages of COTS but none of the long-term advantages, because the heavily customized product cannot be upgraded without re-doing all the customizations. This is how many organizations end up stuck on old versions of ERP and CRM systems.

What This Means for AI

The build-versus-buy question applies directly to AI. Organizations face it constantly: should we buy an AI tool from a vendor, or should we build our own AI capability?

The same principles apply. If your need is common — AI-powered customer service, document summarization, demand forecasting — there are commercial products available that can be deployed relatively quickly. If your need is genuinely unique, or if the commercial products do not work with your specific data and systems, custom development may be necessary.

What is different about AI is the rate of change. The commercial AI landscape is evolving rapidly. A commercial product that does not exist today may be available next year. Capabilities that required custom development in 2023 can be bought off the shelf in 2025. This argues for caution about large custom AI development investments. Before committing to building something, ask whether a commercial product will solve the problem within the timeframe of the project.