In a previous post we discussed communication being key if we want to apply Domain-Driven Design into a project. Let’s dig a bit deeper on that, shall we?
We said that a model of a domain is consciously selected information from the domain itself, this information can have multiple shapes, let’s enumerate some of them:
- A diagram using UML
- A text document
- A conversation recorded in a tape
- A video of a domain expert talking about a subject related to our domain
- A photo taken from a sketch in a blackboard
- A wireframe of a user interface
- and finally our code and artifacts
Often, a team that works together to solve a problem is composed of several people, but there are two roles that have a lot to say in terms of DDD: domain experts and developers. People in these roles use their own jargon when they speak to their equals. For instance, developers talk in terms of classes, methods, properties, tables, columns, rows, fields and so on while domain experts use the jargon of their field of expertise. A project can be at risk if its team do not use a common language and instead different members use their own specific terminology. The domain model is the common language and is what Eric Evans baptised as the Ubiquitous Language for the team.
The ubiquitous language is something that has to evolve during the whole lifecycle of the software. At the beginning it will be difficult, because there are terms that domain experts are not used to because they are quite technical and the same for the developers because of the lack of knowledge about the domain. But we must persevere and the team will benefit from it.
So how can we capture this new lingo? Vaughn Vernon proposes some options as first steps:
- Draw pictures of the physical and conceptual domain and label them with name and actions.
- Create a glossary of terms with simple definitions. List alternative terms, including the ones that show promise and the ones that didn’t work, and why.
About The Author
I’m extremely passionate about knowledge; wherever I go, you will always find a book inside my trusty rucksack - it could be a technical book, a novel, essays; anything that broadens my mind and understanding.
- 18th April, 2018
- 18th April, 2018
- 8th March, 2018
- 31st January, 2018
- 30th January, 2018