Agree the subject, boundary and decision before filling the model.
Event Modeling
A practical method guide: clarify prerequisites and materials, understand the complete process, and look up outputs, pitfalls, and stop criteria.
Prerequisite
What needs to be finished first
Bring source material and people who know the work; distinguish facts from assumptions.
Preparation
What needs to be ready before start
Shared visual workspace, source evidence, and an agreed decision question.
Facilitator, domain experts, product, developers, architect.
Collect existing data, examples, constraints and relevant stakeholder perspectives.
2–4 h for one bounded flow; split larger processes into separate sessions.
Choose one valuable scenario, starting state and outcome. Arrange information-changing domain events chronologically; keep transient UI actions distinct. Connect commands that request changes with events and views that display state. Walk through success, rejection, concurrency and relevant exception paths. Check every user-visible outcome is supported by information flow; identify coherent slices.
Core question
The one question this method answers
Which events, commands, and views explain the system behavior over time?
Flow
Phases with goal, actions, output and pitfall
Connects commands, information-changing events and user-visible views along a system timeline.
Event model: information flow
Fictional worked example
Fictional appointment timeline: user sees available slots → command “Book appointment” → event “Appointment requested” → conflict check → event “Appointment confirmed” or “Booking rejected” → confirmation view. Read view: upcoming appointments. Exception: practice removes slot offline at the same time. This calls for an explicit conflict rule; it does not predetermine infrastructure.
| Scenario | Timeline point | Command | Event | View |
|---|---|---|---|---|
| Scenario 1Record an observation or example for this row. | After slot selection | Book appointment | Appointment confirmed | Upcoming appointments |
1. Timeline point
- Scenario 1
- After slot selection
2. Command
- Scenario 1
- Book appointment
3. Event
- Scenario 1
- Appointment confirmed
4. View
- Scenario 1
- Upcoming appointments
Fictional appointment timeline: user sees available slots → command “Book appointment” → event “Appointment requested” → conflict check → event “Appointment confirmed” or “Booking rejected” → confirmation view. Read view: upcoming appointments. Exception: practice removes slot offline at the same time. This calls for an explicit conflict rule; it does not predetermine infrastructure.
- 1
Scenario
Set scenario and outcome

Goal
Scenario with clear end states
Inputs for this step
- User goal, system boundary and initial state
Actions
- Choose a valuable use case and describe observable success and rejection outcomes.
Output
Scenario with clear end states
Scenario with clear end states
Quality check
Are start and result meaningful to the domain?
Pitfall
The model combines unrelated flows. Split into scenarios with distinct outcomes.
Timing: Allow time according to scope and evidence; no universal duration.
- 2
Events
Place events on timeline

Goal
Event timeline
Inputs for this step
- Domain changes and actors
Actions
- Write events as facts that happened and order them; distinguish state changes from transient UI actions.
Output
Event timeline
Event timeline
Quality check
Does each event change domain information?
Pitfall
Commands or screens are labelled as events. Rewrite each as a completed state change.
Timing: Allow time according to scope and evidence; no universal duration.
- 3
Commands
Add commands and views

Goal
Command/event/view model
Inputs for this step
- Timeline, user intent and required screens
Actions
- Connect commands to actors and intent, and views to the information users see at that moment.
Output
Command/event/view model
Command/event/view model
Quality check
Can each view be explained by prior events?
Pitfall
Read model and interface are disconnected from events. Show which events update each view.
Timing: Allow time according to scope and evidence; no universal duration.
- 4
Variants
Check variants and information flow

Goal
Testable slices and open questions
Inputs for this step
- Happy path, rejections, concurrency and rules
Actions
- Walk the flow step by step, add domain-relevant alternatives and trace information to the outcome; label unresolved rules.
Output
Testable slices and open questions
Testable slices and open questions
Quality check
Are conflict and rejection paths present?
Pitfall
Only the ideal path is implemented. Model one concrete rejection and its user-visible result.
Timing: Allow time according to scope and evidence; no universal duration.
Artifact
What comes out at the end
Sketch: what the artifact looks like
Connects commands, information-changing events and user-visible views along a system timeline. Record scope, evidence, assumptions, owner and next review in the versioned artifact.
Record scope, date, participants, source version and owner. Note changed assumptions and the reason for each revision.
- Shared whiteboard or paper template
- Source links, records or measurement data
event-modeling-working-template.md
Prepare the decision, source evidence and next review.
Event Modeling: Worksheet
Question
To be confirmed
Desired outcome
To be confirmed
Scope
Run the method Time: See catalog planning range; no universal duration.
Complete this worksheet on paper or in your own document during the work.
Preparation for this scope
Method setup
- Materials: Shared visual workspace, source evidence, and an agreed decision question.
- Roles: Facilitator, domain experts, product, developers, architect.
- Advance information: Collect existing data, examples, constraints and relevant stakeholder perspectives.
- Overall time needed: 2–4 h for one bounded flow; split larger processes into separate sessions.
- Setup: Choose one valuable scenario, starting state and outcome. Arrange information-changing domain events chronologically; keep transient UI actions distinct. Connect commands that request changes with events and views that display state. Walk through success, rejection, concurrency and relevant exception paths. Check every user-visible outcome is supported by information flow; identify coherent slices.
Prepare for the work steps
Scenario: Set scenario and outcome
- User goal, system boundary and initial state
Events: Place events on timeline
- Domain changes and actors
Commands: Add commands and views
- Timeline, user intent and required screens
Variants: Check variants and information flow
- Happy path, rejections, concurrency and rules
Event model: information flow
| Scenario | Timeline point | Command | Event | View |
|---|---|---|---|---|
| Scenario 1 |
- Scenario 1: Record an observation or example for this row.
Events state information changes; commands express intent; views show information to users.
Scenario: Set scenario and outcome
Expected artifact: Scenario with clear end states
Scenario with clear end states
Entry:
...
- Are start and result meaningful to the domain?
Events: Place events on timeline
Expected artifact: Event timeline
Event timeline
Entry:
...
- Does each event change domain information?
Commands: Add commands and views
Expected artifact: Command/event/view model
Command/event/view model
Entry:
...
- Can each view be explained by prior events?
Variants: Check variants and information flow
Expected artifact: Testable slices and open questions
Testable slices and open questions
Entry:
...
- Are conflict and rejection paths present?
Open questions and next steps
...
Method guide: https://methodatlas.meierhoff-systems.de/en/methods/event-modeling/run-sheet
Example output
Concrete filled scenario, fictional example
Fictional example for orientation. Counts and timings describe this case and are not universal requirements.
event-modeling-beispiel.md
Concrete filled scenario, fictional example
Fictional appointment timeline: user sees available slots → command “Book appointment” → event “Appointment requested” → conflict check → event “Appointment confirmed” or “Booking rejected” → confirmation view. Read view: upcoming appointments. Exception: practice removes slot offline at the same time. This calls for an explicit conflict rule; it does not predetermine infrastructure.
Pitfalls
Recognize symptoms and steer against them
Quick overview, the full text is in the matching phase in the flow
- Set scenario and outcomeThe model combines unrelated flows.View in phase
- Place events on timelineCommands or screens are labelled as events.View in phase
- Add commands and viewsRead model and interface are disconnected from events.View in phase
- Check variants and information flowOnly the ideal path is implemented.View in phase
Set scenario and outcome
The model combines unrelated flows.
Split into scenarios with distinct outcomes.
Place events on timeline
Commands or screens are labelled as events.
Rewrite each as a completed state change.
Add commands and views
Read model and interface are disconnected from events.
Show which events update each view.
Check variants and information flow
Only the ideal path is implemented.
Model one concrete rejection and its user-visible result.
Stop criteria
When to pause, resolve prerequisites, or choose another approach
Finished the method guide?
Go to the profile for purpose, similar methods, and sources or continue to the next method in the catalog.

