/
05 Event Storming

05 Event Storming

A workshop technique to help teams dig deep and

  • identify we are different from everyone; you’re not really

  • identify our issues are so unique; not really

  • identify that we know what we have but can’t see a way to improve in this area

  • find areas of agreement

  • develop a clearer understanding of the environment

  • get team members up to speed quickly on what an application/system does

It’s all about discovery

The toolset

Post-it notes (hundreds of them)

Plotter paper stuck to a wall

Post-it notes colour coding

image-20240710-223453.png
image-20240710-223521.png

 

Here is an example of a domain event with questions that need to be answered

Here is an example of a command showing the required data, who executed the command, and the event that was triggered

Examples

Domain events

  • Payment requested

  • Payment date passed

  • Order fulfilled - ?is this the delivery or completion of making the order?

  • Seating capacity reached

  • Inventory exhausted

Command/Decision/Action

  • I'm not paying that bill triggers "Payment date passed"

  • Customer agrees to the terms, which triggers "Payment requested"

  • Customer or booking agent confirms a booking, the right conditions are met, this triggers "Seating capacity reached"

  • Customer purchases inventory which triggers "Inventory exhausted"

Example scenarios

Booking an event at a restaurant

You ring up a restaurant to request a table for 12 people. Because it's a large number of people, the restaurant asks you for primary dietary requirements, you state that most people eat meat, especially chicken. The restaurant asks you to confirm the booking the night before the event and before the restaurant closes

On the night before the event after the restaurant closes, the chef looks at the bookings and confirms that in the morning staff will purchase the chickens fresh.

What are the significant events, commands, and actors?

Events - table requested, booking confirmed, food purchased, event happened

Action - call made to the restaurant, go to the restaurant to eat at the time of booking, chef checks book for the day and draws up a shopping list, confirm booking night before the event

Actors - customer, chef

 

Refinancing the business loans

Your company decided that it needs to look at its current loans and overdrafts. After speaking to their accountants, they are advised refinancing would ease cash flow and reduce the monthly outgoings.

You speak to a company specialising in business loans (ACME Finance). They ask you about the business, current commitments, and why you need the loan. They agree in principle that they can help you, and ask you to do the following

  • go online and submit a loan request

  • submit a KYC application, without the KYC information the loan request cannot proceed

The loan request is successful, but they can't confirm the loan offer until the KYC details have been confirmed. Once the KYC details have been confirmed, a contract will be sent to the business. The directors must agree to the terms and agree to be the guarantors of the business. Once the directors have agreed the contract, the funds are released

The contract does not come into force until funds are drawn down from the loan account. You have 14 days to draw as much funds as are available to the business via the loan. After 14, and if funds have been drawn down, the payment terms come into effect. If nothing is drawn down by the end of the 14 days, the contract is voided.

What are the significant events, commands, and actors?

Use post-it notes

Related content