SlideShare a Scribd company logo
Towards Modelling Processes
@mathiasverraes
Mathias Verraes
verraes.net
@mathiasverraes
Independent Software Consultant
Student of Systems
Meddler of Models
Labourer of Legacy
Domain-Driven Design workshops
verraes.net/workshops
Towards Modelling Processes
Domain-Driven Design
has evolved a lot
in +10 years
this talk is about
things processes
the grand dichotomy
Great models are
╳ an accurate representation of reality
✓ useful abstractions
✓ solve problems
Use heuristics
Being
Behaving
Becoming
Inspired by ”Rethinking Systems Analysis and Design” — Gerald M. Weinberg
Being
How it is structured
Morphology
Behaving
How it reacts to inputs
Repeatable, reversible
Becoming
How it changes into something else
Evolution
structural modelling
focus on artefacts
“As a shopper, in order to buy stuff
Given I have a product X with price EUR100
When I …”
“As a shop owner, in order to sell stuff
Given I have a product X,
And that product is priced EUR 100 in the pricing table
When I …”
pseudo-behavioural
imposes a structural model
“As a shopper, in order to buy stuff
Given the shop owner has priced a product X at EUR100
When I …”
“Teachers have multiple courses, each with
multiple modules.
Students have multiple courses.”
“Courses are only visible when their status is
Approved”
What changes?
Why does it change?
Under what circumstances?
Who changes it?
How often does it change?
What are the consequences of that change?
Behaving:
“Only committee members can approve courses”
Becoming:
“Modules are added and removed”
What happens to students who already completed
some of the modules that are now obsolete?
time
event sourcing
E E E E E E
A
E = domain event, A = artefact
event storming
event storming
E
Invoice was paid
time
EC
C = command
Pay for invoice Invoice was paid
time
EC
B = business rule
B
Pay for invoice Invoice was paid
E
C B
Invoice was paid
Invoice was partially paid
Pay for invoice
Paid amount < Invoice amount
Paid amount = Invoice amount
E
C B
Invoice was paid
Invoice was partially paid
Paid amount < Invoice amount
Paid amount = Invoice amount
Paid amount > Invoice amount
Invoice was overpaid
E
C B
= end of lifecycle
Invoice was paid
E
C B
= depends on
payment amount
Pay for invoice
C BE
E
invoice amount
Invoice was
created
C BEC
E
Create invoice
C BEC
E C B
E
C BEC
E C B
E
All paid amounts < Invoice amount
All paid amounts = Invoice amount
All paid amounts > Invoice amount
C BEC
E C B
E
E
Invoice was paidInvoice was partially paid
the primitives
of our model
artefacts
relations
+ foo() behaviour
time
knowledge
constraints
history
intentions
branches
processes
And more: actors, queries, …
going further…
actors
queries
immediate consistency
eventual consistency
aggregates
“Neither a static view
nor a dynamic view
can be the whole view.”
Gerald M. Weinberg — Rethinking Systems Analysis and Design
E E E E
A
E E E E
process process
E E E E E E E E
collaborative
construction
execution
artefact
process process
E E E E E E E E
becoming being behaving
invoice drafting
invoice document
invoicing process
invoice drafting
invoice document
invoicing process
the artefact prescribes the execution process
ordering
receipt
receiving & putaway
negotiation
insurance contract
claim
collaborative
construction
execution
artefact
collaborative
construction
execution
artefact
analysis
tracking
feedback
invoice drafting
invoice document
invoicing process
implicit internal policy
invoice drafting
invoice document
invoicing process
explicit policy
invoice drafting
invoice document
invoicing process
evolving policy
invoice drafting
invoice document
invoicing process
evolving policy
configurable policies per tenant
ordering
receipt
receiving & putaway
product changes
negotiation
insurance contract
claim
internal policy
implementation
suggestions
Processes with:
Immediately consistent rules
=> aggregates
Eventually consistent rules
=> process managers
1 2 3 4
policy changes
Versioning
2
E E EB B
1
2
3
4
2 2
E E E
1 2 3 4
policy changes
Specification
B B
E E E
1 2 3 4
policy changes
Specification
B B
auditing
E E E
1 2 3 4
policy changes
Strategy
B B
E E E
1 2 3 4
policy changes
Running process affected by policy changes
B B
complex business
problems require a
temporal model
“The only reason
for time
is so that
everything
doesn’t happen
at once.”
Albert Einstein
@mathiasverraes
verraes.net
dddeurope.com
Brussels, January 2016

More Related Content

PDF
Unbreakable Domain Models - DPC13
PDF
Modelling Heuristics
PDF
Managed Technical Debt
PDF
DDDBE Modellathon 2013
PPTX
Refactoring domain driven design way
PDF
How Symfony Changed My Life
PDF
Integrating Bounded Contexts - Mini-workshop
PPTX
Our way to microservices
Unbreakable Domain Models - DPC13
Modelling Heuristics
Managed Technical Debt
DDDBE Modellathon 2013
Refactoring domain driven design way
How Symfony Changed My Life
Integrating Bounded Contexts - Mini-workshop
Our way to microservices

Similar to Towards Modelling Processes (20)

PPTX
How (fr)agile we are
PPTX
Using a Fractal Enterprise Model for Business Model Innovation
PPTX
How (fr)agile we are. ALE2011
PPTX
Agile an explanation by sedulous business solutions
PDF
Co-evolving Code and Design with Intensional Views
PDF
Agile experiments in Machine Learning with F#
PPTX
Portfolio MMeyer 2014
PPTX
Lean Business Analysis and UX Runway: Managing Value by Reducing Waste (Natal...
PPTX
Lean Business Analysis and UX Runway - Natalie Warnert
PDF
Expanding skill sets - Broaden your perspective on design
PDF
DSD-INT 2022 The choice - A workshop for modelers
PDF
“Big Picture”: Mixed-Initiative Visual Analytics of Big Data (VINCI 2013 Keyn...
PPTX
Radical Requirements: Tips For Delivering What They Want
PPTX
3 part framework for procurement talent transformation
PPT
Lean Development: Design Through Iterative Experiments
PPTX
Software Development and Quality
PDF
Event Sourcing - You are doing it wrong @ Devoxx
PDF
Behavior Driven Development [10] - Software Testing Techniques (CIS640)
PPT
Test Experiences, not Products (Philly Front-end UX meetup, July 2016)
PPT
Value addition value engineering presentation
How (fr)agile we are
Using a Fractal Enterprise Model for Business Model Innovation
How (fr)agile we are. ALE2011
Agile an explanation by sedulous business solutions
Co-evolving Code and Design with Intensional Views
Agile experiments in Machine Learning with F#
Portfolio MMeyer 2014
Lean Business Analysis and UX Runway: Managing Value by Reducing Waste (Natal...
Lean Business Analysis and UX Runway - Natalie Warnert
Expanding skill sets - Broaden your perspective on design
DSD-INT 2022 The choice - A workshop for modelers
“Big Picture”: Mixed-Initiative Visual Analytics of Big Data (VINCI 2013 Keyn...
Radical Requirements: Tips For Delivering What They Want
3 part framework for procurement talent transformation
Lean Development: Design Through Iterative Experiments
Software Development and Quality
Event Sourcing - You are doing it wrong @ Devoxx
Behavior Driven Development [10] - Software Testing Techniques (CIS640)
Test Experiences, not Products (Philly Front-end UX meetup, July 2016)
Value addition value engineering presentation
Ad

More from Mathias Verraes (8)

PDF
Small Controlled Experiments
PDF
DDD Basics: Bounded Contexts, Modelling - Kortrijk Edition
PDF
Why Domain-Driven Design Matters
PDF
Practical Event Sourcing
PDF
Unbreakable Domain Models PHPUK 2014 London
PDF
Domain-Driven Design Basics
PDF
Model Storming Workshop PHP Benelux 2014
PDF
Fighting Bottlencks with CQRS - ResearchGate
Small Controlled Experiments
DDD Basics: Bounded Contexts, Modelling - Kortrijk Edition
Why Domain-Driven Design Matters
Practical Event Sourcing
Unbreakable Domain Models PHPUK 2014 London
Domain-Driven Design Basics
Model Storming Workshop PHP Benelux 2014
Fighting Bottlencks with CQRS - ResearchGate
Ad

Recently uploaded (20)

PPTX
L1 - Introduction to python Backend.pptx
PDF
top salesforce developer skills in 2025.pdf
PPTX
ai tools demonstartion for schools and inter college
PDF
PTS Company Brochure 2025 (1).pdf.......
PDF
medical staffing services at VALiNTRY
PDF
Digital Strategies for Manufacturing Companies
PDF
How to Choose the Right IT Partner for Your Business in Malaysia
PDF
System and Network Administration Chapter 2
PDF
Wondershare Filmora 15 Crack With Activation Key [2025
PPTX
Reimagine Home Health with the Power of Agentic AI​
PDF
AI in Product Development-omnex systems
PDF
Claude Code: Everyone is a 10x Developer - A Comprehensive AI-Powered CLI Tool
PDF
How Creative Agencies Leverage Project Management Software.pdf
PDF
2025 Textile ERP Trends: SAP, Odoo & Oracle
PPTX
Agentic AI : A Practical Guide. Undersating, Implementing and Scaling Autono...
PDF
Design an Analysis of Algorithms I-SECS-1021-03
PDF
Audit Checklist Design Aligning with ISO, IATF, and Industry Standards — Omne...
PDF
Addressing The Cult of Project Management Tools-Why Disconnected Work is Hold...
PDF
Adobe Premiere Pro 2025 (v24.5.0.057) Crack free
PDF
Design an Analysis of Algorithms II-SECS-1021-03
L1 - Introduction to python Backend.pptx
top salesforce developer skills in 2025.pdf
ai tools demonstartion for schools and inter college
PTS Company Brochure 2025 (1).pdf.......
medical staffing services at VALiNTRY
Digital Strategies for Manufacturing Companies
How to Choose the Right IT Partner for Your Business in Malaysia
System and Network Administration Chapter 2
Wondershare Filmora 15 Crack With Activation Key [2025
Reimagine Home Health with the Power of Agentic AI​
AI in Product Development-omnex systems
Claude Code: Everyone is a 10x Developer - A Comprehensive AI-Powered CLI Tool
How Creative Agencies Leverage Project Management Software.pdf
2025 Textile ERP Trends: SAP, Odoo & Oracle
Agentic AI : A Practical Guide. Undersating, Implementing and Scaling Autono...
Design an Analysis of Algorithms I-SECS-1021-03
Audit Checklist Design Aligning with ISO, IATF, and Industry Standards — Omne...
Addressing The Cult of Project Management Tools-Why Disconnected Work is Hold...
Adobe Premiere Pro 2025 (v24.5.0.057) Crack free
Design an Analysis of Algorithms II-SECS-1021-03

Towards Modelling Processes