advanced 2 min answer

When do micro frontends solve a real problem, and what do they cost?

micro-frontendsmodule-federationorganisationalruntimeconsistency
Show the full answer Hide the answer

What is being tested

Whether you recognise this as a solution to an organisational problem, and whether you can price the technical cost.

The real problem

A single frontend owned by many teams becomes a release bottleneck. Every change waits for a shared build, a shared test suite and a shared release. With enough teams, that coordination cost dominates delivery.

The problem is organisational; the solution is technical — which is exactly the shape that produces over-adoption.

When it is justified

  • Many teams on one interface, where the release bottleneck is measurable rather than theoretical.
  • Genuinely independent areas with little shared state or navigation.
  • Different release cadences, particularly where a regulated area must ship separately.
  • Incremental migration — running old and new frontends side by side. Frequently the strongest and most bounded use, with a defined end.

What it costs

  • Runtime failure modes. A remote module fails to load; the host must degrade rather than break. Every federated boundary needs an error boundary and a fallback.
  • Shared dependency management. Two teams on different framework versions means either duplicated payload or a coordination requirement that removes the independence you were buying.
  • Consistency. Design systems, accessibility standards and behaviour must be maintained across independently developed pieces, which requires deliberate effort and does not happen by default.
  • Performance. Multiple bundles, multiple requests, harder tree-shaking.
  • Debugging across several builds, teams and repositories.

When it is not justified

Small teams. Highly interconnected interfaces. Products where consistency is a primary quality.

In those cases a well-modularised single application with enforced internal boundaries gives the boundaries without the runtime cost — the same argument as the modular monolith, one layer up.

The failure to avoid

Shared state across federated modules, which recreates exactly the coupling that was being removed while keeping all the runtime cost.

The test to apply

Is there a measurable release bottleneck attributable to shared ownership? If the answer is a theoretical concern about future team growth, the cost is being paid now for a benefit that may never arrive.