Hands-on Lab (2h)
Collaborative Data Modeling: Discovering Domain Types Through Linguistic Cues
Collaborative Data Modeling: Discovering Domain Types Through Linguistic Cues
(This is a hands-on lab with limited capacity)
How do you actually arrive at a "good" domain model? One that aligns closely with the conceptual contours? DDD's tactical patterns describe the destination—entities, value objects, aggregates—but not the journey. Especially not when that journey includes domain experts who cannot read code.
Here's a secret: domain experts already encode type structure in their language. When they say "a violation can be illegal parking or speeding," they're describing a sum type. When they say "an address consists of street and city," that's a product type. You just need to listen—and capture it.
In this hands-on lab, you'll learn Collaborative Data Modeling: a sticky-note technique that makes algebraic data types accessible to everyone. Through collaborative exercises, you'll practice hearing linguistic cues and translating them into visual models. Once the types are on the wall, the structure of your functions follows — case distinctions emerge from data, not guesswork.
Think of it as Event Storming's complement: where Event Storming focuses on what happens, Collaborative Data Modeling focuses on what kinds of things exist. Together, they give you a complete picture.
What you'll take home:
- A repeatable technique for collaborative domain modeling sessions
- The skill to hear type structure in domain language
- Understanding of how "program structure follows from data structure"
- Confidence to facilitate your first Collaborative Data Modeling session on Monday
Prerequisites
No laptop required. Basic familiarity with DDD concepts (Ubiquitous Language, Conceptual Contours) is helpful but not mandatory. We will introduce the key ideas. Come ready to collaborate and discuss with fellow participants.

