Last week's post 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:
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.
Too specific for your business. Still not relevant enough (competitive advantage) to justify a proper custom solution.
- 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.
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.
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
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.