Problem
Teams default to building because it is interesting or to buying because it looks fast. Both ignore total cost of ownership, differentiation, and exit cost. The result is either reinvented commodities or critical paths owned by vendors.
Also known as: make-or-buy, build-buy-borrow
Decide systematically whether to build a capability in-house, buy a product, or adopt open source.
Teams default to building because it is interesting or to buying because it looks fast. Both ignore total cost of ownership, differentiation, and exit cost. The result is either reinvented commodities or critical paths owned by vendors.
Build vs buy is a structured way to decide where engineering effort should go. The question is not whether you can build something, but whether building it creates advantage that justifies owning it forever. Every built component brings on-call, security patching, upgrades, and hiring needs.
A third option, borrow, covers open source and managed open-source offerings. It often sits between the extremes: low license cost, but you accept upgrade, patching, and community-risk responsibilities. Reassess when scale, regulation, or vendor pricing shifts the balance.
Score each option against weighted criteria, then compute total cost over a fixed horizon.
capability: audit-log-search
class: generic # core | supporting | generic
options:
build: { year1: 400k, run: 120k/yr, exit: low }
buy: { year1: 150k, run: 180k/yr (growth 15%), exit: medium }
oss: { year1: 220k, run: 90k/yr, exit: low }
revisit_when: "volume > 5TB/day or vendor price +25%"
In practice, run a short time-boxed spike against a real workload, score reliability, security posture, API fit, and data portability, and have finance validate the cost curve at two and ten times current volume. Include the people cost of operating whichever option wins.
Varies by outcome
Low - a review per decision
Medium - requires TCO modeling
Building a commodity because of not-invented-here bias
Buying a product that cannot be exited when pricing changes
Ignoring integration and customization cost in the TCO