Idea

Information coming from another domain is copied and adapted rather than linked

Info

Originally written in French. Translated by AI — the meaning has been preserved, not the prose.

Main idea

A payroll system needs the leave taken this month by employees. The reflex is to point to the leave-management system, so as not to duplicate the data. The opposite choice is better: integrate that leave into the "payroll variables" domain, in the form payroll knows how to handle.

The reason is neither performance nor the availability of the neighboring system. A concept does not travel alone: in the leave domain, "leave" carries accrual rules, approval statuses, types that mean nothing on a payslip. Linking it amounts to bringing that whole original context into a domain that did not ask for it, and having to translate on every read. Copying it forces you to decide once, explicitly, what the concept means here.

A product opportunity study works the same way. Information coming from another subject is imported and adapted to the vocabulary and the questions of that opportunity, not wired to its source. The copy is deliberate: it is not redundancy, it is a local restatement that makes the information usable where it lands.

Why it matters

This overturns a principle taken for granted — never duplicate. Duplication is a flaw when two copies must stay identical; it is the right answer when the two copies must precisely say two different things, each in its own domain.

It also gives the real question to ask when facing an integration: not "how do I access this data?" but "what does it mean here?".

Nuances and limits

A copy goes stale, and nothing gives warning. The setup assumes a deliberate moment of refresh, without which the opportunity is worked up on a state of the world that has passed.

And adapting is translation work that can go wrong: the imported concept arrives deformed, and the deformation spreads without the source being able to correct it.

Open questions

  • What should trigger the re-import of information copied into a bounded context?