Friday, February 29, 2008

Localizing Domain Driven Design?

I've recently read "Domain-Driven Design: Tackling Complexity in the Heart of Software" - Eric Evans, and was pretty excited by the ubiquitous language which everybody should use, the developers, the analysts, the domain experts, etc...

There is a problem though: we - developers tend to use the english language in our code, and the clients and analysts use Romanian language (I'm from Romania). So would there be two ubiquitous languages, should the developers switch to using Romanian in their code (class names, methods...), or should the analytsts switch to english terms?

For example, we are developing a GIS application, so we (the developers) use terms like "feature", "feature type", "feature attribute", "feature store", "layer", "map context", and other words used by all GIS applications and by OGC. I can't imagine
how we should understand each other if we were using the Romaning translations of these words. So, we can't switch the ubiquitous language to Romanian, but I believe that we can't use english terms with our clients either. There is an important thing to mention: there are no domain experts for GIS involved in our project; there are only clients who want to see a map, so we have to define our own ubiquitous language. So what to do?

I'm e developer, so I tend to use english for the ubiquitous language...

No comments: