Event first thinking By David Boyne

Event first thinking By David Boyne

Event first thinking

Event identification and design within EDA applications is important, the more I researched and learnt about event design the more I believe it’s a core part of an EDA application.

When we start our journey building EDA applications, we raise events from producers to downstream consumers, but what goes into our events, the structure, naming conventions, or the ability to identify our events is often overlooked.

“Event first thinking” are just some of my thoughts around all this and topics I presented last year at re:invent 2022 and EDA day in London 2022.

1. Identify

  • Recommended using Event Storming with domain experts in your org to highlight the behaviour of your system and events that flow through.
  • Find your bounded context and domains within your systems.
  • Define a Ubiquitous language with your org to help communication between teams/parties.

2. Define

  • Think about what you want in your events, do you want them to be notification, delta or event-carried state transfer or maybe something else?
  • Think about documentation for your event, producers and consumers. How will people find the events you are publishing, what are the contracts? I created EventCatalog that might be able to help.
  • Define naming conventions for your events, use these across your org and set standards, it can help.

3. Implement

  • When you implement events in your producers think about shared libraries you might want to write. If you have standards, naming conventions or metadata for example, use shared libraries in your org to help. Can save time.
  • Understand the design trade-offs when you choose different event types, understand them then implement them.
  • Understand events “internal and external”. Are your events using within the same bounded context, are they used to communicate between bounded context? Depending on what kind of events they are will determine the impact of contracts and breaking changes.

Repeat the process

I believe this process can be repeated throughout time. Business requirements change, architecture is naturally an evolution. You might want to repeat the process as time goes on.

Extra resources

Download EDA Visuals

Join over 8,000 others learning EDA and download all the EDA visuals directly to your computer. This document updates everytime a new visual is added so make sure you come back to get the latest.

Download now →
Diagrams and thoughts by @boyney123 to help you learn.