2 DAY WORKSHOP

Domain-Driven Design for software teams

Are you keen to create software that solves the users needs and meets the business ambitions? Do you want to design and architect software that is adaptable and resilient even when your business evolves? If a comprehensive design discipline is what you aim for in your software development journey, our 2-day “Domain-Driven Design for Software Teams” workshop is just for you.

This workshop is designed for anyone who is involved in creating software:

 

  • Software Developers & Engineers
  • Software, Solution & Enterprise Architects
  • Product Managers & Owners
  • Business Analysts & Quality Assurance roles
  • Engineering managers & Scrum Masters
  • Anyone interested in learning Domain-Driven Design to improve their software design process.

Trainers

Kenny Baas-Schwegler

João Rosa trainer

João Rosa

About the

workshop

Start your explorative journey into Domain-Driven Design (DDD), discovering the benefits of collaborative domain modelling alongside stakeholders and software teams.
This 2-day workshop introduces collaboration techniques such as EventStorming and Example Mapping. These tools not only transform your approach to software design but also significantly enhance communication between domain experts and software teams. This improved communication allows software teams to concentrate on the core problems they need to solve.

A key step in the learning journey is understanding the ubiquitous language, essential for defining the boundaries of a software system. During this process, you’ll use the Bounded Context pattern to create a Context Map. By understanding the relationships between different parts of the software, you can begin making design decisions. We’ll also discuss how to bind the ubiquitous language to code, ensuring a coherent software design. We’ll draw from real use cases, whether from the trainer’s experience or from the attendees. This approach allows us to navigate the intricacies and dynamics involved, providing insights into how to integrate Domain-Driven Design into your process.

Our 2-day workshop is brimming with interactive sessions, real-world anecdotes, and engaging hands-on exercises. After all, we firmly believe that true learning lies in hands-on practice.

What you will learn

  • Fundamentals of Domain-Driven Design: Explore the core concepts, patterns, principles and tools that make DDD such a powerful approach in software development.
  • Strategic Design & Bounded Contexts: Learn how to identify subdomains, define bounded contexts, and establish a ubiquitous language for improved team communication and an adaptable software architecture.
  • Collaborative Modelling Techniques: hands-on experience of context mapping, Eventstorming, and example mapping, crucial for fostering a deep understanding and creating a shared understanding within your team and stakeholders.
  • Tactical Design Patterns: Delve into aggregates, entities, value objects, domain events, and repositories, understanding how they fit into the domain model.
  • Integrative Practices: Discover how to cohesively integrate DDD into your existing development processes, including Agile, DevOps, and Continuous Delivery.
  • Troubleshooting & Best Practices: Learn common pitfalls, challenges, and best practices from real-world DDD projects to ensure your transition to a DDD approach is smooth and effective.

Before
the workshop

Prior experience in Domain-Driven Design is not a prerequisite for this workshop. To help lay the groundwork for the concepts we’ll explore, we provide an optional short introduction to Domain-Driven Design before the beginning of the workshop. This preparatory material is designed to prime your understanding and set you up for maximum benefit from the workshop’s content.
For participants keen on advanced preparation, we recommend delving into “Learning Domain-Driven Design” by Vladik Khononov. This resource offers insightful, accessible guidance for those new to DDD. Additionally, Eric Evans’ seminal work, “Domain-Driven Design: Tackling Complexity in the Heart of Software,” remains an invaluable read for anyone looking to deepen their understanding—a definite advantage for workshop participants.

Our workshop is highly interactive, designed to engage you in hands-on learning experiences. When conducted online, we utilise Miro, a versatile digital whiteboard tool, for our collaborative exercises. If you’re unfamiliar with Miro, we encourage you to take advantage of the self-paced participant onboarding course available at Miro Academy: Miro Participant Onboarding Course. This short course will equip you with the navigational knowledge needed to fully participate in our interactive sessions.

Contact