Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

DDD Ubiquitous Language - only english terms in code?

Using the Ubiquitous Language in the code is a major principle of DDD. What would you recommend in this szenario:

  • you create an application for an internationally operating enterprise
  • the enterprises' headquarter is located in an non-english-speaking country like germany
  • the domain expert is using german terms when he is describing the domain
  • there generally exist english terms for those german terms
  • the domain expert is using the english equivalents to the german terms quite ambiguously

would you use german terms in the code? Using english terms and a glossar seems to create some communication barrier.

On the other hand there are some very good arguments for generally only using english terms in code e.g. found here: Using a non-English ubiquitous language?

like image 516
mostwanted Avatar asked Jun 06 '14 05:06

mostwanted


1 Answers

Here is what we do, facing the same situation (German):

We create an Ubiquitous Language dictionary in German when speaking with the domain experts. This is used when talking (in German) with the domain experts, for example when analyzing business requirements or modeling/drawing on whiteboards etc.

Then additionally we have a second Ubiquitous Language dictionary in English ready, that is constructed/translated together with the domain experts - the domain experts are familiar with the respective English terms and are able to resolve any ambiguities that would arise from multiple possible translations.

The English dictionary is used when coding.

like image 105
Alexander Langer Avatar answered Nov 16 '22 06:11

Alexander Langer