EventStorming

Utilize EventStorming to uncover implicit details and design our application, fostering collaboration between developers and domain experts.

If we recall the MallBots application pitch, we are building an application that is not a typical e-commerce web application but not too far removed from one either. Just before the pitch, a diagram was also shared that showed a very high-level view of what the final application would be comprised of. Getting from the pitch to a final application can happen in any number of ways. If we were to take those two bits of information and sit down to immediately start writing the code, where would we even start? Let’s see.

We’ll use the following process to arrive at a design for our application:

  1. Use EventStorming to discover the bounded contexts and related ubiquitous languages.

  2. Capture the capabilities of each bounded context as executable specifications.

  3. Make architectural design decisions on how we will implement the bounded contexts.

Finding answers with EventStorming

Getting knowledge from domain experts to developers could take several meetings. No one enjoys attending meetings that are either boring or nonconclusive. A sit-down meeting between developers, who will be asking a lot of questions and have some assumptions, and domain experts, who have the answers, could go down a rabbit hole on a single issue that has a small portion of the attendees involved.

Normal meeting etiquette is to avoid side conversations, which would waste the time of all the people not involved in those discussions. We do not want to use a meeting format that forces a group to focus on one issue after another; we should prefer a workshop format that encourages multiple conversations on issues and topics at once, such as EventStorming.

What is EventStorming?

EventStorming is a fun and engaging workshop that uses colorful sticky notes to quickly visualize the building blocks of the flows that make up our application. It intends to uncover as many of the implicit details locked away in the heads of a few people and share that knowledge with domain experts and developers alike. The workshop is made up of a series of steps that expand on the work that came before to build a visual representation of a domain or problem, as shown in the following figure.

Get hands-on with 1400+ tech skills courses.