User:Pondering Curious/sandbox/Event Modeling

Event Modeling was created by Adam Dymitruk, and is a method of software design that appears to be born from the desire to have both business people and technical people to literally be on the same page.

'The name “Event Modeling” was established after the Event Storming Summit in July 2018 in Bologna Italy. It was apparent then that the specific approaches differed significantly. While Event Storming focuses in discovering the problem space, Event Modeling creates a blueprint for a solution.'

Event Modeling uses 4 patterns:

"Input" or change of the system as instructed by a user, for example.

"Output" or information provision by the system and requested by a web page for a user, for example.

"Automation" for automatically initiating interactions with external systems like payment gateways, for example.

"Translation" for receiving data from external systems like an incoming order from a partner company that you integrate with automatically.

3 components:

And 2 ideas:

'But there are 2 very fundamental pieces that must be added to the blueprint which show 2 core features of any information system: Empowering the user and informing the user.'

'Usually an Event Modeling session can be broken down into seven steps for a new system:

Brainstorm all the possible events (things that can happen in your business).

Arrange those events on a timeline and determine if it makes sense; imagine you already have the system and you are looking at the facts captured during a year of operation. Remove events that don't make sense and add any that may have been missed.

Add screens, mock-ups or wire-frames above the row of events to show what the users of the systems see along the way. If you have a lot of back-end processing, use dashboards and reports as stand-ins to show what is going on to an admin or operator. Make sure to leave enough space in between for the next two steps.

Join the screens with the events by adding commands in each place that a user is responsible for changing the system. If it's something that's done automatically, use an icon like a robot or gears and have that issue the command.

Join the screens with the events by adding views to each place some information is presented to the user. These views will usually be connected to multiple events.

Arrange the screens into swim lanes to show which user sees which screens.

Arrange the events into swim lanes to show the sub-systems that the solution will have.'

An event is an immutable fact, something that happened, and is in the past.

See Also

https://eventmodeling.org/posts/what-is-event-modeling/

https://www.infoq.com/news/2020/09/adameventmodeling/

https://www.onote.com/blog/event-modeling-explained/

https://www.goeleven.com/blog/event-modeling/

https://developer.confluent.io/courses/event-modeling/intro/

https://awesome-architecture.com/modeling/event-modeling/

https://openpracticelibrary.com/practice/event-modeling/

References

"About". eventmodeling.org. Retrieved 2024-04-19.

"Interview with Event Modeling Founder - Adam Dymitruk". InfoQ. Retrieved 2024-04-19.

"Event Modeling: What is it?". eventmodeling.org. 2019-06-23. Retrieved 2024-04-19.

References