What is Event Storming and how is it used to design microservices?

Answer

Event Storming is a collaborative workshop technique invented by Alberto Brandolini for rapidly exploring complex business domains and designing microservices boundaries. Domain experts and developers gather around a large paper roll or virtual whiteboard and use colored sticky notes to map out the domain: orange for Domain Events (things that happened, past tense), blue for Commands (actions that trigger events), yellow for Aggregates (the business entities that handle commands), purple for Policies (rules that react to events), and pink for External Systems. As the event flow emerges, natural clusters of tightly related events and aggregates reveal bounded context boundaries and suggest service decompositions. Event Storming collapses months of requirements gathering into a one or two-day session by forcing domain experts and engineers to use a shared language.