Designing Robust Architectures with DDD and Event english virtual



Kursarrangør: Glasspaper AS
Sted: Nettkurs / Nettstudie
Hele landet
Type:Nettkurs og nettstudie
Studie / yrkesutdanning
Undervisningstid: kl 09:00 - 16:00
Varighet: 4 days
Pris: 27.900
Neste kurs: 26.10.2026 | Vis alle kursdatoer

We provide virtual course about Designing Robust Architectures with DDD and Event Storming in english. The workshop helps you connect domain analysis with hands-on implementation, using Tactical DDD Building blocks and Advanced Test Pyramid.

Course description:
This intensive 4-day workshop is aimed at architects and developers who want to level up their ability to analyze complex business domains, design modular architectures, and translate that knowledge into maintainable, testable code. You’ll learn how to use Event Storming at all levels (Big Picture, Process, and Design), how to define Bounded Contexts, and how to implement tactical DDD patterns like Aggregates, Entities, Value Objects, and Domain Events.

Learning objectives:
• Learn how to facilitate Event Storming sessions at all levels (Big Picture, Process, Design)
• Apply strategic DDD: Domains, Ubiquitous Language
• Define Bounded Contexts and Context Maps
• Design and implement tactical DDD: Aggregates, Entities, Value Objects, Domain Events
• Use Event Storming as a shared modeling and decision-making tool for cross-functional teams

Key Benefits:
• Hands-on, workshop-style learning from sticky notes to running code
• Master the full Event Storming lifecycle and its practical use in DDD
• Learn to break systems into bounded, autonomous components
• Explore the organizational and architectural trade-offs of communication strategies
• Get confident writing domain-centric tests with the Advanced Test Pyramid

Course outline:
For hands-on product engineers, architects, and analysts working on complex domain-driven systems

Module 1 - Introduction to Event Storming:
• What is a domain event and how it differs from technical events
• The mindset and principles of Event Storming
• Types of Event Storming sessions
• Understand how to model domain complexity collaboratively and visually

Module 2 - Organizing Event Storming Sessions:
• What tools and setup are required
• How to facilitate online and offline sessions
• Choosing participants and leading the group
• Gain confidence to organize and facilitate productive domain discovery sessions

Module 3 - Big Picture Event Storming:
• When and how to apply Big Picture sessions
• Differences between exploring existing systems vs. new ideas
• Learn to align the organization around a shared understanding of the system landscape

Module 4 - Strategic Domain-Driven Design:
• Ubiquitous Language and shared understanding
• Discovering Domains and Foundations for defining Bounded Contexts
• Use strategic DDD tools to draw boundaries and structure the system

Module 5 - Exploring a Realistic Domain:
• Introduce a realistic business domain
• Use notation and visualization techniques
• Explore chaos, discover chronology and causality
• Practice converting messy domains into structured maps

Module 6 - Identifying Bounded Contexts:
• Spotting language boundaries
• Creating and interpreting Context Maps
• Common pitfalls and edge cases
• You’ll define clear, robust context boundaries for code and teams

Module 7 - Cross-Domain Communication Strategies:
• Choosing between integration styles
• Understanding the trade-offs (coupling, latency, complexity)
• Learn to design communication patterns that fit your business needs

Module 8 - Bounded Contexts and Implementation:
• Architecture decisions within contexts
• Mapping contexts to team structures
• Translate strategic design into implementation and organizational structure

Module 9 - Tactical DDD in Practice:
• Aggregates, Entities, Value Objects
• Domain Services, Repositories, Domain Events
• Learn to apply DDD building blocks that support real business logic

Module 10 - Deep Dive: Process & Design Level Event Storming:
• Define Commands and Read Models
• Identify Actors, Services, and Invariants
• Discover Business Policies
• Model systems that are consistent, expressive, and implementation-ready

Module 11 - Designing Aggregates:
• Use Event Storming outcome to model Aggregates
• Model Aggregates that enforce business rules and evolve with change

Module 12 - Implementing Aggregates:
• Applying CQRS in practice
• Translating sticky notes into code
• Aggregates as state machines
• Using Event Sourcing to persist domain state
• Build code that reflects the business language, not the database

Module 13 - Testing Domain Models:
• Apply the Advanced Test Pyramid to domain-driven systems
• Use Tests to validate behavior
• Write tests that guide and verify your design, not just your functions

Target audience:
• Experienced developers, software architects
• Product teams adopting Domain-Driven Design to build scalable and adaptive systems
• Experts involved in projects that require deep domain understanding, strategic alignment, and architectural resilience

Prerequisites:
• Understanding of object-oriented programming
• Understanding of domain modeling and software architecture principles

Level:
• Advanced level

Language:
• The course is given in english

Course material:
The course fee includes course documentation