How to use event storming to achieve domain-driven design

Key Decision: Use Event Storming Instead of Formal DDD

The Event-Storming Process

  • A large number of stickies of different colors, most importantly, orange and blue, and then several other colors for various object types. You need a lot of those. (Stores never had enough for me, so I got in the habit of buying online.) • A roll of 1/2-inch white artist tape.
  • A long roll of paper (e.g., IKEA Mala Drawing Paper) that we are going to hang on the wall using the artist tape. Go ahead and create multiple “lanes.” • At least as many Sharpies as the number of session participants. Everybody needs to have their own!
  • Did we already mention a long, unobstructed wall that we can tape the roll of paper to?
  1. Large competitive advantage/large effort: these are the contexts to design and implement in-house and spend the most time on.
  2. Small advantage/large effort: buy!
  3. Small advantage/small effort: great assignments to trainees.
  4. Other combinations are coin toss and require a judgment call.
  • Phase 1 (~30 min): Discover domain events
  • Phase 2 (~45 min): Enforce the timeline
  • Phase 3 (~60 min): Reverse narrative and Command Identification
  • Phase 4 (~30 min): Identify aggregates/bounded contexts
  • Phase 5 (~15 min): Competitive analysis

Introducing the Universal Sizing Formula

Nobody Gets Microservice Boundaries Perfectly at the Outset

The Universal Sizing Formula

  • Start with just a few microservices, possibly using bounded contexts.
  • Keep splitting as your application and services grow, being guided by the needs of coordination avoidance.
  • Be on the right trajectory for decreasing coordination. This is vastly more important than the current state of how “perfectly” you get service sizing.

Java developer

Love podcasts or audiobooks? Learn on the go with our new app.

Recommended from Medium

A container image in 60* lines of Go

Deploying Fast and Secure Web App on AWS — Part 2a

S3 Brief Overview

The ‘I lost my phone’ serverless, IoT button

A hygienic Python setup for Linux, Mac, and WSL

5 iOS Libraries to Make Your App Interface Better

Scale your streaming data pipelines efficiently with kubernetes — Part 1

89% off #Python for Programmers $10

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store
M.hosein abbasi

M.hosein abbasi

Java developer

More from Medium

Code Organization Strategies — Layers, Features, Concerns?

Starting a software project from The Domain

Building a Platform: Part 0

The Value of Refactoring in Domain-Driven Design