7

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?

Community
  • 1
  • 1
mostwanted
  • 1,549
  • 3
  • 13
  • 21

1 Answers1

6

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.

Alexander Langer
  • 2,883
  • 16
  • 18
  • can you clarify what you mean by a `second Ubiquitous Language dictionary`? – Matt Jun 10 '14 at 21:57
  • 1
    @AlexanderLanger: Why do you use the english terms and not the primary language german? Would using the german terms while coding be an option for you for specific projects or under specific situations? – mostwanted Aug 06 '14 at 20:12
  • 3
    @user999596 We plan for international rollout. Also, most of the software engineers available worldwide are not fluent in German. It would be an option for me if I can be 100% sure that we'll be using German-only software engineering teams and target only German market for, like, forever. – Alexander Langer Aug 07 '14 at 08:24