ARCHITECTURE / 03

Lean System Architecture

Simplicity does not mean a weak product. It means deliberately removing what increases cost, risk and the time needed to change.

Every system has complexity. Some of it comes from the problem that genuinely needs to be handled; some comes from technical decisions, optional integrations and features added “just in case”. Lean architecture means telling these two kinds apart and keeping the core understandable.

Necessary and accidental complexity

Necessary complexity can include different user roles, change history, legal requirements or communication with a device. Accidental complexity appears when a system has several ways to do the same thing, stores data in multiple places without a reason or depends on modules nobody uses.

Five questions before adding a layer

  1. What concrete problem does this layer solve?
  2. Can the same outcome be achieved with a simpler feature?
  3. Who will maintain it after launch?
  4. How will response time, cost and security change?
  5. How can it be removed if the process changes?

If the answers are missing, the decision should not be automatic. Recording the reason for a choice is as important as the choice itself.

Core, boundaries and extensions

A well-built system has a stable core: users, essential data, core rules and the main workflows. Integrations and reports can connect through clear boundaries. This allows the system to grow without rewriting everything, while stopping every new add-on from changing the whole product.

In practice: every feature should have a business owner. If nobody can say who needs it and how its value will be judged, it may be too early to implement.

Simplicity reduces the cost of change

The value becomes visible not on launch day but at the first process change. Can a field be added without breaking reports? Can a new person understand the screen after a short introduction? Can the reason behind a system decision be reconstructed? The answers depend on architecture and boundaries, not on the number of tools.

In Utilite Bronze Core, a simple core is the starting point for growth, not a limitation. New elements should appear when the process and data justify their cost.