Why event storming?
Some of the most common problems in application development are losing vision of the end goal, vague requirements, miscommunication, not the right team members and failing to change. But the good news is that there’s one method that emerges as a solution to almost all these problems – Event Storming, a method designed by Italian software developer Alberto Brandolini in 2021.
He recognized that it’s important to gather all key stakeholders and employees in one place to accumulate knowledge and spread focus from key activities to other aspects like commands, roles, interaction with other systems, pain points, and possible solutions.
However, implementing this method in a reasonable time frame can be challenging, particularly when dealing with a large group of people and wealth of information. To ensure success, communication with the customer is crucial, and a skilled business analyst can help recognize the customer’s real needs, even they are not fully aware of them. This is especially important, given that collecting requirements and recognizing pain points is not always easy, as demonstrated by The Standish Group’s study.
According to their studies, 49% of new application development projects fail (either users reject the application, or the organization stops the project before competion), 47% are challenged (breaking the deadlines and the budget), and only 4% end up successfully.
Therefore, utilizing Event Storming to address these common problems can significantly improve the chances of success in application development.
What does it look like?
This approach is recognized in the Domain-Driven Design community as a technique to rapidly capture a solution design and improve the team’s understanding of the design [3]. The key is in its specific structure and many colorful post-it papers. Every color should be assigned to one type of information.
Orange – Events. From the name of the technique, it can be concluded that everything starts with events. Participants try to write down all the events that occur in the process – one event per paper. Events are in the past tense („Order is placed“ or „Ticket has been purchased“). The result is a structured process with all the related activities.
Blue – Commands. Commands are requests from a user, system or another event. For each event, participants try to recognize the action that triggers it („Place an order“, „Buy a ticket“.)
Yellow – System or Users who are associated with the event or triggered the action. For example, if the event is „Item has been purchased“, on yellow paper is written „User“.
Red – Questions, potential problems. During the workshop, participants will express which parts of the process are undetermined, where are problems and what would they like to change. Those are valuable information that makes an impact on the solution and needs to be written down.
Those are the main parts, but others can be added if they are relevant. For example, aggregates for better organization or policies if there are many business rules to have in mind.
In the end, depending on the complexity of the business process, we get something like this:
And now, if we go back to the previous question – going through this process step by step, writing information on colorful papers, putting them into the right places and discussing with all the important participants at once can save us a lot of time. It also gives us a structured overview of the business process. Imagine how much time and effort it would take to talk to each participant separately. Would we get all this information?
Who to invite?
The hardest part of preparing an Event storming workshop is to decide who are important people and gather a team. Knowledge distribution often looks like in Picture 3.
One person who knows everything does not exist. We need to make sure that all the participants form a group of people who can cover all parts of the process that are relevant to us. It is also important to invite at least one stakeholder who is familiar with the company vision and the goals that want to be accomplished with this project. He keeps us on the right track. On the other hand, it should be considered who will participate from the application development team. Usually, it is good if BA has the support of a developer who can instantly decide if something is doable from the technical side.
When to use event storming?
The most obvious time to use event storming is at a project’s inception, so the team can start with a common understanding of the domain model. It is also useful to apply it at the end of the project to capture and share what the team learned in the process of building the software. [4].
Except in the process of creating a new software solution, this technique can be used for improvement. So, storming can help in implementing a new feature, beginning a new story or finding an alternative to a current process.
Pros and Cons?
As it was mentioned, probably one of the biggest advantages is that it is fast. Event storming reduces the time it takes to create a comprehensive business domain model. What would usually take weeks can be achieved in one day. Secondly, all stakeholders can join. That leads to discussions and discovering gaps, resolving misunderstandings and developing new ideas and solutions. Furthermore, Event Storming breaks the process down into simple terms that both technical and non-technical stakeholders can understand. [6]
On the other hand, having a lot of participants in an in-person session can be hard to handle. Sticky notes can easily get out of control so it is important that the facilitator is well-trained. Also, during the workshop, some questions may arise and we realize that one of the key participants is missing.
Conclusion
Perhaps the greatest value of event storming is in the conversations it generates [7]. If we go back to why so many projects are challenged or failed, we can see that this method can make a difference. It doesn’t take much preparation but gives concrete results which can contribute to the creation of optimal software solutions.
Are you are interested in learning more about this method or attending workshop? Feel free to contact us!
[1] Modernization – clearing a pathway to success
[2] Why do 49% of the Software Projects fail? What to do to ensure a Project’s success.
[3] Event storming
[4] An introduction to event storming: The easy way to achieve domain-driven design
[5] 8 steps in the event storming process