Domain-Driven Design for software teams
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.
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.
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.