DEV Community

Cover image for Event Storming: The Game-Changing Technique You Wish You Knew Sooner!
Dmitry K
Dmitry K

Posted on

Event Storming: The Game-Changing Technique You Wish You Knew Sooner!

Hello folks, and welcome to another series of Tech Setters where we discuss tech, technologies, and computer science in general. Today, we talk about Event Storming, a technique that could be invaluable not only for those of you thinking about starting your own startup but also for those working in established companies or large corporations. It's a practical tool for everyone involved in the software development lifecycle, whether you're at the drawing board of your entrepreneurial journey or navigating the complexities of existing business processes as a high-level manager.

Before we dive deep into the world of Event Storming, let's address a common problems many face during the transition to a microservices architecture, using it as a typical example. Making this leap often results in multiple questions from all involved stakeholders:

  • How to properly design microservices?

  • How to share and manage data models?

  • How to define the boundaries of a service?

  • How to determine the service context?

  • How to delineate context boundaries?

  • To duplicate or not to duplicate data across services?

  • How to divide into microservices based on subject areas?

  • What is the algorithm for transitioning to microservices?

  • How to avoid creating a distributed monolith?

And indeed, how to design correctly? There is no one-size-fits-all answer. If there were, it wouldn't last long before another competitor idea aimed to take the throne! However, there are best practices that have proven their worth in the field. And one such practice is Event Storming.

Why Bother Reinventing the Wheel or What is the Value of Event Storming?

Complex systems are often developed by large teams where few, if any, fully understand the entire domain of the project. Each team member might know their own piece of the puzzle, but combining these pieces into a coherent whole is challenging. Teams frequently encounter incomplete, contradictory, or incorrect requirements and often dig themselves deeper trying to solve issues with technical solutions. This happens because no technology can fix "bad" requirements.

To achieve a common understanding (sometimes called a shared mental model) of the business process of the product being developed, it's essential to bring together domain experts or SMEs (Subject Matter Experts) and equip them with an effective and understandable knowledge extraction tool. Event Storming is simply one of such tools.

👉 Curious to know more Event Storming? Then check out my full article to know how to close the gap between technical teams and business strategy!

Event Storming

Top comments (0)