
"Where do I start?" is a question that often arises when discussing or thinking about adopting event-driven architectures. While event-driven architectures is seemingly simple to get started, there are many considerations when adopting EDA as a strategy for your business.
It's not uncommon for teams within company to each have their own understanding their problem domain. When domain experts and technical teams are misaligned, it's hard or impossible to innovate and move quickly because of miscommunications.
Have you worked at a company where a product team comes up with a list of requirements and throws that list to the developers to build? That is an all-too-familiar scenario that typically doesn't lead to success. When the domain experts and engineers operate in their respective silos details are lost and assumptions are made . The end result is a product that may not solve the business problem, technical debt that makes adaption hard or impossible and frustrations across an organization.
EventStorming is a technique that aims at bridging these gaps between business and engineering to reach a shared understanding. A side effect of this shared understanding is better software that can adapt to changes and solves real-world problems for customers.
It’s developers’ (mis)understanding, not domain experts’ knowledge, that gets released in production.
- Alberto Brandolini, EventStorming creator
A business domain is the area you and your company are working. You create solutions within this domain to provide value to your customers and to make money or exist as a business entity. Most business domains are complex enough to contain subdomains. An overly simplistic example is e-commerce. Shipping, billing and customer support are examples of subdomains within the e-commerce business domains. Each subdomain may itself have multiple boundaries inside that need specific solutions in order to provide business value. For example, the customer support subdomain may contain multiple software systems to handle returns, billing, and website orders.
The natural question is how do you identify, define and break down a domain and its subdomains so that you can solve the challenges in each of them? EventStorming can help. The outcomes from EventStorming sessions vary depending on why type of session you are running, but the goal is always the same: to come to a shared understand of a business process and model so that you can build and deliver the right solution for your customers.

EventStorming facilitates a shared understanding by getting domain experts in same physical or virtual room to map a business process collaboratively. Through this exercise, people can ask questions, sequence events in the business process, call out challenges and together build a model of how their business process works, or should work.
EventStorming focuses on understanding vs. solutioning. Through EventStorming, you can find subdomains, identifying bounded contexts and most importantly discover these collaboratively with a cross section of your business. During the process you use domains events as a language to describe the process that you will model. In event-driven architectures, you can use these boundaries and events as a starting point when you start to build independent and loosely couples systems.
EventStorming is a technique that is not limited to event-driven architectures, but is a natural fit. If you're using or plan to adopt an event-driven architecture strategy, we strongly suggest starting with EventStorming.

Graphic showing three different types of EventStorming sessions, their focus and who participates.
There are different types of EventStorming sessions with different participants and different outcomes.
Continue reading to learn how to use EventStorming and the benefits it provides. The following sections are sequenced and offer a pathway to run a Big Picture session.