Event Storming is a goal-oriented workshop that helps you understand how your product really works. The workshop is useful when you plan to build an application from scratch or expand your current system, for example. At Studio Software, we have always put our clients’ needs first and that is why Event Storming has become an essential part of our offer.
Let’s explore this process step by step. In this article, we’ll show an Event Storming example and present the business benefits of such workshops.
Table of Contents
Event Storming: A Short Definition
What is Event Storming? We answered this question in detail in one of our articles, so now we will provide just the key information as a reminder.
This technique was created by Alberto Brandolini, and the first mention of it appeared in 2013. Event Storming is a well-planned workshop method that leads to exploring complex business domains. In other words, it helps you fully understand how your application works. By analyzing specific events taking place in the domain, you can get a bigger picture of the product development. The workshop’s duration depends on the scope of the project and the client’s needs, but it usually takes one or two days at most.
Understanding the different processes in your system is valuable both for you and for us. The workshop provides key information about your needs and the nature of the project. For us, it’s a great knowledge boost that allows us to build a product that meets your expectations.
Conducting workshops properly is essential, so we regularly improve our skills and knowledge by participating in training sessions. Our wide expertise helps us conduct it more and more efficiently.
Recently, we took part in comprehensive training where we explored the best workshop practices and the method of mapping the value stream. We also learned the best Event Storming examples. The training was led by an Event Storming expert – Radek Maziarka, so we had a great opportunity to learn from the best to boost our future workshops’ potential.
You’re probably curious about the workflow of this technique. Keep on reading to find out how this process works in practice.
How Does It Work? An Event Storming Example from Real Life
It’s time to dig deeper into an Event Storming example and focus on the process itself. Below you can read about our process of analyzing a ticket-ordering system for a cinema. Learn how we would conduct this workshop type step-by-step.
1. Explore Your Needs
At the very beginning of the workshop, it is crucial that we get to know each other and talk about your goals and needs. Therefore, we always start with a short introduction, where everyone briefly introduces their role in the project. From our side, we provide the following participants:
- Technical experts
- Business experts
- A trained facilitator (leader)
We start with a general conversation about your project and experience, asking for all the necessary information to understand the nature of the project and the problems you want to solve. The goals may differ depending on the specific project—from rebuilding some processes to streamline app development, defining the scope of the project, finding out how the application works, or starting the next stage of development. In our example, the focus is on understanding exactly how the ticket-purchasing software works.
- You get to know the team and its competencies.
- You get a brief overview of your project and goals.
2. Briefly Introduce the Event Storming Method
The next step is usually focused on discussing the Event Storming method. We remind you of the nature of the workshop to ensure that every participant understands the general idea behind it. We also present a contract that includes a set of effective meetings’ rules, for example, a rule about breaks or using mobile phones. We highlight how important is each participant’s engagement and we apply the rule “there are no stupid questions” allowing everyone to share their thoughts during the whole process.
Our facilitator explains the principles of the process in detail and encourages various activities that will help you get the most out of it. It is also a good time to talk about your expectations regarding the entire process.
- You get a full information package about the workshop.
- You know what to expect and how to use the workshop’s potential.
3. Get to the Heart of the Workshop: Event Storming Example
After the short introduction, we start the most important part of the workshop: a detailed analyzis of all the events taking place in the application. The process is quite simple. Everyone writes on sticky notes the various events (called “Domain Events”) that occur when the system is running—for example, “ticket was bought,” “seat was selected,” and “payment was collected.” Then we stick notes on the board. In other words, we identify every event that occurs in the application.
It is important to note them in the past tense so that we can answer the question, “What event has happened in the domain?”
Then we move on to the commands and identify the user actions that result in the event. Let’s use our example of the online ticket-buying system and the event of booking a seat in the room. What actions led to ticket reservation?
- The user saw the cinema room view to select the seat.
- The user clicked on the selected seat to make a reservation.
- The next steps appeared, including the option to provide data and choose a payment method to complete the booking.
At this stage, it is also important to establish different rules and scenarios for the chosen action. For example, what happens if the payment cannot be completed?
Of course, we’re presenting only selected examples. We analyze each event carefully, taking into account all the actions and possible results of every little one. This process also includes external systems, enabling you to see all interactions with them. Even though some actions may seem simple, we can identify multiple scenarios during the workshop to keep an eye on. For instance, we can create different paths according to the user’s needs, such as what happens when they want to buy a ticket without logging in or how to deal with failed payments.
The last stage of this process concerns the appropriate grouping of all information and creating a clear path for the system’s operation.
- You understand your system’s operation comprehensively and can see all the necessary functionalities and integrations for implementation.
- You identify possible problems and difficulties.
4. Final summary
Finally, we make a summary of all information and analyze the collected conclusions. The workshop provided a massive knowledge about the processes taking place in the application and all roles in the system. Additionally, we can comprehensively look at the project, assess its complexity, and prepare an IT project cost estimation more precisely.
Event Storming Example: All the Business Benefits Once Again
We have presented an Event Storming Example with the stages that make up the entire process. Let’s sum up all the benefits of Event Storming:
- You will comprehensively analyze your system and see all the functionalities needed to create it.
- You will identify the necessary integrations to implement.
- You will notice the system’s complexity and look at it from a different perspective.
- By carefully analyzing your project, you will verify your original idea and see what was not included in the earlier stages of project planning.
- Our team will understand your needs thoroughly and receive all the necessary information to create a dedicated product
- Based on the knowledge gained during the workshop, we will present a much more accurate estimate for your project.
The scope of the workshops is always tailored to the client’s needs and the specific project. The technique is used both at the beginning of application development and in further stages, especially when developing complex software. Comprehensive knowledge about the application’s operation is crucial for our team to get started with the project and start the programming work.
Are you wondering how Event Storming can help your company? Contact us, and we will help you develop your dream product.