RefactorOps
← All Writing

Build vs. Buy: "We Can Build It" Is Not the Same as "We Should Own It"

Custom software can be the right answer. The problem is not building. It is accidental product ownership — when organizations build things they were never prepared to own for years.

build vs buyplatform selectionsoftware ownershipdigital strategy

Custom software is not wrong.

Sometimes it is exactly the right answer. Custom software can create differentiation, protect a unique workflow, connect systems in a way the market does not support, or give a business control over a capability that is central to its advantage.

The problem is not custom software.

The problem is accidental product ownership.

That happens when an organization builds custom software for a business need that mature products already solve well, then underestimates what it has really created.

It did not just create a project — it created a product. Products need ownership, and the first release is not the end of the investment. It is the beginning of it.

Custom software is attractive for a reason

The organization gets exactly what it wants. No licensing constraints. No vendor roadmap. No awkward product limitations. No compromise around workflow. No monthly platform cost. No waiting for a feature request to make it onto someone else’s backlog.

At least that is how it feels at the beginning.

Custom software can look especially attractive when the first version seems simple.

A form. A portal. A CMS. A POS system. A scheduling tool. A loyalty program. A CRM-lite workflow. A reporting dashboard. A donation platform. A membership system. An inventory tool. A set of integrations.

AI tools have made this even more compelling. What once required weeks of scoping and a full development sprint can now be prototyped in an afternoon. The first version is genuinely cheaper to produce than it was a few years ago. But AI lowers the cost of building — not the cost of owning. The roadmap still needs funding. The support model still needs staffing. The security updates, incident response, data migrations, and eventual sunset don't change because the scaffold came together quickly. If anything, the lower barrier to a working first version makes accidental product ownership more likely: organizations commit to custom software faster, with less scrutiny of what comes after.

If the first version looks smaller than the license cost of a commercial product, building can feel like the obvious financial decision.

But that comparison is usually incomplete.

The right question is not license cost against initial build cost — it is total cost of using a product against total cost of owning one.

The first release is only the beginning

Custom software does not stop costing money when it launches.

After the first release, someone has to own:

That last one matters.

Every custom system eventually needs to be replaced, retired, migrated, or substantially modernized. The organization that builds the system also inherits the responsibility to understand how it will leave the system later.

Sunsetting is part of ownership, as is migration, staff turnover, and documentation — and so is the day someone asks “Why does it work this way?” and the only person who knew left three years ago.

Custom software creates a lifecycle.

If the business is not prepared to own that lifecycle, it should be careful about creating the product.

Buy where the market is mature

Most common business needs are already served by mature product markets.

Content management. Ecommerce. CRM. Marketing automation. POS. Inventory. Payments. Authentication. Scheduling. Donations. Membership. Analytics. Support ticketing. Learning management. Email marketing. Search. DAM. PIM. Loyalty.

These product categories exist because many organizations have similar needs.

That does not mean every product is good. It does not mean every vendor is right for every business. It does not mean configuration is effortless. It does not mean integrations are free. It does not mean the organization gets everything it wants.

But it does mean the market has already absorbed a large amount of complexity.

When you buy a mature product, you are not just buying features. You are buying years of product decisions, security work, compliance work, support processes, documentation, integrations, edge-case handling, and roadmap investment — and that has value.

The right comparison is “least-worst ownership model,” not “perfect custom software” versus “imperfect vendor product.” Every option has tradeoffs, and the question is which ones the business is prepared to carry.

Build where differentiation justifies ownership

There are good reasons to build. Build when the capability is genuinely core to competitive advantage — when the workflow is truly differentiating, not merely preferred, and when no market solution exists without unacceptable compromise. Build when the custom part creates measurable business value and the organization is prepared to fund the full lifecycle: roadmap, QA, security, maintenance, and eventual migration. Build when ownership is worth more than the cost of it.

The test is whether owning the software creates enough business value to justify the long-term obligation — not whether the team can build it, not whether the organization simply prefers its own approach, and not whether the vendor has one annoying limitation.

Most organizations do have places where custom software makes sense.

But those places are usually narrower than people think.

The real decision is not buy vs. build

The usual framing is “buy vs. build.”

That is too crude.

A better framing is:

Buy. Configure. Integrate. Build.

Option
When to use it
Key signal
Primary risk
Buy
The market has already solved the problem well enough
Mature product category exists
Deciding to compete with an entire product category
Configure
A mature product mostly fits the operating model
Product works; workflow needs adjustment
Over-configuration creates fragile, unsupported behavior
Integrate
The advantage comes from how mature systems work together
Differentiation is in the connections, not the systems
Integration layer becomes orphaned custom software
Build
The capability is differentiating enough to justify ownership
No market solution without unacceptable compromise
Underestimating the full lifecycle cost of ownership

Buy

Buy when the market has already solved the problem well enough.

If the business need is common and the product category is mature, buying is often the least-worst option. That does not mean the product is perfect. It means the organization should be careful before deciding that it wants to compete with an entire product category.

Configure

Configure when a mature product mostly fits the operating model but needs adjustment.

This may include roles, workflows, fields, templates, rules, permissions, dashboards, notifications, or business settings. Configuration can create meaningful fit without turning the product into custom software.

The risk is over-configuration. If the product is bent so far that it becomes fragile, the organization may have created custom ownership without admitting it.

Integrate

Integrate when the business advantage comes from how mature systems work together.

This is often the right middle path.

The organization might buy a CMS, CRM, ecommerce platform, POS system, analytics tool, DAM, PIM, or marketing automation platform, then build the narrow integration layer that reflects its operating model.

That custom glue can be valuable.

It can encode business rules, orchestrate data flows, connect workflows, and reduce manual effort without forcing the organization to build every system from scratch.

Build

Build when the capability is differentiating enough to justify ownership.

Even then, build the smallest custom domain that creates the advantage.

Do not build the whole system just because one part of the workflow is unique.

The custom part should be as small as the business advantage allows.

Your tech stack is larger than you think

Organizations often talk about building “a system” as if the system is one thing.

It rarely is.

A real digital or business platform may involve:

That is a lot of surface area.

When an organization says it wants to build custom software, it needs to be clear about which domain it actually wants to own.

A custom POS is different from a custom loyalty rules engine. A custom CMS is different from a custom content migration pipeline. A custom CRM is different from a custom integration layer. A custom ecommerce platform is different from a custom pricing service. The tech stack is larger than people think; the custom domain should usually be smaller.

Control has a cost

One of the most common reasons to build is control.

Control can matter. Control over customer experience, data, workflow, pricing, integrations, user permissions, performance, or roadmap can create real business value.

But control has a cost. Control over the roadmap means funding the roadmap. Control over the workflow means documenting and maintaining it. Control over the data model means owning data quality, migrations, reporting, privacy, and governance. Control over integrations means monitoring and maintaining them.

“We want control” is not a strategy unless the organization is prepared to own what it is asking for. Control is not free just because there is no vendor license.

Licensing cost is not total cost

Licensing cost is visible; ownership cost usually is not. That asymmetry makes custom software look cheaper than it is.

A vendor product may have a clear license line item. Custom software often spreads cost across staff time, agency work, support tickets, downtime, developer onboarding, undocumented rules, fragile integrations, QA cycles, security updates, and future enhancement projects.

Gartner has long defined total cost of ownership as a holistic view of costs across enterprise boundaries over time. That framing matters here because software cost is not only what appears in the first estimate or the first invoice. (gartner.com)

The real cost includes:

The cheapest option at the beginning can become the most expensive option to own.

The business case needs to include the whole lifecycle.

Custom software needs a product operating model

Custom software needs to be operated like a product.

That means defining:

Without that operating model, custom software becomes orphaned.

It may work for a while. It may even work well. But over time, the organization starts to feel the drag.

Small bugs become permanent. Integrations become fragile. Documentation gets stale. New employees do not understand the system. Security updates are delayed. Business rules live in code nobody wants to touch. Every enhancement becomes harder than expected.

McKinsey Digital's report Tech Debt: Reclaiming Tech Equity found that, in one survey, CIOs said 10 to 20 percent of their budget earmarked for new technology was being diverted to resolving tech debt. McKinsey separately estimated tech debt at 20 to 40 percent of the value of organizations' technology estates before depreciation. Those figures are not a universal law, but they illustrate the point: ownership debt becomes a real business cost. (mckinsey.com)

Custom software needs active stewardship.

Common build rationales contain real concerns worth investigating

Some reasons to build are easy to dismiss — because they are often used as shortcuts rather than genuine analysis.

But many of them contain a real concern.

“We want full control” may mean the business has been burned by vendor limitations.

“Our process is unique” may mean the business has operational complexity that matters.

“The vendor almost does what we need” may mean the remaining gap is important.

“Licensing feels expensive” may mean the organization is right to question value.

“We do not want vendor lock-in” may mean portability and negotiation power matter.

“The old system worked this way” may mean users have a real workflow need.

These are not reasons to dismiss custom software — they are reasons to investigate.

The problem is jumping from concern to build decision without testing the tradeoffs.

Tradeoffs exist either way.

The job is to choose the tradeoffs intentionally.

Technology exists to serve a business purpose

Technology does not exist for technology’s sake — it exists to serve a business purpose.

Custom build discussions can drift toward the appeal of control, architecture, and building precisely what's imagined — all legitimate motivations that need to be weighed against long-term ownership.

But they need discipline.

The question is not whether the team can build a compelling first version — it is whether the business should own that product for years.

Spend custom software dollars where they do real work.

Build vs. Buy Ownership Checklist

Before choosing custom software, answer these questions.

Business value

  • What business outcome does this software support?
  • Is the capability core to competitive advantage?
  • Is the workflow truly differentiating?
  • What measurable value does ownership create?
  • What happens if we use a mature product instead?

Market maturity

  • Does the market already solve this problem well?
  • Which products solve most of the need?
  • What gaps remain?
  • Are those gaps business-critical or merely inconvenient?
  • Would configuration solve enough of the problem?
  • Would integration solve the differentiating part?

Scope

  • What domain are we actually considering building?
  • Can the custom part be smaller?
  • Are we building the whole platform because one part is unique?
  • What should be bought?
  • What should be configured?
  • What should be integrated?
  • What should be custom?

Ownership

  • Who owns the product after launch?
  • Who owns the roadmap?
  • Who owns support?
  • Who owns QA?
  • Who owns security?
  • Who owns documentation?
  • Who owns training?
  • Who owns incident response?
  • Who owns future migration or sunsetting?

Total cost

  • What is the initial build cost?
  • What is the annual operating cost?
  • What staffing is required?
  • What support model is required?
  • What hosting and monitoring are required?
  • What integrations need ongoing maintenance?
  • What happens when the original team leaves?
  • What costs appear three years from now?

Risk

  • What happens if the system fails?
  • What data does it handle?
  • What security or compliance requirements apply?
  • What business processes depend on it?
  • What vendor or staffing dependency does it create?
  • What is the plan if the system needs to be replaced?

Decision

  • What is the least-worst option?
  • What tradeoffs are we accepting?
  • Are we choosing custom because it creates advantage or because the alternative is imperfect?
  • Are we prepared to own the product we are creating?

The goal is a clear-eyed decision, not a default to either option.

Build when ownership is worth it

Custom software can be the right answer.

It can create advantage. It can support differentiated workflows. It can connect systems in ways that matter. It can give the business control where control is valuable.

But custom software should be chosen because ownership is worth it, not because building feels cheaper, simpler, or more exciting at the beginning.

Buy where the market is mature.

Configure where the product mostly fits.

Integrate where the advantage is in how systems work together.

Build where differentiation justifies ownership.

"We can build it" is not the same as "we should own it."