# Decompose by Business Capability

> Draw service boundaries around what the business does — not how the code is structured.

- **Category**: Microservices
- **Subcategory**: Service Decomposition
- **Canonical URL**: https://designpattern.fyi/patterns/decompose_by_business_capability/

---

## Description
Clean, reusable architecture pattern.


## Use Cases
E-commerce capabilities: Order Management, Customer Management, Inventory Management, Shipping, Billing. Each becomes a service boundary. Even if the tech stack changes, the capability map stays valid.





## Trade-offs


### Advantages

- Boundaries are stable — business capabilities don't change as often as tech

- Aligns engineering to business language (ubiquitous language)

- Easy to explain to non-technical stakeholders

- Natural fit for team organization (team per capability)




### Considerations & Drawbacks

- Requires real business analysis — can't just read the code

- Capabilities can overlap or nest, making boundaries fuzzy

- Doesn't tell you how big a service should be

- Needs DDD knowledge to apply rigorously







---
**Reference**: [Original Source](https://microservices.io/patterns/decomposition/decompose-by-business-capability.html)

