Design loosely-coupled, domain-aligned software architectures and organisational structures by learning the principles and practices of Strategic Domain-Driven Design.
This workshop has been fully designed for a remote audience using the online modelling tool Miro. The course contents will teach Strategic DDD concepts and techniques for attendees who work in remote teams or physically co-located teams.
One of the biggest challenges of DDD and architecture in general is breaking a large system down into loosely-coupled subsystems.
Working in the setting of a complex domain, you will learn the essential theory of Strategic DDD and Bounded Contexts, and then put it into practice. Using visualisation tools, you will learn how to decompose large problem domains into cohesive, autonomous, domain-aligned bounded contexts which become the blueprint for your software architecture and your organisation structure. The theory and techniques you’ll learn in the workshop will also help you to evolve your architecture over the course of its lifetime.
On your journey, you will be guided by the Domain-Driven Design starter modelling process, providing you with a structured process for exploring and identifying bounded contexts and teaching you the essential questions to ask in order to find a good design, and challenge it to find even better ones. The process will also help you to practise just enough design up-front.
- What Strategic Domain-Driven Design is
- Applying heuristics for designing bounded contexts
- Designing contracts between bounded contexts
- Defining communication patterns between teams
- Finding where to invest by defining the strategic importance of subdomains
- Part 1: Alignment with the business
- Part 2: Domain discovery with temporal modelling
- Part 3: Designing Bounded contexts
- Part 4: Bounded context interactions with design level modelling
- Part 5: Context mapping
- Part 6: Bounded context canvas
- Part 7: Strategic classification
- Part 8: Open Space
Who Should Attend?
Anybody who works in software teams or with software teams will be able to fully participate in this workshop and take away concrete skills they can apply in real working situations. The following is a selection of the types of people who may want to attend:
- Software Engineers of all levels
- Product Managers / Owners
- Business Analysts
- Delivery Managers
This workshop is highly practical and interactive, broken down into a series of lectures, group activities, and discussions. Active participation is required, as attendees should be willing to work in small groups with other attendees and contribute to remote modelling activities on a virtual whiteboard.
Requirements and Skill Level
- Zoom (or access to the Zoom client in your browser)
- Miro (or access to the Miro client in your browser)
- You don't need knowledge of Strategic Domain-Driven Design, any particular programming language or technology.
Short term it will help me to increase my team productivity with a clear process on how to think about complex problems. It's also a milestone on my long term goal to master DDD which I believe is the most important technical skill to master this decade.
— Anonymous post-workshop feedback
This workshop was a great introduction to techniques and practices for tackling a complex domain. I gained greater insight on how to approach all of these techniques and patterns. I had heard of all of these before, but this was a great way to get a better understanding on all of them.
— Anonymous post-workshop feedback