Skip to main content

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

  1. State the constraints on an EventStorming event (tense, form, granularity).
  2. What is a hot spot and where does it go after the workshop?
  3. Define core, supporting, and generic subdomains in one sentence each.
  4. What does ubiquitous language mean for a solo capstone?
  5. 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:

  1. "Add note" as an EventStorming event.
  2. "All my subdomains are core because I'm building every line of code myself."
  3. "My glossary has 3 terms -- my domain is small."
  4. "Authentication is core because auth bugs are dangerous."
  5. "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.