Creating new software involves a lot of decisions. When adding features, a common question is whether to write custom code or buy an existing product.
There isn’t a straightforward right or wrong answer. Many people will tell you there is, but that is too simplistic. Many factors can influence the decision.
- How capable is the development team? A more capable team will be able to build a feature and not rely on integrations.
- Is the software for internal use? Often, integrations (build) require you to make some compromises. These compromises are usually easier to swallow if it’s for an internal application than something you are building for your customers.
- Is this software needed so you can complete your work? For example, a UI framework is something we need, but it’s not often a factor that determines whether your business will succeed or fail. So in this case, it’s usually better to just buy.
- But a big question I like to ask myself is, “Is this core to the business?” If whatever feature we are talking about is core to your business, I typically say you should build it. Features that are core to the business usually evolve over time, so you will want the flexibility to change them down the road.
Again, there are no hard or fast rules when choosing whether to build or buy when adding features to your software. But next time this question arises, ask yourself if this is a core feature. If so, you should probably build it.