Summary of "From Domain Boundaries to Software Architecture - Maxime Sanglan-Charlier"

Core message

To enable independent, fast‑flowing teams you need both organizational alignment (value streams / stream‑aligned teams) and a loosely coupled software architecture that maps to domain subdomains. Achieving this requires identifying, refining and validating domain boundaries through collaborative techniques — not by one‑off rules or a rigid recipe.

Teams + boundaries + collaboration = sustainable, evolvable architecture

Key techniques, tools and workflows

  1. Event Storming (big‑picture and detailed)

    • Collaborative workshop using orange post‑its arranged left → right on a timeline and phrased in past tense (domain events).
    • Invite cross‑discipline participants (developers, product, testers, customer support, accountants, etc.) to reveal different perspectives.
    • Run high‑level sessions to propose candidate boundaries, then follow with detailed sessions to flesh out scenarios and edge cases.
    • Optionally annotate events with metrics (frequency / severity) using colors.
  2. Heuristics to identify subdomains from an event storm

    • Treat each step in a process as a starting subdomain candidate.
    • Identify horizontal (shared) concerns that should be separate (example: notifications).
    • Look for semantic/name differences — the same real‑world entity called different names in different contexts (e.g., “lead” vs “rider”) often signals distinct purposes/subdomains.
    • Be suspicious of generic names (e.g., “Management”) — they tend to accumulate mixed responsibilities.
  3. Domain Message Flow Modeling

    • Choose reference scenarios (user stories / important flows) and model messages (commands / events / queries) between actors and subdomains.
    • Visualize payloads and interactions to spot smells: too many synchronous queries, components that merely pass through commands, hidden dependencies.
    • Use the visual models to compare alternative designs (copy / paste / edit) and to challenge assumptions.
  4. Bounded Context Canvas

    • A canvas to turn fuzzy boundaries into a clearer design artifact: name, purpose, strategic classification, roles, messages in/out, domain terminology, and business rules.
    • Helps reveal cohesion issues, conflicting responsibilities, and where to split or merge subdomains.
    • Treat the canvas as a design snapshot (not mandatory long‑lived documentation); capture it in ADRs if helpful.

Architectural and organizational guidance

Concrete examples & case studies used

Practical tips & takeaways

Resources and recommended followups

Main presenters / sources

Category ?

Technology


Share this summary


Is the summary off?

If you think the summary is inaccurate, you can reprocess it with the latest model.

Video