It’s the age old question when you want your business to do something new. Should you build it in-house from scratch, or should you buy it from a 3rd party? It can feel like a daunting decision, but I’d like to share one key question that can greatly simplify your decision making process.
Is it core?
Is it core to your business? Or, asked in other ways: Does it directly contribute to your USP (Unique Selling Proposition)? Will it further your competitive advantage?
If you’re a fast food restaurant your core business is serving food, fast. You may need to take payments, but you shouldn’t build your own payments infrastructure. Instead, rely on a trusted partner, like Stripe, for whom payments is their core business.
The alternative is, you end up building and supporting an entire product. A product separate from your actual core product; you know, the thing that makes you money! There are success stories of these side-products being spun off and turned into unicorn businesses themselves, but for the vast majority they are a time suck, a distraction and a maintenance burden.
The added benefit of using a 3rd party, especially when using a SaaS business, is that you get new features for free! They will continue to invest, upgrade and improve their service because it is their core business.
As something you maintain on the side, your in-house solution will likely never reach feature parity. Nor, we should argue, should it, given this would take time away from you to improve your core business.
At what cost
Using a 3rd party comes at a cost, usually an ongoing monthly cost. If we build it ourselves, sure, we incur the initial implementation cost, but once it’s live we’re saving big time! This is a lie. Actually, it’s multiple lies.
First up is the implementation cost. Humans are bad at estimating. We see this across industries, like in every episode of Grand Designs where a project starts confidently with a plan, a budget and an expected duration. But it’s no surprise when we find out the true cost ends up being easily 3-4x that!
Next is the maintenance cost. This is far from zero and should not be underestimated. Even if the service is built once, and no further features are ever needed, you still have the cost of servers, uptime, security updates, dependency security updates, technical debt, knowledge transfer, training and onboarding. But the reality is, new features will be requested, and this work will now need to be prioritised in with your company’s other work.
Downstream changes that impact how your service works? Now you’re on the hook, and counting against the clock, to make the changes before anything breaks. All the while diverting team members away from an already jam packed Q2 roadmap!
Fear and trust
But what if this 3rd party goes down? We need a backup. Do you really need a backup? This is their core business after all and they should have a strong focus on uptime. They probably have better uptime than your own business!
There is always a weakest link, but at a certain point we need to vet and then put our trust in partners for whom their core business is the service you need. If your partner is unreliable, you may be better off finding another partner, rather than integrating, supporting and maintaining a backup provider. The mostly-invisible maintenance cost of this is usually much higher than you think.
Sometimes, especially in the early MVP stages of building a business, the quick build-it-yourself approach can be the right answer. Context, as always, is key.
If the quick in-house approach gets you from MVP to growth, then there’s an argument to say it was the right answer at the time. But don’t let the fallacy of sunk cost prevent you from re-evaluating your options. Especially when you identify the amount of time you keep spending on that custom email templating language!
Let core decide
To build or to buy, that is the question. But now you have a very simple framework to help drive the decision. So simple, it’s only one question: Is it core?