Ubiquitous language

Domain-driven design gives us the concept of a ubiquitous language, which is like a consistent ontology for software projects.

The idea is that all of a project’s stakeholders agree on a common language. Rather than the domain experts and the technical experts each using their own industry jargon, a shared vocabulary is developed that all parties understand.

This common language is sourced from the domain’s real-world concepts and terminology, and it is applied ubiquitously throughout the project, from the system diagrams via the test suites to objects that make up the source code itself.

The ubiquitous language need be nothing more complicated than a glossary of nouns and verbs that can be used together to describe all aspects of the domain.