The “build or buy?” question often decides years of maintenance cost and speed. It’s still answered from the gut far too often. Here is the sober framework we use with clients.
Standard software is the default — for good reason
For processes that look the same across many companies — accounting, payroll, classic CRM — a proven platform is almost always the right call. It’s available now, it’s maintained, and the cost is spread across thousands of customers.
Building your own pays off where software is not a cost centre but a competitive advantage:
- The process is part of your differentiation, not just admin.
- No standard product fits it without you contorting around it.
- The data or integrations are too specific for something off the rack.
Rule of thumb: standard for what you do like everyone else. Custom for what you do better than everyone else.
The hidden price of “good enough”
A standard solution that fits 80% sounds cheap. The expensive 20% show up later: workarounds, shadow spreadsheets, broken handoffs, frustrated teams. Those costs appear in no quote — but they are real.
Conversely, custom software is no free pass. It ties up maintenance, demands architectural discipline and a team that carries it for years.
A pragmatic middle road
Often the best answer isn’t “either/or” but a composition:
// Standard CRM as the source of truth, your own logic on top
const lead = await crm.getLead(id);
const score = scoreWithDomainRules(lead); // your competitive edge
await crm.update(id, { score });
Use the standard where it carries — and apply custom software exactly where your edge is created. That keeps maintenance small and value high.
How we make the call
We weigh three axes: differentiation, fit and lifecycle cost. Only when all three point to building do we recommend it — and we say honestly when standard is enough. That saves money that does more good elsewhere.