Training: EventStorming & Domain Models

By: - Cloud Solution Architect

Two brains, one domain, one laptop, and a guarantee for a day of fun and learning. You’ll go back to basics. Talking about the domain, exploring it using EventStorming with a small group and then pair up to design and code the model.

Description

The day starts with an EventStorming session to explore an interesting domain. You will work in small groups, making sure everyone in the group guards a portion of the EventStorming session by taking on specific roles. But we won’t stop after we’ve explored the domain.

During the second part of the day you will work in pairs, together with other participants. You will use the output of the EventStorming session and all the knowledge that you’ve gathered about the domain. Together, you’ll play around, modeling parts of the domain in code, using tests to guide your design. You can choose from several starter templates, to help you code the domain using different approaches. From a typical object oriented domain model to an event sourced domain model. Throughout the workshop, pairs will share their approach so we can all learn from each other.

What you will learn

  • Why you need to start by understanding the problem and exploring a domain before you start coding.
  • How to ‘sketch’ in code and tease out a model bit by bit.
  • Not to be afraid to throw away the model and sketch again.
  • That there are many ways to implement a model and that there are tradeoffs to make when choosing an approach

Especially the part where pairs share and explain their approach is really insightful and helps to realize that there are many (good) solutions to a problem. It also creates a lot of interaction between participants which always makes for many views being shared and for lively discussions.

Target Audience

Developers at any level of experience.

Requirements

All you have to bring is a laptop. If you want to use one of the provided Java or Kotlin templates, you will need a recent version of IntelliJ installed. You can also choose to use your own preferred stack for the coding part.