Applied Domain-Driven Design: A Guide for Senior Practitioners" explores the practical application of Domain-Driven Design (DDD) principles to address complex business challenges. Tailored for senior software architects, engineering managers, and technical leaders, this session bridges the gap between theory and practice, offering insights on leveraging DDD to drive alignment between the teams that build the software and the business that needs it.
You will engage in interactive EventStorming sessions, analyze real-world case studies, and participate in discussions to master the identification of core domains, the definition of bounded contexts, and the creation of a ubiquitous language that helps align technical and business teams. The workshop also covers strategies for integrating DDD with modern software architecture patterns, including microservices, event-driven architectures, Wardley Mapping, and Team Topologies.
By the end of the workshop, you will gain the tools and knowledge necessary to implement DDD effectively across your teams and projects, ensuring that your software architectures align with business objectives, reduce complexity, promote flexibility, and accelerate delivery.
Workshop Outline:
DDD Concepts and Strategic Practices
Apply EventStorming for High-Impact Domains
Architectural Katas for Complex Systems
Navigating Common DDD Challenges: A Practitioner’s Perspective
Key Takeaways
1 Strategic Alignment: Domain-Driven Design is essential for aligning software architecture with business strategy, enabling senior leaders to ensure their teams are building the right solutions to meet business objectives.
2 Ubiquitous Language: Understanding the importance of a shared language that bridges technical and business domains, and how its meaning shifts across different subdomains, is crucial for maintaining clarity and context in large projects.
3 EventStorming as a Strategic Tool: Learn how to leverage EventStorming not just as a modeling exercise, but as a strategic tool to uncover domain knowledge, facilitate cross-functional collaboration, and identify opportunities for innovation.
4 Practical Applications of DDD: Discover when and how to apply DDD practices throughout the software development lifecycle, from project inception to legacy system refactoring, to drive continuous improvement and maintain architectural integrity.
Speaker
Matt Foster
Technical Principal @Thoughtworks
Matt is a Technical Principal with Thoughtworks. He specializes in application modernization and helping customers rethink their legacy application architecture. Matt has led multi disciplinary teams across businesses both large and small in Europe and more recently North America. He has penned articles on the subjects of Domain Driven Design and Legacy Displacement Patterns in collaboration with Martin Fowler. A firm believer in a healthy body, promoting a healthy mind, when Matt is not immersed in technology he can be found swimming, biking or running towards his next triathlon.