Custom Build vs. Off-the-Shelf: A Decision Framework
"Should we build or buy?" It's one of the most consequential technology decisions organizations make, and one of the most frequently gotten wrong.
The Conventional Wisdom (And Why It's Incomplete)
You've heard the standard advice: "Buy unless it's your core competency." It's not wrong, but it's insufficient.
The real question isn't capability. It's competitive advantage. Building custom software makes sense when:
- . The software is your product
- . The software creates defensible differentiation
- . Existing solutions fundamentally can't meet your requirements
- . Long-term total cost of ownership favors custom
The Build Case
Custom development makes sense when:
Competitive Differentiation
If the software capability directly translates to market advantage, owning that capability matters. A logistics company's route optimization algorithm. A fintech's risk assessment model. A healthcare platform's patient matching system.
Unique Requirements
Sometimes your requirements genuinely don't fit existing solutions: - Regulatory constraints specific to your context - Integration requirements with legacy systems - Performance requirements beyond commodity solutions - Data sovereignty requirements
Long-Term Economics
Calculate honestly: - Ongoing licensing costs of existing solutions - Customization costs to make them fit - Switching costs when you outgrow them - Opportunity cost of constraints they impose
Sometimes building is simply cheaper over a 5-year horizon.
The Buy Case
Adopting existing solutions makes sense when:
Commodity Functionality
Email, CRM, accounting, HR systems. Unless you're in those industries, these are table stakes. Don't reinvent.
Rapid Deployment Matters
If you need capability in weeks, not months, existing solutions win. You can always migrate later.
Maintenance Burden
Custom software requires ongoing investment. If you can't commit to maintaining it, don't build it.
The Problem Is Well-Understood
If the problem space is mature and well-served by existing solutions, building custom rarely makes sense.
The Decision Framework
We use a scoring model:
| Factor | Build | Buy | |--------|-------|-----| | Core to competitive advantage | +3 | -3 | | Unique requirements | +2 | -2 | | Well-served market | -2 | +2 | | Rapid deployment needed | -2 | +2 | | Long-term TCO favors | +2 | +2 | | Maintenance capacity exists | +1 | -1 | | Integration complexity | Varies | Varies |
Score each factor. If the total favors build by 4+ points, build. If it favors buy by 4+ points, buy. In between? Dig deeper.
The Hybrid Approach
Often the answer is both. Custom where it matters, commodity where it doesn't.
Example architecture: - Custom: Core business logic, customer-facing features, integrations - Buy: Authentication (Auth0), payments (Stripe), email (SendGrid), analytics (Segment)
This maximizes differentiation while minimizing unnecessary development.
Common Mistakes
- . Building commodity features: Custom authentication is almost never worth it
- . Underestimating maintenance: Building is 20% of the cost; maintaining is 80%
- . Overestimating uniqueness: Your requirements are less unique than you think
- . Ignoring switching costs: Once you're on a platform, leaving is expensive
The Bottom Line
The build vs. buy decision should be driven by competitive strategy, not engineering preference. Build what differentiates you. Buy what's commodity. And be honest about which is which.
Need help evaluating your technology choices? [Let's think through it together](/contact).