Skip to content

Frequently asked questions

How do we organise software around business areas?

We use Domain-Driven Design principles to organise software around business concepts and responsibilities. Modules then reflect what the company does, rather than just the technologies it uses.

Orders, billing and inventory may need different rules and terminology. Defining boundaries clarifies who owns each piece of data, which operations belong to each module and how modules communicate, instead of making every feature depend directly on the same tables.

In our feature architecture, contracts separate each capability from its technical adapters. Each module does not need to become a microservice: a modular application can be simpler to operate and sufficient for the intended scope.

More questions

Reading guide · Markdown
How do we organise software around business areas?