Model-Driven Design: From Collaborative Modelling to Code
Learn how to translate collaborative modelling into maintainable, scalable and production-ready software. Build skills in Domain-Driven Design, Test-Driven Development and tactical patterns, and discover how to preserve domain knowledge from whiteboard to working code. Available as an intensive, hands-on workshop for software teams.
Content
Many development teams are getting better at collaborative modelling using techniques such as EventStorming and Example Mapping. Yet a new challenge often emerges once implementation begins. Workshop insights gradually fade, domain logic becomes scattered across services, and the resulting code drifts further and further from the original domain model.
In this training you learn how to translate collaborative modelling into robust, maintainable software using Model-Driven Design and Domain-Driven Design tactical patterns. You gain insight into topics such as bounded contexts, ubiquitous language, entities, value objects, aggregates, domain events and hexagonal architecture. You also discover how to deliberately translate domain knowledge into code that remains readable, testable and evolvable.
The training combines collaborative modelling with intensive implementation exercises in Java or C#. You work with techniques such as EventStorming, Example Mapping, responsibility-driven design, CRC cards and outside-in Test-Driven Development (TDD). You also learn how to make business rules explicit, distribute responsibilities effectively and protect domain logic from technical complexity.
The focus is firmly on practice and application. Around 70% of the training consists of hands-on exercises, modelling and coding labs working on realistic scenarios. As a result, you develop not just knowledge of DDD tactical patterns, but the practical ability to consistently translate domain models into production code.
Who is this training for?
This training is designed for software developers, tech leads and software architects who want to apply Domain-Driven Design effectively in software development. You will get the most from this training if you:
- Are a Software Developer or Software Engineer
- Have experience with Java or C#
- Work with Domain-Driven Design or collaborative modelling
- Want to better translate domain knowledge into code
- Want to learn more about TDD and tactical patterns
- Work on maintainable and scalable software
- Want to help teams apply better software architecture and modelling
Or simply put: you want to learn how to go from sticky notes and domain models to robust, readable and maintainable software.
What will you learn during this training?
During the training you work through the complete process from collaborative modelling to working software.
On the first day you use techniques such as EventStorming, Context Mapping and Example Mapping to map out business processes, bounded contexts and domain rules. You learn how to develop a ubiquitous language and define clear software boundaries that allow teams to work autonomously.
On the second day you translate those insights into code using Model-Driven Design and Domain-Driven Design tactical patterns. You practise responsibility-driven design, CRC cards, outside-in Test-Driven Development and implementing entities, value objects, aggregates and domain events in Java or C#.
You also work with hexagonal architecture to protect domain logic from infrastructure and technical dependencies. Through hands-on coding labs you discover how to keep domain models maintainable as systems and business needs continue to evolve.
The training is intensive, interactive and strongly practice-oriented. You spend most of your time actively modelling, designing, coding and reflecting on real software challenges.
After this training
After completing the training, you understand how to translate collaborative modelling and Domain-Driven Design into maintainable and production-ready software.
You know how to use bounded contexts, tactical patterns and ubiquitous language to align software more closely with business domains. You also understand how techniques such as TDD, responsibility-driven design and hexagonal architecture help keep domain logic clear, testable and evolvable.
You leave with practical techniques, a deeper understanding of model-driven software development and concrete tools to better preserve domain knowledge from workshop to implementation.
You can also become part of the Connected Movement community, where professionals share experiences, insights and practical cases around software architecture, DDD, Agile and engineering.
About the exam
There is no official exam required for this training.
The focus is on hands-on learning, modelling and practice-oriented implementation. During the workshop you work intensively on exercises, coding labs and realistic scenarios, applying the techniques directly as you go.
Certification
After completing the training, you receive a certificate of participation for Model-Driven Design: From Collaborative Modelling to Code from Connected Movement.
This certificate confirms your participation in the workshop and your deepened understanding of Domain-Driven Design, collaborative modelling and model-driven software development.
Register
no data
Questions or looking for advice?
Wesley is available to discuss any questions you may have.
Frequently asked questions
No. A basic understanding of Domain-Driven Design is helpful, but extensive experience is not required. The workshop builds step by step from collaborative modelling to implementation. Experience with object-oriented software development in Java or C# is important.
You can work in Java or C#. The tactical patterns and modelling principles apply in the same way across both languages. Use whichever language and development environment you already have experience with.
The majority of the training is practice-oriented. Day 1 focuses primarily on collaborative modelling using techniques such as EventStorming and Context Mapping. Day 2 is strongly focused on implementation, with coding labs and hands-on exercises. Around 70% of the total training consists of active practice, modelling and coding.
You will need a laptop with a working Java or C# development environment, IDE, testing framework and Git installation. For online training, we also use Miro for collaborative modelling exercises.
Yes. Although the workshop uses Java and C#, the principles of Model-Driven Design, tactical patterns and hexagonal architecture apply to virtually any modern software stack.
Domain-Driven Design for Software Teams focuses primarily on collaborative modelling and shared domain exploration. Model-Driven Design: From Collaborative Modelling to Code goes a step further and focuses explicitly on translating those insights into maintainable and production-ready code using tactical patterns and TDD.
No. The training is strongly practice-oriented and interactive. You work continuously with realistic scenarios, modelling exercises and coding labs, applying techniques directly as you go.
Yes. This workshop works particularly well as in-company training for software teams. Teams work together on familiar domains, shared modelling techniques and common software principles. This makes a significant difference for alignment between developers, architects and tech leads.
Topics covered in depth include EventStorming, Example Mapping, bounded contexts, ubiquitous language, TDD, entities, value objects, aggregates, domain events, CRC cards and hexagonal architecture.
The training can be delivered on request in Dutch, English, French and German. Course materials are in English. When you register for a date in the open schedule, the language of instruction for that session will be indicated.
The training lasts 2 days and is instructor-led, classroom or virtual.
Yes. After completing the training, you will receive a certificate of participation from Connected Movement.


Trainers with real-world experience
Participants particularly value the combination of practical experience, in-depth expertise and immediate applicability. Connected Movement training programmes are delivered by experienced practitioners who work daily within complex organisational environments.
20+ client reviews
Finally a training that shows you how to genuinely translate DDD into code. The combination of modelling and coding labs in particular made it incredibly valuable. A solid deep-dive into tactical DDD without getting too theoretical. Lots of practical insight around aggregates, value objects and TDD. What stood out for me was the constant connection between business context and code. That made DDD suddenly feel far more concrete and applicable.



