EventStorming is the smartest approach to collaborate beyond silo boundaries. The power of EventStorming comes from a diverse multi-disciplined group of people who, together, have a lot of wisdom and knowledge. While it originally was invented for a workshop to model domain-driven design aggregates, it now has a broader spectrum. From gaining a big-picture problem space of the whole domain to gaining insight into the entire software delivery flow and creating a long term planning. Every one of these workshops has the same basic requirements and needs. In this EventStorming cheat sheet post, I will describe these basic requirements in a cheat sheet.
I have moved the content of this blog to the DDD-crew GitHub page, were it will be updated by the community.
Invites are essential to make it a successful workshop. You want to invite everyone who brings knowledge and who needs the knowledge, usually domain experts and the engineers. You want to add information about what the goal of the workshop is, and what EventStorming is. I always send the video Alberto Brandolini – 50,000 Orange Stickies Later to the attendees plus the resources page from eventstorming.com.
There is nothing so annoying as not having the right material, so you want to make absolutely sure you have everything needed. I have written a blog post here about it, go check it out!
The best picture still is the one from the book EventStorming on leanpub. The idea is to have a modelling surface around 6-8 meters, a table for putting the materials on and a visible legend for people to see. We want to have no seats in sight. Also, you want a room preferable where the windows can open so you can have fresh oxygen in the room and have some food or candies lying around.
Copywrite @ eventstorming.com
For an effective EventStorming workshop, you want to have a dedicated facilitator.
As a facilitator:
- You want to have a neutral role so that you can cut long discussions short and visualise them with hotspots.
- You need to find to balance to when you will intervene and when you will let the discussion flow.
- You are always the first in the room and the last to leave, so you can set up the room correctly and talk with people afterwards.
- It is your job to facilitate the group and give them feedback and insights about the group interaction so that they can decide what to do. For instance, when you see multiple people looking on their phone, you can tell “I see that part of the group is distracted from the activity by looking on their phones”.
- You have to observe and let the group figure out what their needs are, however sometimes you need to decide for them when the group can’t.
I always start a workshop with what is called a check-in. It is essential to be present physically and mentally for the workshop. So in a check-in, ask the attendees questions about how it is going with them. Like how was their weekend, how are they feeling, what do they hope to get out of the workshop today. You must not discuss any workshop or work-related stories. Always check-in first as a facilitator and lead by example by sharing just enough. Afterwards, let participants in the group decide for themselves when they will check-in popcorn style! When everyone is done, it is important to wrap up and summarise as a facilitator what you heard the participants say.
Because we have a room full of people with different perspectives, it is vital to make some agreements on how we collaborate during the workshop. We want to make it explicit by writing this on a flip chart and stick it to a wall so that you as a facilitator can point to these explicitly. I write and discuss the following three agreements from Deep Democracy:
- Everyone is right; nobody has the monopoly on the truth
- We start a conversation to deepen our relationship
- We are willing to learn together
After you can discuss with the attendees if they themselves have rules they want to add and discuss these with them if they need to be added.
Now it is time to give an intro on EventStorming. I usually tell a microstory to the people explaining why classic forms of collaboration don’t work for me, and why EventStorming is different. These are personal and I advice you to figure out such a story for yourself. Explain the basics of what a domain event is on the legend.
Copywrite @ eventstorming.com
Step 1: Chaotic exploration
Start with asking people to write their domain events that they know of for themselves. Here people must work by themselves so that we don’t bias each other. Also, try to avoid answering questions at this point. Tell them that they can put their domain events on the paper the way they feel is correct. We want their perception on the paper. Do not rush this part; this is the essential part of the whole EventStorming. When people start putting their domain events on they can begin to read each other’s events, but make sure they don’t begin discussing them out loud; it can bias or rush the others.
Copywrite @ eventstorming.com
Step 2: Enforce the timeline
After you are sure everyone is done with putting their domain events on the paper, we can start enforcing the timeline. It means asking the attendees to:
- Start discussing the events, I expect a lot of noise and chaos now.
- Removing duplicate events, let them discuss if they really are duplicate events, it might be the same language for different concepts.
- Ordering all events in the correct timeline.
- Adding structure with tape when needed, but be careful adding structure too soon. You can lose valuable insights from doing so.
Step 3: Hotspots
During Step 2 we will get a lot of conflicts between several perceptions, which is good. Out of conflict we grow and gain new insights. However, to be able to manage these conflict we add a pinkish sticky where there are conflicts. We call these hotspots. Hotspots can also mean pain points or questions that are unanswered. As a facilitator, you at this phase add the hotspots.
Step 4: Add concepts when needed
Whenever another EventStorming concept pop-up, we add them to the legend and introduce these to the group. The picture that explains "almost" everything are the concepts you can add:
Like the check-in, we also want to end a workshop with a check-out. Stand in a circle with everyone and ask them what their thought was about the workshop. People can step inside the circle, give a statement and if other people agree they step with them inside the circle. Finish when you are sure everyone is done.
Remember, Alberto calls EventStorming like a pizza. The paper roll and domain events are the base of your pizza, the dough, but you put your ingredients on top of it the way you like it (as long as it isn’t pineapple 😉 ). If you want to learn more about EventStorming, or want to know how to facilitate EventStorming or want us to facilitate one of your workshops, feel free to contact me at firstname.lastname@example.org or check the Xebia training website here: https://xebia.com/academy/en/
Also, this post is published on my personal blog site.