SlideShare a Scribd company logo
1 of 12
Download to read offline
Event storming
Event Storming is a rapid design technique that is meant to engage both Domain Experts
and developers in a fast-paced learning process. It is focused on the business and
business process rather than on data.
Introduction
● Alberto Brandolini
● Created because it was much more lightweight than UML
● Event storming is getting more and more popular in the DDD community
○ Vaughn Vernon has a chapter on it in Domain-Driven Design Distilled
Advantages
● Hands-on and collaborative process,
○ Everyone gets a pad of sticky notes and a pen and is responsible for contributing to the learning and design sessions.
● Both business people and developers stand on equal ground as they learn together.
○ Everyone provides input to the Ubiquitous Language.
● It focuses everyone on events and the business process rather than on classes and the database.
● By focussing on events we focus on outcomes, without worrying on how these outcomes are achieved.
● It is a very visual approach, which dismisses code from the experimentation and puts everyone on a level footing with the
design process.
● It is very fast. If you write something on a sticky note that you later decide doesn’t work, you wad up the sticky note and
throw it away.
○ It costs you only a penny or two for that mistake, and no one is going to resist the opportunity to refine due to effort
already invested.
● Your team will have breakthroughs in understanding.
○ Some will come to the session thinking that they have a pretty good understanding of the specific core business
model but still find there is a lot they don’t know.
● Everybody learns something. Whether you are a Domain Expert or a software developer, you will walk away from the
sessions with a crisp, clear understanding of the model at hand.
Steps
1. Identify domain events
2. Identify commands
3. Identify Aggregates
4. Identify Policies
Steps
1. Identify domain events
2. Identify commands
3. Identify Aggregates
4. Identify Policies
Step 1
Event?
DDD: Domain Event
“An domain event is record of a significant business occurrence in an application”
“Your event name should be a statement of a past occurrence, a verb in the past tense.”
Examples:
● ProductCreated
● OrderSent
● AppointmentPlanned
Why events first?
If we focus on the data we will obscure the business process
For example:
We define a user object with fields like:
● Email
● Bankaccount
The business processes involved with this data are things like:
● WelcomeEmailSent
● InvoiceSent
These occur in very different parts and at very different times in the system (maybe even by different
subsystems). So by focusing on the data we obscure the business process.
Today's subject: EDSN connection process
We’ll start of with:
“CustomerSubscribed”
And end somewhere around:
“ConnectionClosed”
Go!

More Related Content

What's hot

Event-Driven Architecture Traps
Event-Driven Architecture TrapsEvent-Driven Architecture Traps
Event-Driven Architecture TrapsVMware Tanzu
 
Protecting Against Disaster: Plan for the Inevitable Before it Happens
Protecting Against Disaster: Plan for the Inevitable Before it HappensProtecting Against Disaster: Plan for the Inevitable Before it Happens
Protecting Against Disaster: Plan for the Inevitable Before it HappensHostway|HOSTING
 
5 Cloud Migration Experiences Not to Be Repeated
5 Cloud Migration Experiences Not to Be Repeated5 Cloud Migration Experiences Not to Be Repeated
5 Cloud Migration Experiences Not to Be RepeatedHostway|HOSTING
 
Endpoint to Invoice by Stack Advisors - Automation Nation 2018
Endpoint to Invoice by Stack Advisors - Automation Nation 2018Endpoint to Invoice by Stack Advisors - Automation Nation 2018
Endpoint to Invoice by Stack Advisors - Automation Nation 2018Scott Wilson
 
Hacking your ConnectWise Manage by Stack Advisors - Automation Nation 2018
Hacking your ConnectWise Manage by Stack Advisors - Automation Nation 2018Hacking your ConnectWise Manage by Stack Advisors - Automation Nation 2018
Hacking your ConnectWise Manage by Stack Advisors - Automation Nation 2018Scott Wilson
 
Automate Server Mastery by Stack Advisors - Automation Nation 2018
Automate Server Mastery by Stack Advisors - Automation Nation 2018Automate Server Mastery by Stack Advisors - Automation Nation 2018
Automate Server Mastery by Stack Advisors - Automation Nation 2018Scott Wilson
 
DR in the Cloud: Finding the Right Tool for the Job
DR in the Cloud: Finding the Right Tool for the JobDR in the Cloud: Finding the Right Tool for the Job
DR in the Cloud: Finding the Right Tool for the JobHostway|HOSTING
 
JAX 2017 talk: Orchestration of microservices
JAX 2017 talk: Orchestration of microservicesJAX 2017 talk: Orchestration of microservices
JAX 2017 talk: Orchestration of microservicesBernd Ruecker
 

What's hot (10)

Event-Driven Architecture Traps
Event-Driven Architecture TrapsEvent-Driven Architecture Traps
Event-Driven Architecture Traps
 
Journey to cloud
Journey to cloud Journey to cloud
Journey to cloud
 
Protecting Against Disaster: Plan for the Inevitable Before it Happens
Protecting Against Disaster: Plan for the Inevitable Before it HappensProtecting Against Disaster: Plan for the Inevitable Before it Happens
Protecting Against Disaster: Plan for the Inevitable Before it Happens
 
5 Cloud Migration Experiences Not to Be Repeated
5 Cloud Migration Experiences Not to Be Repeated5 Cloud Migration Experiences Not to Be Repeated
5 Cloud Migration Experiences Not to Be Repeated
 
Endpoint to Invoice by Stack Advisors - Automation Nation 2018
Endpoint to Invoice by Stack Advisors - Automation Nation 2018Endpoint to Invoice by Stack Advisors - Automation Nation 2018
Endpoint to Invoice by Stack Advisors - Automation Nation 2018
 
Hacking your ConnectWise Manage by Stack Advisors - Automation Nation 2018
Hacking your ConnectWise Manage by Stack Advisors - Automation Nation 2018Hacking your ConnectWise Manage by Stack Advisors - Automation Nation 2018
Hacking your ConnectWise Manage by Stack Advisors - Automation Nation 2018
 
Automate Server Mastery by Stack Advisors - Automation Nation 2018
Automate Server Mastery by Stack Advisors - Automation Nation 2018Automate Server Mastery by Stack Advisors - Automation Nation 2018
Automate Server Mastery by Stack Advisors - Automation Nation 2018
 
DR in the Cloud: Finding the Right Tool for the Job
DR in the Cloud: Finding the Right Tool for the JobDR in the Cloud: Finding the Right Tool for the Job
DR in the Cloud: Finding the Right Tool for the Job
 
Webinar: Workforce Modernization - Embrace Change without Compromising
Webinar: Workforce Modernization - Embrace Change without CompromisingWebinar: Workforce Modernization - Embrace Change without Compromising
Webinar: Workforce Modernization - Embrace Change without Compromising
 
JAX 2017 talk: Orchestration of microservices
JAX 2017 talk: Orchestration of microservicesJAX 2017 talk: Orchestration of microservices
JAX 2017 talk: Orchestration of microservices
 

Similar to Event storming introduction

User Centered Design: guarantee that your business process automation project...
User Centered Design: guarantee that your business process automation project...User Centered Design: guarantee that your business process automation project...
User Centered Design: guarantee that your business process automation project...Bonitasoft
 
Large drupal site builds a workshop for sxsw interactive - march 17, 2015
Large drupal site builds   a workshop for sxsw interactive - march 17, 2015Large drupal site builds   a workshop for sxsw interactive - march 17, 2015
Large drupal site builds a workshop for sxsw interactive - march 17, 2015rgristroph
 
Accelerate Your Elearning Production and Increase Effectiveness
Accelerate Your Elearning Production and Increase EffectivenessAccelerate Your Elearning Production and Increase Effectiveness
Accelerate Your Elearning Production and Increase EffectivenessDoceboElearning
 
Process and flows of an IT Project - presentation.pdf
Process and flows of an IT Project - presentation.pdfProcess and flows of an IT Project - presentation.pdf
Process and flows of an IT Project - presentation.pdfCasey Ordoña
 
Tactical Application Security: Getting Stuff Done - Black Hat Briefings 2015
Tactical Application Security: Getting Stuff Done - Black Hat Briefings 2015Tactical Application Security: Getting Stuff Done - Black Hat Briefings 2015
Tactical Application Security: Getting Stuff Done - Black Hat Briefings 2015Cory Scott
 
Services, tools & practices for a software house
Services, tools & practices for a software houseServices, tools & practices for a software house
Services, tools & practices for a software houseParis Apostolopoulos
 
Innately: Custom Apps, Reinvented
Innately: Custom Apps, ReinventedInnately: Custom Apps, Reinvented
Innately: Custom Apps, ReinventedLeah Watters
 
Early Stage Product Development - Incubadora Sinergia
Early Stage Product Development - Incubadora SinergiaEarly Stage Product Development - Incubadora Sinergia
Early Stage Product Development - Incubadora SinergiaRiley Maguire
 
Project post-mortem analysis
Project post-mortem analysisProject post-mortem analysis
Project post-mortem analysisJaiveer Singh
 
Building digital product masters to prevail in the age of accelerations parts...
Building digital product masters to prevail in the age of accelerations parts...Building digital product masters to prevail in the age of accelerations parts...
Building digital product masters to prevail in the age of accelerations parts...Jeffrey Stewart
 
Establishing a Collaboration Roadmap
Establishing a Collaboration RoadmapEstablishing a Collaboration Roadmap
Establishing a Collaboration RoadmapDrew Madelung
 
Adopting Domain-Driven Design in your organization
Adopting Domain-Driven Design in your organizationAdopting Domain-Driven Design in your organization
Adopting Domain-Driven Design in your organizationAleix Morgadas
 
Digital Project Management UCC Nov 2013
Digital Project Management UCC Nov 2013Digital Project Management UCC Nov 2013
Digital Project Management UCC Nov 2013Shawn Day
 
Data Modeling for communication
Data Modeling for communicationData Modeling for communication
Data Modeling for communicationRichard Freggi
 
BA and Beyond 20 - Elke Steegmans and David Vandenbroeck - Behaviour-driven d...
BA and Beyond 20 - Elke Steegmans and David Vandenbroeck - Behaviour-driven d...BA and Beyond 20 - Elke Steegmans and David Vandenbroeck - Behaviour-driven d...
BA and Beyond 20 - Elke Steegmans and David Vandenbroeck - Behaviour-driven d...BA and Beyond
 
Webinar | Good Guys vs. Bad Data: How to Be a Data Quality Hero
Webinar | Good Guys vs. Bad Data: How to Be a Data Quality HeroWebinar | Good Guys vs. Bad Data: How to Be a Data Quality Hero
Webinar | Good Guys vs. Bad Data: How to Be a Data Quality HeroAngela Sun
 
Project Management Bootcamp for Event Professionals
Project Management Bootcamp for Event ProfessionalsProject Management Bootcamp for Event Professionals
Project Management Bootcamp for Event ProfessionalsSocial Tables
 
Code & Cannoli - Domain Driven Design
Code & Cannoli - Domain Driven DesignCode & Cannoli - Domain Driven Design
Code & Cannoli - Domain Driven DesignFrank Levering
 

Similar to Event storming introduction (20)

User Centered Design: guarantee that your business process automation project...
User Centered Design: guarantee that your business process automation project...User Centered Design: guarantee that your business process automation project...
User Centered Design: guarantee that your business process automation project...
 
Large drupal site builds a workshop for sxsw interactive - march 17, 2015
Large drupal site builds   a workshop for sxsw interactive - march 17, 2015Large drupal site builds   a workshop for sxsw interactive - march 17, 2015
Large drupal site builds a workshop for sxsw interactive - march 17, 2015
 
Accelerate Your Elearning Production and Increase Effectiveness
Accelerate Your Elearning Production and Increase EffectivenessAccelerate Your Elearning Production and Increase Effectiveness
Accelerate Your Elearning Production and Increase Effectiveness
 
Process and flows of an IT Project - presentation.pdf
Process and flows of an IT Project - presentation.pdfProcess and flows of an IT Project - presentation.pdf
Process and flows of an IT Project - presentation.pdf
 
Tactical Application Security: Getting Stuff Done - Black Hat Briefings 2015
Tactical Application Security: Getting Stuff Done - Black Hat Briefings 2015Tactical Application Security: Getting Stuff Done - Black Hat Briefings 2015
Tactical Application Security: Getting Stuff Done - Black Hat Briefings 2015
 
Services, tools & practices for a software house
Services, tools & practices for a software houseServices, tools & practices for a software house
Services, tools & practices for a software house
 
Innately: Custom Apps, Reinvented
Innately: Custom Apps, ReinventedInnately: Custom Apps, Reinvented
Innately: Custom Apps, Reinvented
 
Early Stage Product Development - Incubadora Sinergia
Early Stage Product Development - Incubadora SinergiaEarly Stage Product Development - Incubadora Sinergia
Early Stage Product Development - Incubadora Sinergia
 
Stress free development
Stress free developmentStress free development
Stress free development
 
Project post-mortem analysis
Project post-mortem analysisProject post-mortem analysis
Project post-mortem analysis
 
Building digital product masters to prevail in the age of accelerations parts...
Building digital product masters to prevail in the age of accelerations parts...Building digital product masters to prevail in the age of accelerations parts...
Building digital product masters to prevail in the age of accelerations parts...
 
Scrum + bdd + ddd
Scrum + bdd + dddScrum + bdd + ddd
Scrum + bdd + ddd
 
Establishing a Collaboration Roadmap
Establishing a Collaboration RoadmapEstablishing a Collaboration Roadmap
Establishing a Collaboration Roadmap
 
Adopting Domain-Driven Design in your organization
Adopting Domain-Driven Design in your organizationAdopting Domain-Driven Design in your organization
Adopting Domain-Driven Design in your organization
 
Digital Project Management UCC Nov 2013
Digital Project Management UCC Nov 2013Digital Project Management UCC Nov 2013
Digital Project Management UCC Nov 2013
 
Data Modeling for communication
Data Modeling for communicationData Modeling for communication
Data Modeling for communication
 
BA and Beyond 20 - Elke Steegmans and David Vandenbroeck - Behaviour-driven d...
BA and Beyond 20 - Elke Steegmans and David Vandenbroeck - Behaviour-driven d...BA and Beyond 20 - Elke Steegmans and David Vandenbroeck - Behaviour-driven d...
BA and Beyond 20 - Elke Steegmans and David Vandenbroeck - Behaviour-driven d...
 
Webinar | Good Guys vs. Bad Data: How to Be a Data Quality Hero
Webinar | Good Guys vs. Bad Data: How to Be a Data Quality HeroWebinar | Good Guys vs. Bad Data: How to Be a Data Quality Hero
Webinar | Good Guys vs. Bad Data: How to Be a Data Quality Hero
 
Project Management Bootcamp for Event Professionals
Project Management Bootcamp for Event ProfessionalsProject Management Bootcamp for Event Professionals
Project Management Bootcamp for Event Professionals
 
Code & Cannoli - Domain Driven Design
Code & Cannoli - Domain Driven DesignCode & Cannoli - Domain Driven Design
Code & Cannoli - Domain Driven Design
 

Recently uploaded

(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...gurkirankumar98700
 
Asset Management Software - Infographic
Asset Management Software - InfographicAsset Management Software - Infographic
Asset Management Software - InfographicHr365.us smith
 
Folding Cheat Sheet #4 - fourth in a series
Folding Cheat Sheet #4 - fourth in a seriesFolding Cheat Sheet #4 - fourth in a series
Folding Cheat Sheet #4 - fourth in a seriesPhilip Schwarz
 
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...MyIntelliSource, Inc.
 
办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样
办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样
办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样umasea
 
Intelligent Home Wi-Fi Solutions | ThinkPalm
Intelligent Home Wi-Fi Solutions | ThinkPalmIntelligent Home Wi-Fi Solutions | ThinkPalm
Intelligent Home Wi-Fi Solutions | ThinkPalmSujith Sukumaran
 
Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024
Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024
Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024StefanoLambiase
 
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...MyIntelliSource, Inc.
 
The Evolution of Karaoke From Analog to App.pdf
The Evolution of Karaoke From Analog to App.pdfThe Evolution of Karaoke From Analog to App.pdf
The Evolution of Karaoke From Analog to App.pdfPower Karaoke
 
Salesforce Certified Field Service Consultant
Salesforce Certified Field Service ConsultantSalesforce Certified Field Service Consultant
Salesforce Certified Field Service ConsultantAxelRicardoTrocheRiq
 
Advancing Engineering with AI through the Next Generation of Strategic Projec...
Advancing Engineering with AI through the Next Generation of Strategic Projec...Advancing Engineering with AI through the Next Generation of Strategic Projec...
Advancing Engineering with AI through the Next Generation of Strategic Projec...OnePlan Solutions
 
EY_Graph Database Powered Sustainability
EY_Graph Database Powered SustainabilityEY_Graph Database Powered Sustainability
EY_Graph Database Powered SustainabilityNeo4j
 
Implementing Zero Trust strategy with Azure
Implementing Zero Trust strategy with AzureImplementing Zero Trust strategy with Azure
Implementing Zero Trust strategy with AzureDinusha Kumarasiri
 
Building Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
Building Real-Time Data Pipelines: Stream & Batch Processing workshop SlideBuilding Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
Building Real-Time Data Pipelines: Stream & Batch Processing workshop SlideChristina Lin
 
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed Data
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed DataAlluxio Monthly Webinar | Cloud-Native Model Training on Distributed Data
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed DataAlluxio, Inc.
 
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASE
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASEBATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASE
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASEOrtus Solutions, Corp
 
KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptx
KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptxKnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptx
KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptxTier1 app
 
Der Spagat zwischen BIAS und FAIRNESS (2024)
Der Spagat zwischen BIAS und FAIRNESS (2024)Der Spagat zwischen BIAS und FAIRNESS (2024)
Der Spagat zwischen BIAS und FAIRNESS (2024)OPEN KNOWLEDGE GmbH
 
ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...
ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...
ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...Christina Lin
 

Recently uploaded (20)

(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
 
Asset Management Software - Infographic
Asset Management Software - InfographicAsset Management Software - Infographic
Asset Management Software - Infographic
 
Folding Cheat Sheet #4 - fourth in a series
Folding Cheat Sheet #4 - fourth in a seriesFolding Cheat Sheet #4 - fourth in a series
Folding Cheat Sheet #4 - fourth in a series
 
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
 
办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样
办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样
办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样
 
Intelligent Home Wi-Fi Solutions | ThinkPalm
Intelligent Home Wi-Fi Solutions | ThinkPalmIntelligent Home Wi-Fi Solutions | ThinkPalm
Intelligent Home Wi-Fi Solutions | ThinkPalm
 
Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024
Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024
Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024
 
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
 
The Evolution of Karaoke From Analog to App.pdf
The Evolution of Karaoke From Analog to App.pdfThe Evolution of Karaoke From Analog to App.pdf
The Evolution of Karaoke From Analog to App.pdf
 
Salesforce Certified Field Service Consultant
Salesforce Certified Field Service ConsultantSalesforce Certified Field Service Consultant
Salesforce Certified Field Service Consultant
 
Hot Sexy call girls in Patel Nagar🔝 9953056974 🔝 escort Service
Hot Sexy call girls in Patel Nagar🔝 9953056974 🔝 escort ServiceHot Sexy call girls in Patel Nagar🔝 9953056974 🔝 escort Service
Hot Sexy call girls in Patel Nagar🔝 9953056974 🔝 escort Service
 
Advancing Engineering with AI through the Next Generation of Strategic Projec...
Advancing Engineering with AI through the Next Generation of Strategic Projec...Advancing Engineering with AI through the Next Generation of Strategic Projec...
Advancing Engineering with AI through the Next Generation of Strategic Projec...
 
EY_Graph Database Powered Sustainability
EY_Graph Database Powered SustainabilityEY_Graph Database Powered Sustainability
EY_Graph Database Powered Sustainability
 
Implementing Zero Trust strategy with Azure
Implementing Zero Trust strategy with AzureImplementing Zero Trust strategy with Azure
Implementing Zero Trust strategy with Azure
 
Building Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
Building Real-Time Data Pipelines: Stream & Batch Processing workshop SlideBuilding Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
Building Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
 
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed Data
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed DataAlluxio Monthly Webinar | Cloud-Native Model Training on Distributed Data
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed Data
 
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASE
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASEBATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASE
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASE
 
KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptx
KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptxKnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptx
KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptx
 
Der Spagat zwischen BIAS und FAIRNESS (2024)
Der Spagat zwischen BIAS und FAIRNESS (2024)Der Spagat zwischen BIAS und FAIRNESS (2024)
Der Spagat zwischen BIAS und FAIRNESS (2024)
 
ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...
ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...
ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...
 

Event storming introduction

  • 2. Event Storming is a rapid design technique that is meant to engage both Domain Experts and developers in a fast-paced learning process. It is focused on the business and business process rather than on data.
  • 3. Introduction ● Alberto Brandolini ● Created because it was much more lightweight than UML ● Event storming is getting more and more popular in the DDD community ○ Vaughn Vernon has a chapter on it in Domain-Driven Design Distilled
  • 4. Advantages ● Hands-on and collaborative process, ○ Everyone gets a pad of sticky notes and a pen and is responsible for contributing to the learning and design sessions. ● Both business people and developers stand on equal ground as they learn together. ○ Everyone provides input to the Ubiquitous Language. ● It focuses everyone on events and the business process rather than on classes and the database. ● By focussing on events we focus on outcomes, without worrying on how these outcomes are achieved. ● It is a very visual approach, which dismisses code from the experimentation and puts everyone on a level footing with the design process. ● It is very fast. If you write something on a sticky note that you later decide doesn’t work, you wad up the sticky note and throw it away. ○ It costs you only a penny or two for that mistake, and no one is going to resist the opportunity to refine due to effort already invested. ● Your team will have breakthroughs in understanding. ○ Some will come to the session thinking that they have a pretty good understanding of the specific core business model but still find there is a lot they don’t know. ● Everybody learns something. Whether you are a Domain Expert or a software developer, you will walk away from the sessions with a crisp, clear understanding of the model at hand.
  • 5. Steps 1. Identify domain events 2. Identify commands 3. Identify Aggregates 4. Identify Policies
  • 6. Steps 1. Identify domain events 2. Identify commands 3. Identify Aggregates 4. Identify Policies
  • 9. DDD: Domain Event “An domain event is record of a significant business occurrence in an application” “Your event name should be a statement of a past occurrence, a verb in the past tense.” Examples: ● ProductCreated ● OrderSent ● AppointmentPlanned
  • 10. Why events first? If we focus on the data we will obscure the business process For example: We define a user object with fields like: ● Email ● Bankaccount The business processes involved with this data are things like: ● WelcomeEmailSent ● InvoiceSent These occur in very different parts and at very different times in the system (maybe even by different subsystems). So by focusing on the data we obscure the business process.
  • 11. Today's subject: EDSN connection process We’ll start of with: “CustomerSubscribed” And end somewhere around: “ConnectionClosed”
  • 12. Go!