Summary
Design loosely-coupled, domain-aligned software architectures and organizational structures by learning the foundational principles and concepts of Strategic Domain-Driven Design (DDD).
This intensive 1-day training is delivered across two concise half-day remote sessions, specifically designed to equip your entire team with the essential, shared vocabulary and conceptual understanding of Strategic DDD.
Course focus
One of the biggest challenges of DDD and architecture in general is breaking a large system down into loosely-coupled subsystems.
This training focuses on conceptual clarity and shared team vocabulary. You will master the essential theory of Strategic DDD.
We provide the conceptual blueprint for decomposing large problem domains into cohesive, domain-aligned bounded contexts, which is critical for scaling your software architecture and organizational structure.
The emphasis is on understanding what the concepts are, why they matter for team alignment, and how to apply them conceptually to evolve your architecture over its lifetime.
We prioritize core principles and essential tools over extensive hands-on practice, ensuring maximum knowledge transfer in minimum time.
Learning objectives
By the end of this course, your team will have a solid understanding of:
- What Strategic Domain-Driven Design is and why it's critical for successful software.
- Understanding heuristics for identifying Domains and Subdomains.
- Finding where to invest by defining the strategic importance of subdomains (Core, Supporting, Generic).
- Understanding heuristics for splitting/merging and defining Bounded Contexts.
- The conceptual basis for designing contracts and integration points between contexts.
- Defining communication patterns between teams that align with context boundaries.
Agenda
This training is split into two half-day remote sessions, focusing entirely on core conceptual understanding.
Half-Day 1: DDD Foundations & Strategic Decomposition
Part 1: The Foundations of DDD
- What is Domain-Driven Design (DDD) and why it's essential for building successful software.
- Mastering the Core Vocabulary: Essential concepts like Domains, Models, and the Ubiquitous Language (UL).
Part 2: Strategic Domain Discovery
- Splitting the problem space: Understanding how to decompose Domains into smaller Subdomains.
- Alignment with the Business: Defining the strategic importance of Subdomains (Core, Supporting, and Generic).
Half-Day 2: Bounded Contexts & Strategic Relationships
Part 3: Defining Bounded Contexts
- Understanding the Bounded Context Concept and its role as a crucial software and team boundary.
- Essential principles and heuristics for identifying and defining effective context boundaries.
- Conceptual techniques for validating and challenging Bounded Contexts for better design.
Part 4: Context Interactions & Strategic Alignment
- Understanding the core Context Mapping Patterns to manage relationships between teams/systems.
- Designing the conceptual integration points and contracts between Bounded Contexts.
Training Comparison: 1-Day vs. 2-Day Formats
The 1-Day Essentials Training is a focused, high-impact session designed to align your team on the core DDD vocabulary, principles, and strategic tools.
It is concept-heavy and exercise-light, serving as an excellent shared starting point or a rapid knowledge boost for diverse stakeholders.
The 2-Day Workshop offers a more in-depth and hands-on experience. It includes extended group exercises, practical modelling sessions, and deeper content. This format goes beyond alignment — it equips teams to apply DDD principles confidently and independently in real-world projects.
You should choose the 1-Day option only when your goal is to:
- refresh existing DDD knowledge
- quickly get up to speed when others on your team already have the necessary expertise
- provide a foundation for an upcoming workshop that requires prior DDD familiarity
In all other cases, the 2-Day option is the recommended choice.
Who Should Attend?
Anybody who works in software teams or with software teams will be able to fully participate and take away conceptual knowledge they can apply immediately.
This training is particularly valuable for teams and stakeholders seeking a common language and conceptual foundation in DDD.
- Software Engineers of all levels
- Architects
- Testers
- Product Managers / Owners
- Business Analysts
- Delivery Managers
Format & Requirements
This course utilizes a mix of theory, guided discussions, and simplified examples to ensure conceptual mastery.
Limited, targeted activities will be used for demonstrating concepts, but extensive modelling practice is reserved for the 2-day format.
-
Tools: Zoom (or access to the Zoom client in your browser) and Miro (or access to the Miro client in your browser) will be used for delivery and visual concept demonstration.
-
Skill Level: You don't need prior knowledge of Domain-Driven Design, any particular programming language, or technology.