Have you ever thought that your business process might be better, but it was hard for you to indicate which part of it needs to be improved?
Or, have you ever thought that you had quite a good flow in your business but on the other hand you still had that feeling of missing some important details? Details that might turn out to be deciding for the success of your business.
Or more specifically – have you ever had troubles with mapping your business to user stories or it was difficult for you to find a common language with software developers due to the technical wording used?
If you answered yes to any of those questions – I might have a perfect solution for you: Event Storming method, which lets you create a business model that can be used during the development of almost any process. It is also extremely important to get the big picture of the environment, business needs, and goals, as well as to assess its complexity.
What is Event Storming?
"Event Storming is a flexible workshop format for collaborative exploration of complex business domains" — Alberto Brandolini (Eventstorming.com)
Event Storming is a workshop-based method invented by Alberto Brandolini in 2012 to quickly discover what is happening in the domain of a software programme. It was originally created as a quick alternative to precise UML diagramming and has its roots in the DDD approach (domain-driven design).
The technique brings all the project stakeholders together, both developers and non-technical users in order to explore complex business domains and learn from each other. Event Storming can be used as a means for business process modelling and requirements engineering.
Compared to other methods Event Storming is highly lightweight and by design requires no use of any software application (unless you do it onsite). The name was chosen to show that the focus should be put on the domain events and the method works similar to brainstorming or agile model storming.
In practice, it means Event Storming is an engaging way to bring the domain experts and specialists from different areas together in order to quickly explore complex business domains in hours instead of days or weeks.
Benefits of Event Storming
Going further there are even more benefits to this technique. Event Storming supports discovery and group learning and it is a fun way to integrate teams that can have different perspectives on the same issue. Unlike many other techniques, which are more formal or more complex, Event Storming is simple to learn and apply successfully.
The Event Storming approach meaningfully reduces the time it takes to create a comprehensive business domain model. Using this technique, you can create a mapping of a business process in hours during a single workshop. So in a day, you can accomplish results which used to take weeks.
Event Storming is not a data modelling process. Instead, it results in a fully behavioural model that can be quickly implemented and validated. It develops a shared understanding of the problem being solved and discovers potential solutions in a quick and effective manner.
Rather than using complex UML diagrams, Event Storming breaks the process down into simple terms that both technical and non-technical stakeholders can understand.
One of the goals of Event Storming is to make modelling fun and engaging. It is a hands-on approach to domain modelling that invites each person to participate and interact.
It is all about conversation - Event Storming is a way of starting a discussion to discover gaps, resolve the misunderstanding and develop new ideas and solutions.
The benefits of Event Storming are numerous. From discovering new business opportunities to designing multiple microservice architectures, the power of domain experts and technical experts collaborating with a rich, shared model of the domain is a game-changer.
Where and How to Use Event Storming
Event Storming proved to be a very efficient technique for solving some of the most difficult phases of starting up a new project. Since it, in short, is a collaborative workshop format it can help to understand and map complex business domains.
There are many scenarios that can take advantage of Event Storming. Some of the good use cases for it are:
- Analysis of your current domain model to determine bottlenecks or come up with ideas for improvements,
- Analysis of existing value streams,
- Single complex process mapping,
- Mapping of a new domain,
- Remapping of legacy system domains.
Event Storming puts an emphasis on temporal modelling instead of structural modelling. Organizing events on a timeline makes it easy to reflect upon the domain, focus on what is important and collaborate with other people.
Alberto Brandolini and other members of the community have identified 3 main levels of abstraction for Event Storming, they are :
- Big picture: allowing you to explore the whole business line, looking for diverging interests and perspectives of the stakeholders. As a result, we get a large map of the group’s understanding of the business.
- Process modelling: where you model a single business process, from the beginning to the end, while ensuring you don't leave any room for ambiguity and clarify all the business rules.
- Software design: start designing your software, using building blocks from Domain-Driven Design and a reactive programming paradigm
Great Method For New Projects
Event Storming is an amazing way to solve problems that may arise during the most difficult phases in project development – core domain discovery and documentation. During the first phase of software development, one of the key success factors is a comprehensive and common understanding of the processes which should be transformed from the idea and vision into working software. Without being on the same page misunderstandings and resulting mistakes made at the very beginning of understanding and mapping domains can run through the entire project introducing long-term issues.
The Big Picture Event Storming can be used both at the beginning of a project or before any work starts. It helps business stakeholders and technical people to gain a common understanding of the business flow. This gives them an opportunity to figure out where the flow needs to be improved and which project should be completed first.
Understanding a workflow does not sound like a major challenge, however during the detailed analysis even of simply structured processes, many questions arise. Answering those questions and shared understanding of the procedures and motivations makes it possible to recognize inconsistencies or blockers and eliminate them before starting the implementation of the process.
Useful For Mature Projects
Event Storming is also a very useful solution for mature teams and projects to find bottlenecks or possible areas of conflict in the process. It can be also used in order to refactor the legacy systems, but it is important to do it as if you were starting from scratch.
Event storming is not data modelling but instead, it results in a fully behavioural model that can be implemented and quickly validated. Teams can use the knowledge gained in the workshop to model future processes or re-design the existing ones and build software from them.
Learning about different areas and their distinction may increase awareness regarding what to focus on and what questions to ask in the future. The Event Storming session also helps to know whether the respective software development project is a core of our system or if it may just play a supporting role. Although everything is important to the business, not everything is equally important to software development. Event Storming allows teams to constantly learn about the business, and translate the knowledge obtained into working software, which delivers true business value.
From a business perspective, Event Storming is really useful thanks to the better understanding of the customer’s business domain it creates for the development team. That directly impacts the general quality of the software product developed for the customer, as well as the overall cooperation between business and technical teams.
At Selleo, we are aware that software development is a journey, but building a self-organizing and constant-learning company is even more demanding. That is why we are really excited to use Event Storming as a well-checked method for gathering data and understanding the business domain.
If you wish to work with a trusted software development company, that implements Event Storming and Agile methodologies on a daily basis, feel free to fill out the contact form.