I did a talk at OpenFest 2022 on the tradeoff between building software from scratch and buying and integrating something ready-made. I find the topic important because buying existing software doesn't even cross the mind of most engineers when they start to solve a problem. But buying has its solid advantages. It's a tradeoff that engineers should know about and consider every time.
So how do we know if we should build or buy? What are the advantages of buying an existing solution? When can buying bite back? And how do we even make a good buy decision? The goal of this talk is to answer all these questions. In it, I showcase one framework that can help you define a clear strategy for making such decisions. And I share some best practices for selecting and integrating existing software efficiently. Even if your company doesn’t have the habit of doing it.
Slides
(link to SlideShare, link to SpeakerDeck)
Recording
Additional resources
And here are some resources I found interesting and useful while preparing for the talk.
- https://lethain.com/build-vs-buy/
- https://leaddev.com/technical-decision-making/software-platforms-diy-vs-buying-it
- https://leaddev.com/technical-decision-making/build-or-buy-question
- https://leaddev.com/technical-decision-making/abandoning-build-when-investing-only-way-scale
- https://leaddev.com/technical-decision-making/long-tail-product-features
- https://leaddev.com/technical-decision-making/addressing-challenges-build-vs-buy
- https://skamille.medium.com/why-is-it-so-hard-to-decide-to-buy-d86fee98e88e
- https://lethain.com/renegotiate-first-vendor-contract/