Event Storming
   HOME

TheInfoList



OR:

Event storming is a workshop-based method to quickly find out what is happening in the
domain Domain may refer to: Mathematics *Domain of a function, the set of input values for which the (total) function is defined **Domain of definition of a partial function **Natural domain of a partial function **Domain of holomorphy of a function * Do ...
of a software program. Compared to other methods it is extremely lightweight and intentionally requires no support by a computer. The result is expressed in
sticky note A Post-it Note (or sticky note) is a small piece of paper with a re-adherable strip of glue on its back, made for temporarily attaching notes to documents and other surfaces. A low-tack pressure-sensitive adhesive allows the notes to be easil ...
s on a wide wall. The business process is "stormed out" as a series of domain events which are denoted as orange stickies. It was invented by Alberto Brandolini in the context of
domain-driven design Domain-driven design (DDD) is a major software design approach, focusing on modeling software to match a domain according to input from that domain's experts. Under domain-driven design, the structure and language of software code (class name ...
(DDD). Event storming can be used as a means for business process modeling and
requirements engineering Requirements engineering (RE) is the process of defining, documenting, and maintaining requirements in the engineering design process. It is a common role in systems engineering and software engineering. The first use of the term ''requirement ...
. The basic idea is to bring together software developers and domain experts and learn from each other. To make this learning process easier, event storming is meant to be fun. The name was chosen to show that the focus should be on the domain events and the method works similar to
brainstorming Brainstorming is a group creativity technique by which efforts are made to find a conclusion for a specific problem by gathering a list of ideas spontaneously contributed by its members. In other words, brainstorming is a situation where a grou ...
or
agile modeling Agile modeling (AM) is a methodology for modeling and documenting software systems based on best practices. It is a collection of values and principles, that can be applied on an (agile) software development project. This methodology is more flexi ...
's model storming.


Requirements

It is important for an event storming workshop to have the right people present. This includes people who know the questions to ask (typically developers) and those who know the answers (domain experts, product owners). The modeling will be placed on a wide wall with a roll of paper rolled out on it. The sticky notes will be placed on this paper. You will require at least 5 distinct colors for the sticky notes.


Steps

The first step is to find the ''domain events'' and write them on orange sticky notes. When all domain events are found the second step is to find the ''command'' that caused each of the domain events. Commands are written on blue notes and placed directly before the corresponding domain event. In the third step the ''aggregates'' within which commands are executed and where events happen are identified. The aggregates are written in yellow stickies. The concepts gathered during an event storming session fall into several categories, each with its own colour of sticky note: ; :An event that occurs in the business process. Written in past tense. ; : A person who executes a command through a view. ; : Processes a command according to business rules and logic. Creates one or more domain events. ; : A command executed by a user through a view on an aggregate that results in the creation of a domain event. ; : Cluster of domain objects that can be treated as a single unit. ; : A third-party service provider such as a payment gateway or shipping company. ; :A view that users interact with to carry out a task in the system.


Example notes

These are examples, these would be different for different organizations. Domain events Actors Commands Aggregates External systems Views Errors


Example

Users
CreateAccount
AccountCreated
Signup


Result

As a result, the business process can be seen on the modeling space. But more important is the knowledge that was built in the minds of the participants.


References

{{reflist


External links

* https://miro.com/miroverse/event-storming/ Collaboration Group problem solving methods Software architecture Software design