EventStorming and Strategic Domain-Driven Design
EventStorming is a collaborative workshop technique that can be combined with Domain-Driven Design (DDD) to help represent a business in a way that can be represented in software directly.
Hello, developers! 🚀
Welcome back to the Learn Agile Practices newsletter, your weekly dose of insights to power up your software development journey through Agile Technical Practices and Methodologies!
Before starting, I quickly remind you that my brand new Test-Driven Development 101 5-day Email Course is available: it is the introduction to TDD I wish I had when I started learning it, so I think you will find it very useful!
As a subscriber to my newsletter, you can have it with a 10EUR discount! 👇
Now, let's dive into today's micro-topic!
In short
🧩 EventStorming is a workshop technique used to explore complex business domains by mapping domain events. This method accelerates decision-making and reduces the need for extensive upfront documentation.
🚀 By visualizing workflows and surfacing hidden assumptions, EventStorming bridges gaps between different stakeholders. This shared understanding ensures that software architecture accurately reflects business processes, making it a key practice for companies using Domain-Driven Design (DDD).
💡 At Muffin, an EventStorming workshop helped align teams across business functions, revealing knowledge gaps, redundant workflows, and pain points. This collaborative approach enabled rapid onboarding, provided actionable insights, and streamlined product decision-making.
What is EventStorming and how does it connect to DDD?
EventStorming is a collaborative workshop technique designed to explore complex business domains by mapping out key domain events. It allows teams to visualize workflows, identify pain points, and create a shared understanding. When combined with Domain-Driven Design (DDD), EventStorming helps uncover Bounded Contexts, refine the Ubiquitous Language, and establish the foundation for a well-structured domain model that aligns both technical and business perspectives.
By rapidly surfacing insights and highlighting dependencies, EventStorming accelerates decision-making and enables iterative improvements without extensive upfront analysis. This makes it an invaluable tool in agile environments, where flexibility and adaptability are crucial. Additionally, because it brings together a diverse group of stakeholders, it fosters cross-functional collaboration, ensuring that the domain model accurately reflects real-world business operations.
If you want to align business and tech, break down silos, and create an effective domain model, start with EventStorming. It will highlight the real structure of your business before you even write a single line of code. Moreover, it’s an excellent way to foster communication, ensure shared understanding, and set a solid foundation for scalable and resilient software architectures.
How we used it
In Muffin, we leveraged the chaotic exploration phase of the EventStorming in December mainly to solve alignment from all different business people involved in the products, creating a representation of our business that helped me and the Product Manager, who joined in October like me, to build a lot of knowledge in a short period of time, while gathering feedback about problems and opportunities that people see in our business process.
By bringing together representatives from all business functions— sales, subject matter experts, success, and operations—we facilitated a cross-functional conversation that revealed:
Hidden assumptions and knowledge gaps
Inconsistencies in workflows and terminology (Ubiquitous language)
Natural divisions in the domain (Bounded Contexts)
Overlapping or redundant processes that needed consolidation
Key pain points and opportunities for automation
The result? A clear, shared understanding of our business that allowed us to align on system design, reduce miscommunication, and create a more scalable architecture. Instead of long documentation phases, we moved quickly from discovery to actionable insights, allowing our teams to iterate and experiment with confidence.
Until next time, happy coding! 🤓👩💻👨💻
🇮🇹 Calling my Italian readers!
🚀 Want to master Continuous Integration and safely hide work in progress?
Join my hands-on Mastering CI: Fast Releases for Modern Team Workshop, organized in collaboration with Crafted Software Community, where you'll learn to implement these techniques in real-world projects. Say goodbye to long-lived branches and risky deployments—embrace seamless integration with confidence!
📅 Dates: March 29th, April 5th and April 12th. (3h sessions, 10am-1pm).
🎟️ Spots are limited—Sign up now and take your development workflow to the next level! 🚀
Until next time, happy coding! 🤓👩💻👨💻