The Joys of Event Storming

Anup MarwadiProduct Development

Event Storming

Event Storming is a process of RAPIDLY MODELING a COMPLEX SYSTEM.

The Problem Statement

Do you feel the need to deconstruct complex systems?

Do you find it hard to effectively capture the features, the use-cases and scenarios in your systems?

Do you find it hard to identify the boundaries between various departments and their sub-systems?

Do you find it challenging to measure the ingress and egress of data between different systems?

Do you find it hard to effectively identify the various customer journeys when people use your system?

Do you get overwhelmed trying to visualize your entire system?

Do you find it challenging to prioritize user-journeys, scenarios and flows when it comes to software development?

If so, read on….

Event Storming to the rescue

Do “Event Storming” before you start building software. You can thank me later.

If you don’t have time or money for a detailed discovery, this will save you time and again.

Anup Marwadi – CEO, HyperTrends Global Inc.

Event Storming has been a major differentiator in how we do things here at HyperTrends.

In many ways, event storming has helped us deconstruct complex systems into smaller components with distinct events that trigger journeys, data changes and system transitions.

We can easily describe some of the most complex business processes.

We can easily describe complex interactions.

We can easily understand the impact an event has on various systems, their data and the personnel associated with these systems.

We think that Event Storming is one of the best ways to capture complex systems and organize teams and frameworks to support these systems.

At HyperTrends, we build some fairly-complicated systems, and event storming has been one of our biggest advantages in delivering high-value to our customers.

We eat our own dog-food, so we also use Event Storming to build our own products.

Event Storming Guidelines

So, how do you go about Event storming?

First of all, congratulations for taking the leap of faith. Go buy a LOT of post-it notes, with many different colors. And make sure you have a BIG WALL.

Don’t have a WALL? No worries, Miro (www.miro.com) to the rescue!!

Actually, I dislike putting post-it notes anywhere – they seem to grow legs and disappear right when I need them. So… it has always been Miro for me.

Here are some quick foundational elements of Event Storming that might help you:

  1. Get the right people involved
  2. Include Domain Experts
  3. Identify all the events in past-tense..duh! For e.g. Order placed, Product Ordered, Product Shipped etc.
  4. Let people describe events that they deal with in their departments
  5. Start reviewing these events. Categore them. It will give you a pretty accurate picture of the system at hand.
  6. Identify the relevant domains that these events belong to, and the impact these events cause to other domains.
  7. Sequence events into journeys and timelines
  8. Identify actors, risks, pain-points, data attributes and integration with 3rd party systems
  9. Start building boundaries between systems
  10. Confine similar behavior within a sub-system
  11. Identify User Stories and Use-Cases that result in these events
  12. Identify stories that relate to each other and turn them into features
  13. Turn features into sub-systems
  14. Turn sub-systems into MASSIVE PLATFORMS

Advantages of Event Storming

This technique can be applied at ANY LEVEL and that’s the beauty.

It can be used to build Software requirements.

It can be used to depict user-journeys.

It can be used to build teams.

It can be used to model data.

It can be used to design micro-services.

It can be used to design data flow.

The list can go on and on…

One great advantage is that you can automatically translate events into Features, User-Stories, Product and Software Architecture requirements.

Domain Driven Design experts will begin to understand commands and bounded contexts easily. Architects will be able to model systems to be more fool-proof and flexible to changes.

A single set of post-it notes (could be 100s of them) can be used to build a world-class software that is fully understood by all departments.

Conclusion

After building 100s of extremely sophisticated systems that span across multiple departments, we have realized that a picture on the wall can save you thousands of hours of misery.

Event Storming has been that picture on the wall. With this tool we have built systems that turn a client’s quote for a LaCantina Door into an Order, into complex calculations for warehousing, into requests into the ERP systems and finally into instructions for shipping and delivery.

With this tool, we have built complex Healthcare SaaS platforms, Events and Marketing platforms, Fintech platforms, multimedia and interactive experiences that help us cross over the chasm of uncertainty very rapidly.

Try it out! Or, iIf you’re looking to get started with Event Storming, reach out to us! We do a damned brilliant job at it!