page_title: Event storming
section_title: Steps
hierarchical_section_title: Event storming / Steps
caption_attribution_description: English: A domain event
context_page_description: Event storming is a workshop-based method to quickly find out what is happening in the domain of a software program.
  Compared to other methods it is extremely lightweight and intentionally requires no support by a computer.
  The result is expressed in sticky notes on a wide wall.
  The business process is "stormed out" as a series of domain events which are denoted as orange stickies.
  It was invented by Alberto Brandolini in the context of domain-driven design.
  Event storming can be used as a means for business process modeling and requirements engineering.
  The basic idea is to bring together software developers and domain experts and learn from each other.
  To make this learning process easier, event storming is meant to be fun.
  The name was chosen to show that the focus should be on the domain events and the method works similar to brainstorming or agile modeling's model storming.
context_section_description: The first step is to find the domain events and write them on orange sticky notes.
  When all domain events are found the second step is to find the command that caused each of the domain events. Commands are written on blue notes and placed directly before the corresponding domain event.
  In the third step the aggregates within which commands are executed and where events happen are identified.
  The aggregates are written in yellow stickies.
  The concepts gathered during an event storming session fall into several categories, each with its own colour of sticky note:
  An event that occurs in the business process. Written in past tense.
  A person who executes a command through a view.
  Processes a command according to business rules and logic. Creates one or more domain events.
  A command executed by a user through a view on an aggregate that results in the creation of a domain event.
  Cluster of domain objects that can be treated as a single unit.
  A third-party service provider such as a payment gateway or shipping company.
  A view that users interact with to carry out a task in the system.
caption: Step 1: Create domain events
exif: {"Image Make": "Apple", "Image Model": "iPhone 6", "Image XResolution": "72", "Image YResolution": "72", "Image ResolutionUnit": "Pixels/Inch", "Image Software": "Photos 2.0", "Image DateTime": "2016:06:24 12:19:12", "Image ExifOffset": "174", "EXIF ExposureTime": "1/33", "EXIF FNumber": "11/5", "EXIF ExposureProgram": "Program Normal", "EXIF ISOSpeedRatings": "40", "EXIF ExifVersion": "0221", "EXIF DateTimeOriginal": "2016:06:24 12:19:12", "EXIF DateTimeDigitized": "2016:06:24 12:19:12", "EXIF ComponentsConfiguration": "YCbCr", "EXIF ShutterSpeedValue": "253/50", "EXIF ApertureValue": "7801/3429", "EXIF BrightnessValue": "2279/508", "EXIF ExposureBiasValue": "0", "EXIF MeteringMode": "Pattern", "EXIF Flash": "Flash did not fire, compulsory flash mode", "EXIF FocalLength": "83/20", "EXIF SubjectArea": "[1631, 1223, 1795, 1077]", "EXIF SubSecTimeOriginal": "748", "EXIF SubSecTimeDigitized": "748", "EXIF FlashPixVersion": "0100", "EXIF ColorSpace": "sRGB", "EXIF ExifImageWidth": "2484", "EXIF ExifImageLength": "2446", "EXIF SensingMethod": "One-chip color area", "EXIF SceneType": "Directly Photographed", "EXIF ExposureMode": "Auto Exposure", "EXIF WhiteBalance": "Auto", "EXIF FocalLengthIn35mmFilm": "29", "EXIF SceneCaptureType": "Standard", "EXIF LensSpecification": "[83/20, 83/20, 11/5, 11/5]", "EXIF LensMake": "Apple", "EXIF LensModel": "iPhone 6 back camera 4.15mm f/2.2"}