practice

Differentiation Test

The question of whether a capability is a source of competitive advantage, used as the primary filter in build-versus-buy decisions.

The decision is usually framed as a cost comparison and usually decided badly as a result. The governing question is whether the capability differentiates you.

Build what is core — the thing customers choose you for, where being better than the market matters. Buy what is context — necessary, undifferentiated, and where the market's solution is better than anything you would build: authentication, payments, email delivery, observability, CI.

Engineering teams systematically over-estimate the differentiation of things they find interesting and under-estimate the total cost of building them.

The costs that get omitted from build estimates: ongoing maintenance, which typically exceeds initial development several times over; security patching and compliance; documentation and onboarding; the opportunity cost of the features not built; and the key-person risk of a system one person understands.

The costs omitted from buy estimates: integration effort, which is routinely underestimated; licence growth as usage scales; the constraints the vendor's model imposes on your design; and exit cost.

The honest middle position exists too — buy the platform and build the differentiated layer on top, which is the right answer more often than either extreme.