School for Software Engineering (SSE2021)

(Timezone - Europe/Warsaw)

Software architecture driven by domain – the DDD approach

In its core, Domain Driven Design consists of Strategic and Tactical design. Strategic Design is a set of principles and patterns for maintaining model integrity, distilling the Business Domain Model, and working with multiple models. Strategic design is very useful to divide a large and complex business problem into multiple chunks with clear boundaries and specific responsibilities and build a high-level software design topology.

SSE will be delivered in online classes led by external trainer Jacek Majchrzak ( via Zoom and Miro. Access details and video link to the online sessions will be provided one  week before the start of the training. 

Recent updates and collaboration space are delivered through the wiki (

19 / 20
  • Jakub Falkowski
  • Magdalena Rzaca
  • Marcin Burczyk
  • Michał Jankowski
  • Milica Ristic
  • Paweł Dziubiński
  • +13
    • 10:00 AM 2:00 PM
      Short theoretical introduction 4h

      Short theoretical introduction
      What is DDD?
      Domain and subdomain
      Event Storming or Domain Storytelling workshop based on case study (participants
      business example or other)

    • 10:00 AM 2:00 PM
      How to decompose the domain 4h

      Why we need to decompose the domain?
      Sociotechnical architecture
      System/service landscape design
      Design org structure
      IT product portfolio management
      Business Capability vs Domain vs Subdomain
      Business Capability Modelling workshop (based on day 1 case study)

    • 10:00 AM 2:00 PM
      Understanding domain classification, models and bounded contexts 4h

      Types of domains
      core domain, generic subdomain, supporting subdomain
      Core domain chart with Build vs Buy - workshop exercise
      Introduction to models
      Ubiquitous Language
      Bounded Contexts
      Bounded Context candidates - workshop exercise

    • 10:00 AM 2:00 PM
      Decomposing solution into bounded contexts 4h

      Decomposing solution into bounded contexts and understanding interactions (between contexts and teams that own them)
      Design heuristics
      Domain Message Flowing Modelling (validate bounded contexts interactions) -
      workshop exercise
      Introduction to socio-technical architecture and team topologies
      Context mapping and team topologies - workshops exercise