---
title: "Build or buy business software? A framework to help you with that decision."
date: 2022-11-19
author: "David Wippel"
category: "Software Development"
url: https://www.davidwippel.com/blog/build-vs-buy-business-software-a-decision-making-framework
---

# Build or buy business software? A framework to help you with that decision.

[Last week's post](/blog/my-paper-based-process-is-working-just-fine) was about how to analyze what process to support with software.

This post is about the so-called "Build vs Buy" decision. Whether you should build a custom solution or buy a ready-made software.

A framework I like to use during an exploration phase roots in Domain-Driven Design (DDD). DDD introduces the concept of “Bounded Context”. The idea is to categorize your software needs into 3 areas:

- Core
- Supportive
- Generic

## Core

The core context is the source of your competitive advantage. So essential and complex, you want to build a custom software solution to stay in control.

## Supportive

Too specific for your business. Still not relevant enough (competitive advantage) to justify a proper custom solution.

**You could:**

- Buy an almost good enough product
- Build a quick n dirty custom solution

Either way, you will have to live with the downsides of both options. But that's ok. As long as they don't bleed into your core business.

## Generic

You can't gain any competitive advantage from this area. The requirements are the same for a wide range of businesses. You always want to buy a ready-made solution here.

## But how to categorize? 3 simple steps.

- Step 1 - Create a list of activities in your business
- Step 2 - Rate their complexity on a scale of 1 to 3
- Step 3 - Rate them based on how much they impact your competitive advantage (1 to 3 again)

Activities with the highest rating in both are your core business. Think about a custom business software here. The middle ground is your supportive area, and the rest is generic.

<img src="/core-domain-chart.svg" />

A list of activities to get you started:

- Create an invoice
- Time tracking
- Project Management
- Status updates for clients
- Onboarding a new employee
- Onboarding a client
- Meetings
- 1:1
- …

The goal is to understand where customer business software can help you win. It’s not an in-depth analysis of your business. It is a starting point of a more detailed discussion or discovery phase.