Build vs Buy
Which one is best, build or buy? Well, it depends. Build is important when it is your core domain and is how your company makes money and differentiates from the competition. If all companies buy the same core business, how are they different? They are not.
However, when it is not your core business, buy makes a lot of sense because it is freeing time for you to focus on what matters: your core business. However, there is a big mistake here. There is no buy without build. Because even if you buy you will need to integrate with your existing systems. Just because you buy does not mean it is perfect, does not mean it fixes all your problems. It’s also common when you buy a solution that same solution introduces problems that you did not have before. Buy has hidden costs.
When buying, it’s important to observe:
- Make sure there are APIs
- Evaluate the APIs before buying
- Buy the code (when possible)
- Consider integration as part of the cost
- Consider troubleshooting, debugging, observability as part of the cost
If I use an AWS service vs building in-house, is it cheaper? Well, it depends where you want to put the money. In the beginning buying might sound cheaper, but you will pay AWS forever. When you build you might have a better solution (if executed right) but you now need to pay people to maintain it forever. So where do you want the money to go, your people or vendors? The question here is how good you are at execution inside the house. If your execution is terrible, go buy.
Why you need to know this?
Because such dilemma happens all the time. By running trade-offs you can make better and more informed decisions. Always socialize those decisions with your team and stakeholders. Make sure everyone understands the implications of each choice.