Interested in joining the User Group? Create an account and we will keep you informed of upcoming events. If you have anything to contribute, let us know through the contact form.
Multilingual DDD
During a fruitful discussion with Allard we came up with a question about multi lingual teams and customers. Why is this important? Let me try to explain.
While coding we are used to use english terms. It is a bit weird to have these english terms in programming language api's and use dutch terms in the domain. On the other hand, our customers talk dutch and use dutch terms when talking about the domain. Is that a problem? It depends, talk to the domain expert (sorry could not resist). I learned from Eric Evans that that sentence is the answer to almost all your questions related to DDD. If talk to the domain expert is not the answer, the ubiquitous language is.
Still wondering what the hack I am talking about? An example we have found is related to a customer who is selling stuff for in the bathroom. One of the items he is selling is a Wastafel. Now what name should we give that in our domain model? A direct translation would be wash-hand basin. When talking to our domain expert, we have problems explaining him what we mean. Of course we can just use the dutch terms, but than our english speaking programmers don't understand the term. Also it looks very weird in the code. Especially when you start adding methods to your domain objects. What if we want to model stop in winkelmandje? (which means place in shopping basket). How would we call our method.
I hope the problem is clear now. To my opinion we have a few solutions. Some of these solutions actually came from the audience during a tech evening discussing DDD within my company:
- Use the dutch ubiquitous language and make it ubiquitous. Then everybody needs to understand the dutch terms and the code might look funny now and then.
- Translate all dutch terms and teach the domain expert the new terms.
- Use translations in your code and keep a textual reference to the original term from the ubiquitous language.
