Event Storming is an excellent way to get started with Functional Architecture. Here are 5 essential preparation tips to turn your first workshop into a success!
You’ve decided that Big Picture Event Storming is the way to go, and you’re eager to start one. Not so quick, though! As with many things, lack of preparation can turn your promising workshop into a total failure.
There are five key elements to prepare an Event Storming:
Let’s go through each of these in detail.
At this point, the most important thing to do is to find good sponsorship. By “good sponsorship”, I mean having support from influential people. What you want is your workshop to stop being your initiative and to become the group’s initiative. Getting backup from the influencers will dramatically increase your chances of success.
Usually, private chats with these people are the best way to win them over. In the end, you want them to share and support a common goal for the Event Storming session. One of the first sessions I ran didn’t go very well because I had omitted this step. Some people wanted to draft a target architecture to know how to refactor in the long term. Others wanted to understand the main blocking points and identify the first wins. As a consequence, the session was disappointing. ☹
A clear Scope
With a clear goal in mind, you should have a rough idea of the scope of the session. Event Storming is an exploratory activity. People who are not used to it will feel a bit lost at first. I found that it’s better to boot the workshop around 1 or 2 uses cases makes people more comfortable. So, chat with your sponsors or other domain experts to agree about these use cases before the session.
As I said, Event Storming is exploratory by nature. Discussions about these use cases will bring in other concerns during the session. It will be up to the group to decide whether to add them to the scope or not. It’s ok to start with clear and specific use cases; there’s no need to be afraid to miss things out.
It’s also a good idea to identify a first domain event. It will both serve as an example and a way to trigger the Event Storming. From experience, this event should be somewhere in the middle of the story. It should also be clear enough for everybody to understand. Examples:
- “A trade was booked”
- “An order was paid”
- “A room was booked”
Don’t worry if you wonder what a domain event is; we’ll go over this in a later post.
The Right Audience
It’s time to list the ideal audience. As a rule of thumb, we found that sessions work better with a mix of 50% of domain experts and 50% of technical people.
With too few domain experts in the room, the workshop becomes a one-way teaching lesson. Ideally, we’d have experts for all the bounded contexts you foresee in the scope of the workshop.
We also need to have a fair share of technical people in the workshop. In the end, it’s their domain knowledge we want to grow. Don’t forget that, as https://twitter.com/ziobrando says:
Try to maximize the diversity of technical roles to create buy-in. One of the critical advantages of Event Storming is that it scales to a large audience. If possible, send a call for volunteers among teams to make sure everyone feels welcome. This will increase buy-in even further.
An enticing Invitation
By now, you should have sponsors, a clear goal, a few starting use cases, and the ideal audience. The next thing to do is to send enticing invitations. Your organization’s culture will define the level of effort needed to get people to attend. Maybe a simple email will be enough, or perhaps you’ll need to meet everyone in person to have them present.
Make sure that the sponsorship is visible in the invitation to maximize buy-in. For example, ask an influential sponsor to send the invite for you.
If you can, sketch a visual invitation. This will set the tone for a different kind of architecture meeting.
An Effective Briefing
When you have your final list of attendees, brief them about the goal of the workshop. This helps people in many aspects:
- To understand that the goal is worth their time
- To be ready for the initial disorientation
- To get an idea of how the session will go
- To get answers to quick questions
I found that a quick 15 to 30 minutes gathering works well, but again, you might need to adapt to your organization. For example, groups that are used to written communication might prefer email, chat, or wiki. What is important is that people can ask questions and get answers.
To be continued
If you follow these steps, your Event Storming session is already on good tracks! In the next post, we’ll see how to prepare the room for a successful session.
This blog post is part of the 1h Event Storming book that we are currently writing.
An earlier version of this post was originally published on Philippe’s blog)