Ubiquitous Language

Learn what ubiquitous language is, and how it helps domain and technical experts speak in the same language.

Imagine a situation in which it is necessary to translate a word into two different languages. For instance, in Italian, pasta is a type of food, but in Spanish, it can be a type of medicine. Another example is the word “gift”. In Scandinavia, it means to get married, whereas it means “poison” in German. These comparisons are mentioned because similar differences in meaning can come up when we are designing a model. These differences in meaning tend to cause problems and misunderstandings between technical and domain experts.

What is ubiquitous language?

When a domain is modeled, for instance, during an event storming session, business experts may use business jargon and technical experts may use technical jargon. This will require both sides to translate the terms between these two worlds, and may cause mistranslations and misinterpretations of certain terms.

In the DDD world, domain and technical experts must speak the same language. They must use the same terminology, because this will guarantee that the software evolves quickly over time.

To solve this problem of a difference in technical and business language, DDD offers a strategic pattern called ubiquitous language. Ubiquitous language aims to avoid translations between the business and technical world to create a better understanding of the domain. Software that is built on top of ubiquitous language is easy to understand, because it reflects business terminology in its code. Such software needs access to the exact names and terms that are defined in a model.

Get hands-on with 1200+ tech skills courses.