When Should You Buy vs Build in Software Development
๐ Notion Template: Buy vs Build included!
Intro
This is probably one of the most talked about topics when developing software.
Every organization, from small startups to big enterprises is asking themselves this question regularly.
Iโve been asked 2 times last week about my opinion on this topic. And weโve broken it down and come to a conclusion to both.
And today, I am sharing my opinion and experience on this topic with you!
This is an article for paid subscribers, and here is the full index:
- What actually buy and build mean in Software Development?
๐ A lot of the things that we are building are combinations of both
๐ Should you build customizations to something that you bought?
๐ Should you buy additions to something that you are building?
๐ To buy or to build, that is the question
๐ ๐ Notion Template: Buy vs Build
๐ Buy vs Build example: Choosing a Design Library
๐ 1. Assess the importance of the 5 main criteria
๐ 2. Find at least 2 buy options
๐ 3. Assessment
๐ 4. Conclusion
What actually buy and build mean in Software Development?
As our picture at the top of this article represents, buy means that we are buying already a pre-made solution that we can use immediately. Either internally in our organization or in our software.
There can be many use cases for that and some of the common ones:
CRM System like Salesforce
Task management like Jira
Design System like Material UI
And build in our case means that we are building something ourselves โ we are the ones responsible for maintaining it.
Some most common cases for building it ourselves are:
Website
The core functionalities of our product that we are building
The administration application that our operational team uses
A lot of the things that we are building are combinations of both
A good example is the Website. We can potentially use WordPress which gives us many pre-made tools to make it easier for us to build.
And then we can use paid plugins instead of building certain functionalities ourselves. That saves us time and effort in exchange for money.
The same goes for our product or any internal application that we are building. We can buy certain parts that are already made and use them.
If we flip the view a bit, we can also have a combination of both in our CRM system like Salesforce. Salesforce allows us to add customizations to it. And thatโs something that needs to be maintained on our end after we create them.
And is it smart to do that? Well, we will go straight to that next!
Should you build customizations to something that you bought?
Letโs talk about the use case we mentioned above: CRM system. Buying it is a smart choice. We get a lot of functionalities that we need for our business to function, which would take us a long time to build them ourselves.
But what about adding customizations?
We should avoid adding customizations unless we really need to have them.
And if we do decide to create them, we should minimize them as much as possible.
The reason is that as soon as we build the customizations ourselves, we need to maintain them.
And that means maintaining them through system updates and versions + we need to remember and understand how we made the customizations so that we can make adjustments if needed.
And that goes for any case: Task Management System, Design Library, API Platform, etc. the mindset should be the same.



