Strategic Domain-Driven Design
Virtual Workshop

big picture.png

Curriculum

Session 1 – Collaborative Modeling

  • Understand what kinds of business problems DDD addresses

  • Explain the central role of software design and how DDD fits in

  • Describe the importance of growing a shared language in the communication gap between business and technical people

  • Apply EventStorming for whole–team collaborative domain discovery

 

Session 2 - Language and Boundaries

  • Explain the connection between domain modeling and refactoring code towards a ubiquitous language

  • Apply connascence as a way of thinking about software dependencies

  • Describe key techniques for identifying context boundaries

  • Explain the benefits and challenges of implementing robust anticorruption layers

 

Session 3 – Scaling Contexts

  • Summarize key details, pros, and cons of the DDD context relationships

  • Organize context relationship based on the degree of coupling and control

  • Diagram a context map for your existing software landscape

  • Describe techniques for enabling and strengthening component and team boundaries

  • Summarize strategies for leveraging legacy systems as assets

  • Choose between the bubble and autonomous bubble approaches

  • Explain tradeoffs when exposing legacy assets as services

 

Session 4 – Domain Decomposition

  • Summarize the importance of domain distillation to sustainable design

  • Explain characteristics of generic, supporting, and core subdomains 

  • Relate subdomain types to market differentiation and mission criticality

  • Describe how core domain relates to domain modeling approaches

  • Classify tactical activities according to the appropriate subdomain

  • Distill your team's subdomains

  • List heuristics and techniques for domain decomposition


 

 

"This class is going to change the way you do your modeling and help you code maintainability and readability."

 

"This training is wonderful! You will really deep dive into DDD topics and be able to exercise what you learn in an environment that supports collaboration and learning through practice. The experience is further customized by group conversations involving how the lesson topics apply to different areas of confusion or difficulty in your company. This makes the lessons easy to take back to the office and apply with your team."

 

"Informative, eye-opening, and practical. Paul's examples are very helpful and tangible! It helped me connect academic concepts to real-world examples."