Interviewing Subject Matter Experts (SMEs) with Domain-Driven Design (DDD) in Mind

Luca Vettor
3 min readMar 27, 2023

It’s all about words, yet just a few professionals in the software industry pay enough attention to them: why?

Photo by Startaê Team on Unsplash

In his presentation What is DDD at the DDD Europe 2019, Eric Evans says a simple truth: when designing software, there are two perspectives to reconcile — the perspective of software engineers and domain experts. They are the personas that impersonate the solution and problem.

Evans starts with a crucial warning when modeling a problem: the tendency to perfectionism. That’s detrimental because a model can only catch part of reality and serves some uses only. It’s a huge mistake to look for an abstract and all-encompassing model.

What is DDD — Eric Evans — DDD Europe 2019

The recipe to beat the tendency to perfectionism is straightforward: base modeling on examples. And listen to the domain experts’ words when they give examples of the problem to model.

Words reveal concepts that are the building blocks of a model.

“Pay attention to the words,” Evans admonishes. At the same time, don’t look for a complete description of the domain — the tendency to perfection — but list the examples in which the problem needs a solution and pay attention to the words that domain experts use to describe them.

Words, those undervalued things

We are so used to speaking and reading fast and furious that words tend to be sounds and signs instead of carriers of meaning. And that may happen when interviewing a subject matter expert (SME).

More than once during the presentation at DDD Europe 2019, Evans suggests writing down the domain expert descriptions as pseudo-codes.

Discipline

Listening to words as carriers of meaning requires discipline because of the need to slow down the rhythm of communication. When interviewing SMEs, speed is a risk more than a value — the risk of under-evaluation of a word’s weight in crafting the most convenient model to describe the problem.

It is counterintuitive that you must have the patience to give time for thought to form and ground decisions to be fast. And what’s counterintuitive needs discipline.

Like in investment, you act now by thinking of the results in the future. If you expect to invest for immediate results, you will fail.

Analogously, if you neglect words, your model quickly gets out of control, and your solution will fail.

Unbelievable

The recipe under DDD is unbelievably simple:

Distinguish between problem and solution, pay attention to words, and craft the most helpful model to describe the problem. Then, build software — the solution — to automate the model.

What I love about DDD is that it melts complexity down. That doesn’t mean that design becomes easy. Instead, it makes modeling a need and a science.

Takeaway

It’s all about words.

Words have the incredible power of being the building blocks of thinking. Each word you say has a world and a story behind it that craft its meaning and determine a link with the piece of world it indicates.

DDD brings to the table the awareness that each word is a model.

Back to the daily life of a technical writer, when interviewing SMEs, you’re getting their explicit model of the subject matter, but the implicit one too. So, listen to the words they use and build the solution by adopting the exact words SMEs use to describe the problem.

Willy-nilly words will determine your success: pay attention to them!

My truth: Things are less complex when you write them down!

Not a Medium member? If you enjoyed my article and found it helpful, please consider joining Medium through my referral link: you’ll support my writing and get into a sea of knowledge.

--

--

Luca Vettor

My 24 years in the IT industry and physics degree flow into my mission: simplify what appears complex.