Domain Discovery Workshop
A solo workshop -- 90-120 minutes -- that turns your capstone scope into a domain model. You will leave with an EventStorming artifact, a subdomain classification, and a glossary.
Retrieval Prompts
- State the constraints on an EventStorming event (tense, form, granularity).
- What is a hot spot and where does it go after the workshop?
- Define core, supporting, and generic subdomains in one sentence each.
- What does ubiquitous language mean for a solo capstone?
- Why must glossary terms appear literally in code, diagrams, and the design doc?
Compare and Distinguish
- event versus command versus query
- hot spot versus unknown versus bug
- core subdomain versus "the part I want to build myself"
- ubiquitous language versus naming convention
- bounded context versus module
Common Mistake Check
Identify the error:
- "Add note" as an EventStorming event.
- "All my subdomains are core because I'm building every line of code myself."
- "My glossary has 3 terms -- my domain is small."
- "Authentication is core because auth bugs are dangerous."
- "I'll build the glossary at the end when I know what to call things."
Mini Application: Three Artifacts
Artifact 1 -- EventStorming pass
Block 45-60 minutes. Brain-dump 20+ past-tense domain events for your capstone. Arrange left-to-right on a timeline. Add commands and actors. Mark hot spots. Draw cluster boundaries.
Capture in library/raw/domain/eventstorm.md (text is fine -- - event bullets grouped by cluster). Every hot spot must either map to an existing risk-register row or a new one added today.
Artifact 2 -- Subdomain classification
Take each cluster from the EventStorming pass. For each, write one sentence: "the reason this exists is X." Apply the core / supporting / generic rubric. For each supporting and generic, decide build / buy / skip.
Commit to library/raw/domain/subdomains.md as a table:
| Subdomain | Type (core/supporting/generic) | Reasoning | Build / buy / skip |
Artifact 3 -- Glossary
List every noun you have used so far. Collapse synonyms. Pick winners. Write a two-line glossary entry per term (definition + where it appears: code, DB, URL, diagram + forbidden synonyms).
Commit to library/raw/glossary.md. Then immediately search the repo for any losing synonyms and rename them.
Evidence Check
- EventStorming artifact has 20+ events, 3-5 hot spots, 2-3 cluster boundaries.
- Every hot spot is on the risk register.
- Exactly one or two subdomains are marked core, and you can defend why each.
- Glossary has 10-20 entries with explicit "not called" synonyms.
- Every glossary term is already used consistently in the code you have (grep passes).
- The core subdomain is the one you plan to spend the most hand-coded effort on in weeks 2-5.