Evolving a Domain Language

You are collaborating with people from across the organisation and find that a language that was used does not fit within the new problem space.

You have read Domain Driven Design.


New maintainers need to understand this concept, or new work will build from this concept making it harder to change.


Find stakeholders that are subject matter experts and create Decision by Building Consensus around new language. Use tools described in Domain Driven Design to drive this process.

Do not reuse a name as a different concept, instead leverage new language to describe the problem.


Pick 3 alternative names and reasons behind them.

Align with stakeholders by raising creating documentation artefacts as ADR or RFC.

Migrate references in code following Rename Class Pattern.


See Patterns List for the complete list of all patterns on this wiki.