AlgoMaster Logo

Business Capability vs Subdomain Decomposition

9 min readUpdated November 11, 2026

When designing a microservices architecture, one of the first questions we need to answer is how to divide a large application into smaller, independently deployable services. A common approach is to identify the major business functions and create services around them. For example, an e-commerce platform might have separate services for catalog management, ordering, inventory, payments, and shipping.

But there's another approach inspired by Domain-Driven Design (DDD): decomposing the system into subdomains. At first glance, these approaches seem almost identical. Both encourage us to organize services around business responsibilities rather than technical components. However, they look at the business from slightly different perspectives.

Business capability decomposition focuses on what the business does, while subdomain decomposition focuses on the business problems, rules, and models that the software must support.

Understanding this distinction helps us identify better service boundaries and avoid creating services that are either too broad or unnecessarily fragmented. Let's explore both approaches and understand when to use each one.

Premium Content

Subscribe to unlock full access to this content and more premium articles.