Domain Driven Design

Accreditation with the iSAQB is currently being worked on and has not yet been completed!

Revolutionise your software development with Domain Driven Design! Immerse yourself in the world of domain-driven architecture and learn how to solve complex business problems elegantly. Our course teaches you the essential concepts and practical tools to develop software that perfectly reflects your customers' needs. Be ready to take your development practice to the next level and sign up for our Domain Driven Design course now!

Certifications

There is no exam after the training. The training is suitable for earning credit points for the Certified Professional for Software Architecture Advanced Level (CPSA-A) exam. Before certification is finally achieved by completing a thesis, 70 credit points must be earned in advanced training courses such as this one. After completing this training, participants receive 20 methodological competence points and 10 communicative competence points. No technical competence points are awarded.

Objective

Domain-Driven Design is an approach to software development that focuses on the complexity of software projects by focusing on the core business of the organization and its logic. Participants will learn the basic concepts and building blocks of DDD, including ubiquitous language, domains, subdomains, bounded contexts and context maps. The training teaches how to effectively model complex business domains and how to map business processes into software. In strategic design, we learn how to divide a system landscape into bounded contexts and how to develop effective communication and integration between these contexts. We also deal with tactical patterns such as aggregates, entities, value objects, repositories and services. We use these to create a clean, modular and maintainable code base.

Target audience

The training is suitable for anyone involved in the design, development and management of software products who wants to understand the importance of the business domain in software development. These are typically software developers and programmers, software architects, enterprise architects, project managers, business analysts, product managers, quality assurance teams, UX/UI designers and IT managers.

Duration

  • 3 consecutive days on site or online

There is no exam after the training. The training is not yet suitable for earning credit points for the Certified Professional for Software Architecture Advanced Level (CPSA-A) exam.

Prerequisites

**Participants must "not" be Certified Professional for Software Architecture Foundation Level (CPSA-F) certified. The following knowledge and experience is an advantage but not a prerequisite:

  • Knowledge of agile methods of software development, such as Scrum, Kanban, XP, etc.
  • Fundamentals and advanced concepts of object-oriented software development
  • Experience in collaboration between specialist departments and software developers
  • Experience in modeling object-oriented architectures

Teaching material & media support

  • Preliminary information
  • Slide deck
  • Vlad Khononov "Learning Domain-Driven Design: Aligning Software Architecture and Business Strategy" 2021, ISBN 978-1098100131
  • Prepared Miro Board (mainly used for online training)
  • Kahoot quizzes
  • Exercise sheets with excerpts from case studies

Modules and content

A brief introduction to the training

  1. We introduce ourselves
  2. Training content and organisational matters
  3. The iSAQB® Training & Certification Programme

A. Basic principles and philosophy

  1. Cognitive Team (over) Load & DDD
  2. The central importance of the business domain in the DDD
  3. Other relevant concepts in DDD

B. Strategic Design: Creating a holistic view and setting boundaries

  1. The focus of Strategic Design
  2. Generating and structuring business knowledge through collaborative modelling
  3. Bounded contexts: Specific areas of the business domain
  4. Context Mapping: Integration strategies for Bounded Contexts
  5. Further methods & techniques for acquiring domain knowledge

C. Tactical design: Implementing business logic and domain models

  1. The focus of Tactical Design
  2. The key elements of Tactical Design
  3. Architectural styles in the context of DDD

D. Practical way of applying Domain Driven Design

  1. The optimization of refactorings using DDD
  2. Tools & resources for technical implementation
  3. Establish DDD in your own organisation