Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
Event Storming
Search
Sponsored
·
SiteGround - Reliable hosting with speed, security, and support you can count on.
→
Jakub Pięta
February 10, 2019
Programming
27
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Event Storming
Introduction to Domain Driven Design with Event Storming
Jakub Pięta
February 10, 2019
More Decks by Jakub Pięta
See All by Jakub Pięta
Use Cases and building Phoenix applications around them
jakubpieta
0
46
Other Decks in Programming
See All in Programming
Herb in Rails 8.2: Your ERB views, now HTML-aware @ Rails World 2026, Austin, Texas
marcoroth
0
220
月間100万人のサービス刷新で、 技術選定をHonoに振り切った話
yutobara
8
6.6k
JIS keyboard support in Omarchy
lef237
0
110
Agentic Software Factoryに、すごく賢いIF文を。 / super smart IF statement into the Agentic Software Factory.
rkaga
8
2.2k
Simple Storage Service(S3) is not simple
iwatsukayura
0
290
Starting & Sustaining Code-Based E2E Testing for Non-Coding QA Teams( #jasstniigata )
teyamagu
PRO
1
1k
現場と育てるRailsモデリング 〜Spreadsheetから始めたモデル設計〜
siroemk
2
590
當我們開始不讀 Code - AI Agent 時代,Code Review 與 Clean Code 還剩下什麼?
jame2408
1
190
iOS 27でニュースアプリはどう変わる!? 〜日経電子版の新機能対応と、開発事例から〜
lynnswap
7
13k
コードレビューのボトルネックを"する側"と"される側"の両面から解消する
yub0n
2
1.6k
R8 の設定見直しでアプリサイズ削減
andpad
0
220
GemmaをJevのように使ってみる / Use Gemma like Jev
kishida
5
790
Featured
See All Featured
Performance Is Good for Brains [We Love Speed 2024]
tammyeverts
12
1.9k
10 Git Anti Patterns You Should be Aware of
lemiorhan
PRO
659
62k
Bioeconomy Workshop: Dr. Julius Ecuru, Opportunities for a Bioeconomy in West Africa
akademiya2063
PRO
1
410
Highjacked: Video Game Concept Design
rkendrick25
PRO
1
480
The Success of Rails: Ensuring Growth for the Next 100 Years
eileencodes
47
8.4k
Leadership Guide Workshop - DevTernity 2021
reverentgeek
1
400
Marketing Yourself as an Engineer | Alaka | Gurzu
gurzu
0
330
Chrome DevTools: State of the Union 2024 - Debugging React & Beyond
addyosmani
10
1.4k
Game over? The fight for quality and originality in the time of robots
wayneb77
1
300
Fantastic passwords and where to find them - at NoRuKo
philnash
53
4k
Self-Hosted WebAssembly Runtime for Runtime-Neutral Checkpoint/Restore in Edge–Cloud Continuum
chikuwait
0
890
Producing Creativity
orderedlist
PRO
348
41k
Transcript
Event Storming Introduction to Domain Driven Design with Event Storming
Jakub Pięta
–Eric Evans “The critical complexity of most software projects is
in understanding the domain itself.”
What is Event Storming?
None
It’s powerful
It’s engaging
It’s efficient
It’s easy
It’s fun (imo)
How does it work?
Invite the right people •Large meeting room •6-8 people •People
who know what questions to ask •People who know the answers
Provide unlimited modeling space
None
None
What’s an Event? Product added to cart
–Martin Fowler “Things happen. Not all of them are interesting,
some may be worth recording but don’t provoke a reaction. The most interesting ones cause a reaction. Many systems need to react to interesting events. Often you need to know why a system reacts in the way it did.”
Event Flows Order Placed Order Packed Order Shipped
What’s a reaction?
This happens whenever that happens Whenever a new user account
is created we will send him an acknowledgement by email
What’s a Policy? Send Email Email Sent Email Sent Send
Email Send Email
What else can cause reactions?
Events
Events Command External Systems
Events Command External Systems Actor
Example flow
Credit card payment
Credit Card Submitted
Credit Card Submitted Customer
Enter Credit Card Credit Card Submitted Customer
Enter Credit Card Credit Card Submitted Customer Process Payment
Enter Credit Card Credit Card Submitted Customer Process Payment Payment
Gateway
Example bonus targets
Exploring Subdomains
Exploring Bounded Contexts
Exploring Bounded Contexts (allows to keep high cohesion)
Aggregates
Turning the model into code
Turning the model into code (DDD practitioners like Event Storming)
Benefits
•Discovering complexity early on •Finding missing concepts •Understanding the business
process •Modelling or solving a specific problem in detail •Learning how to model and think about modelling
None
What is needed? •Suitable room •Writable surface •A lot of
sticky notes •Markers •The right people •A facilitator
Your outcome is knowledge, not a paper roll with sticky
notes
–Alberto Brandoliny “Software development is a learning process, working code
is a side effect.”
Thank you :)