How to use Event Storming for effective team collaboration
As we’ve scaled at Wolt, we’ve introduced new business lines and teams into the organization. Our product development function now consists of over 400 people divided into over 40 autonomous product teams. Wolt Market – where I work – is a good example of a new vertical: most of the people in our team joined within the past six months, including myself.
In an environment that mainly consists of new people, it’s likely everyone brings different perspectives on how our domain works. Often team members might have only partial knowledge, usually referred to as information silos. Silos and ambiguity requires us to clarify a lot with corresponding stakeholders, which slows down our decision-making and prevents us from taking full ownership of our domain.
At Wolt it is core to our values to take ownership beyond the obvious and to do common things uncommonly well. Before diving deep into our domains and solving customer problems, understanding the domain is key, and Event Storming can be a great tool to help achieve that understanding. In my team we recently ran an Event Storming exercise during a get-together. Our team found it a valuable way to align together, so I wanted to share some of our learnings with you in this blog post.
What is Event Storming?
Event Storming is a workshopping tool for collaborative exploration and modeling of complex business domains or processes. The objective of the exercise is to collectively build and visualize a timeline, either your business domain or a process. Intentionally, it’s not advised to focus on parts of your system only. You want to create a holistic view to break out of the silos.
During an Event Storming, the group will place all business-relevant events on a timeline. It’s quite chaotic in the beginning and that’s expected as this is where the magic happens. Every ambiguous area, different terminologies, or different perspectives will trigger discussions and those are indicators that people don’t share the same understanding and give you opportunities to align. Eventually, the team will achieve consensus and see the big picture.
It’s a lightweight and versatile approach that can be used in different scenarios such as:
- Create a shared understanding of the business domain (the big picture)
- Identify business-critical events and risks in your flow
- Support refinements with a more visible representation of a flow
- Onboarding people new to the domain
- Identify potential boundaries and microservices
Have you identified a potential scenario for Event Storming and curious how to run it? We got you covered.
How to run an Event Storming
When you have a chance to run Event Storming in-person, do it in-person! It’s way more effective as it allows for many dynamic ad-hoc conversations which is what the exercise is all about. Current video conference tooling cannot mimic that, but don’t worry, it also works remotely with a few adjustments. Here are some tips for how to run a successful Event Storming either in-person or remotely.
Set the stage and give a very brief explanation of the goal and then get right into the activity. Can be as simple as “We’re here today to collectively explore our business domain as a whole. We will place all business relevant events on this timeline and refine that until it makes sense and we have achieved consensus.” You could also ask if anyone from the group has attended an Event Storming and then let them explain what it is. As it will be a chaotic format in the beginning it’s also a good idea to set expectations by just mentioning “It will be chaotic in the beginning and it might feel awkward and this is expected and no need to worry. At the end, things will clear up”. It’s all about instilling confidence throughout the workshop.
Don’t spend too much time on the kick-off — get the group into the activity as soon as possible. Many concepts of the activity can be introduced while doing it.
- To make the concept more tangible, you could provide a simple and very abstract example (e.g. explain a recipe or a fairytale using Event Storming to visualize how it works).
- Depending on the group, consider doing a quick round of introductions or an icebreaker to get people comfortable.
- In-person, your goal is to get the group building the timeline so it is a good idea to get everyone to stand up in front of the timeline so you can immediately jump into the action after your super-short kick–off round.
2. Chaotic exploration
The group now knows why they are here and it’s time to engage the group to build the timeline. To build the timeline you start by introducing the first entity which will be an ‘event’ that’s relevant for the business
Events need to be on orange-colored sticky notes and written in past tense (e.g. order delivered). One event per sticky, each placed on the timeline at which time the event happens in the process. The order and correctness don’t matter that much at this stage and it’s more important to capture everything that comes to mind.
It’s very likely at this stage not many people know what to do, so you can get things started by placing the first event and then hand it over to the group. Make sure it’s the group taking ownership and posting events and not the facilitator. Soon you will see a lot of activity.
If doing the exercise in-person, this is where you might notice many (parallel) discussions starting so make sure all of those are captured on the timeline as well, even if things are not clear at that stage. In a remote environment, you’ll benefit from a smaller group where it’s easier to engage and start a conversation.
At some point, you’ll see people stop adding events. As you’re not looking for completeness here, it’s a good moment for a break as the next step will require a lot of energy and concentration.
3. Building a timeline
Now you should see a presumably unmanageable bunch of orange-colored sticky notes and the next goal is to put things in order. There will be irrelevant or duplicate events that you can just discard and there might be new events added. You want to have the group taking ownership of this and you’ll guide them with some tactics to achieve that goal.
- Identify 4-5 key events on the timeline that the group can use to orient and place others in relevance to those.
- Separate flows if there are multiple (using swimlanes you can split your modeling space horizontally and each covers one flow).
There will be areas that trigger detailed discussions. You can just mark those as hotspots with pink-colored sticky notes so the group can move on and come back later.
It’s probably a good idea to have another break now.
4. Adding people & systems
Now you have a rough timeline so you can add more details to it by adding people and systems to the timeline.
People indicate whom those events are relevant for and give you an understanding of whom you’re building the system for.
Systems are usually external and encapsulate a flow on its own (e.g. payment processing in an online shop domain).
5. Explicit walk-through
The timeline should look quite structured so far. To validate it, the most effective way is to have a narrator reading all the events from left to right and tell a story based on what’s on the timeline. The group and the narrator will immediately spot inconsistencies and you can refine your timeline accordingly. Add, move or remove events to make it consistently relevant until it makes sense to everybody.
Tip 💡: You can switch the narrator at a certain point to get multiple perspectives.
6. Validating your model
You have come very far and now it’s time to validate your model for consistency. This time you start from the back and make sure each event is triggered from one of the previous events. If not, add new events until your timeline is consistent.
That’s it! Simple and effective.
Tips for hosting an effective Event Storming
Identify the right people
Ideally, you have all key stakeholders and domain experts in the room. In-person, the ideal group size seems to be 8-10 people but even more can work just fine. In my team we ran it with around 20 people and it still worked well!
In a remote setup, I’d recommend going with way fewer people to enable more conversations and engagement. Even though it’s not usual practice, you could explore a part of the domain first and then bring in new parts until you see the big picture. Alternatively, you could start at a very high level with a small group of people and then bring it to smaller groups to add details.
The right room
This is key and extremely important! If the room doesn’t allow for a big enough modeling space or people cannot move around it, they quickly become disengaged. You need a very long wall with plenty of space to move stickies around. Make sure the sticky notes will stick on the wall and they don’t fall off when you move them around as that will be detrimental to the flow of the workshop.You can use a paper roll stuck to the wall to put stickies on. You can take it off afterward and follow up if needed.
In a remote setup, Miro, or any other collaborative whiteboard tool, provides you with an unlimited modeling space out of the box which even opens more effective approaches (for example you can move large amounts of stickies at once).
The right time
Plan at least 3 hours to a full day where everyone is high on energy. Mornings usually work best, while it’s recommended to avoid evenings or after lunch times as people might be getting tired. To keep energy high, make sure you plan enough breaks, which is even more important in a remote setup. In order to keep up the energy in a remote setting, we’ve had good experiences having several sessions over the week instead. I’m sure you will get plenty of bonus points for providing snacks & drinks.
Practice, practice, practice
As you can see the format is simple and lightweight, so don’t worry and just give it a shot. Maybe you can try participating in one yourself to boost your confidence. The more often you do it, the better you’ll become at it and remember, it’s the group that takes care of it and you just need to guide. You’ll be surprised how much the group will manage things on their own.
That highly depends on what’s your intention for running an Event Storming in the first place. If you want to get everyone on the same page to understand the business, then you’re probably done here. If you want to derive domain boundaries, you can look for distinct flows or groups of events relevant to clusters of people. Most likely you have discovered many hotspots that you can follow up on and clarify.
Event Storming is a super versatile tool whenever you need a group of people to see and get the same understanding. It’s been a game changer for me.
What Event Storming are you planning now?