Ubiquitous language
Ubiquitous language is the shared vocabulary that the engineering team and the business stakeholders use to discuss a domain — the same word means the same thing in code, in conversation, in user stories, and in product docs. The discipline prevents the slow drift between business intent and engineering implementation that produces 'we built what you asked for but not what you wanted'.
Ubiquitous language is a core practice of domain-driven design and is harder to maintain than it sounds. The drift happens slowly: a business term gets reused with a slightly different meaning in code; engineers introduce a synonym that fits their abstractions better; a refactor renames an entity without updating the corresponding business doc. After a year, the same concept has three names across three layers and meetings include 5-minute clarifications about which 'order' is being discussed. The maintenance discipline: name code entities after the business term, even when the business term is awkward; refactor when the business renames; reject 'engineering-internal' synonyms unless absolutely necessary.
Discussed in our use-cases
ICP-targeted pages where ubiquitous language is part of the framing.
Related terms
- Domain-driven design
Domain-driven design (DDD) is a software-design approach, formalised by Eric Evans in 2003, that places the business domain at the centre of model design.
- Bounded context
A bounded context is the boundary within which a particular domain model — its terms, rules, and invariants — is consistent and authoritative.
- Event storming
Event storming is a collaborative domain-discovery workshop technique created by Alberto Brandolini around 2013.