using a ubiquitous language is the cornerstone practice of DDD the idea is simple and straightforward if parties need to communicate efficiently instead of relying on translation they have to speak the same language. The traditional software development lifecycle implies the following translations:

  • Domain knowledge into an analysis model
  • Analysis model into requirements
  • Requirements for system design
  • system design into code instead of continuously translating domain knowledge, domain-driven design calls for cultivating a single language for describing the business domain as the ubiquitous language. Only through the continuous use of the ubiquitous language and its terms can shared understanding among all of the project stakeholders be cultivated.

lddd - using the ubiquitous language