Alberto Brandolini's DDD Modelling Workshop

Topics covered at DDD-MODELLING-01-03
View Schedule & Book More dates available

Next up:

Are you interested creating deeper models to increase your enterprise business agility? Join Alberto Brandolini for this intensive 3 day Domain Driven Design workshop to find the strategy that works for you!

Large scale software development projects often fail to deliver the expected value. Release after release, the resulting stack becomes unsafe and harder to change. Even worse, the fragility of the existing system, pollutes the ecosystem: relevant business requests might be procrastinated due to lack of safety, while good developers might be tempted to leave.

Domain-Driven Design attacks these problems from the source, by promoting a tighter alignment between business stakeholders and software practitioners, and a different approach for critical software development.

Join DDD expert Alberto Brandolini on this intense and interactive three days workshop and he will show you how to find the sweet spot between strategy and implementation. You will discover new ways to collaborate with stakeholders and discover how to develop software and best practices to design performing and robust architectures.

Learn how to:

  • After the class, participants will be able to choose if, when and where to apply Domain Driven Design in their own development scenarios
  • Have skills to correctly structure their domain models
  • Be able to choose the most suitable implementation strategies to the different problems at hand

About the Author

Alberto Brandolini

Alberto Brandolini can model every business domain, given enough space, a paper roll and an unlimited source of colored sticky notes (with a preference for orange ones). He calls this stuff EventStorming.

Day 1

  • Domain Driven Design at the state of the art. What matters now and why.
  • A different approach to software development: a new mindset makes DDD a perfect match for critical projects.
  • Exploring large and complex domain with Big Picture EventStorming. See and touch how different subdomains cooperate and how a business-driven structure for the software infrastructure spontaneously emerge from stakeholders collaboration.
  • Strategic DDD: the big picture. Where and when we should approach a complex software development process with Domain-Driven Design. Core Domain, Supporting e Generic Subdomains. Strategic Distillation.
  • Core Domain Strategies: managing collaboration between developers and other key stakeholders. Debunking myths about the Domain Expert. DDD as an approach to software development process: ubiquitous language and Whirlpool model. How DDD meets Agile, Lean and Theory of Constraints

Day 2

  • Discovery of the system’s behavioural model. Using Design-Level EventStorming to model critical processes and understand stakeholders needs and motivation.
  • Conceptual CQRS: how to ask the right questions and understand the most suitable architecture for the domain under investigation.
  • Aggregate emersion. Evolution of different implementation strategies since 2004. Which are the best strategies given our current technology stack?
  • Which architectures for DDD? Different implementation approaches: DDD by-thebook, Hexagonal (AKA ports and adapters), Event Sourcing and CQRS. How does it match with current software architecture paradigms?

Day 3

  • Managing Bounded Contexts: how to make multiple models co-evolve and cooperate, without trade-offs that we’ll one day regret.
  • Brownfield Context Mapping: how to quickly read the implementation scenario, and how to choose the best strategies to lead implementation. Context Mapping Patterns. Reading organisations structures and limitations.
  • Greenfield Context Mapping: strategies to manage models of growing complexity. Why, when and how to split our models. The three archetypes and their implementing patterns.
  • Event Driven Modelling: modelling a complex architecture outside-in. Patterns for discovery and modelling of a Domain Events based system.
  • Modelling our way out of the legacy: how common flaws in past approaches to modelling paved the way to repeatable strategies for large system refractoriness in the sweet spot.
  • Aggregates: boundaries and implementation strategies. Polyglot persistence.
  • Q # A: topic marketplace on the hottest topics, managed in a Kanban fashion.


If you are a Programmer, Software Developer, Tester, Business Analyst or Software Architect that wants to learn the foundations of DDD then this course is for you!