#CDays14 – Milano 25, 26 e 27 Febbraio 2014
Idea —> Post-It —>
Test Verdi
Idea
Stickies
Green Bar
avanscoperta
@ziobrando
(original concept with @andreabalducci)
About me
@ziobrando
I do something else instead
@ziobrandoAbout me
avanscoperta
#DDD
#Agile
#Lean
#Entrepreneur
#Developer
#EventStorming
#Coach
#Facilitator
#Consultant
Let’s start from
here…
#Entrepreneur
#Lean
Theory
of
Constraints
Idea stickies green bar - Wroclaw edition
Idea stickies green bar - Wroclaw edition
Idea stickies green bar - Wroclaw edition
Look for the bottleneck!
Idea stickies green bar - Wroclaw edition
Improving the
bottleneck, improves
the whole system
Other improvements
have little or
negligible impact
I want to find my
bottleneck
#Entrepreneur
I help my customers
to find their
bottleneck
#Lean #Consultant
Should I care about
it?
#Developer
Yes
Customers will need
to reduce costs in non
bottleneck areas
Customers will need
to improve
performances in
bottleneck areas
Idea stickies green bar - Wroclaw edition
Unfortunately…
Customers might not
know about their
bottleneck
Customers might not
want to talk about
their
bottleneck
#Developer
How can we do the
right thing?
Domain-Driven
Design
Not what you’ll expect
#Developer #DDD
“Domain-Driven
Design is an
architectural
approach”
Yes, this is
still what it looks
like…
It’s actually worse
than this
#DDD
“Domain-Driven
Design is an
architectural
approach”
“DDD is an
architectural
approach to over-
engineered solutions”
This is what we see at
the end
SPOILER ALERT
Idea stickies green bar - Wroclaw edition
“Why did it take you so
much to get there?”
“It’s the journey not
the destination”
But…
But…
Yep, not all journeys
are equal
Only some journeys
are worth taking
That’s what we call
“Core Domain”
#DDD
DDD supports a
process of continuous
evolution
It’s not for writing
software faster
It’s for rewriting
software frequently
Hypothesis: “DDD is an
approach to software
development for guys
that can’t get it right
the first time”
Hmmm…
You need a robust
architecture for doing
this
And in 2004,
Entities, Value
Objects and so on
was the only viable
option
DDD is not an
architecture,
but it needs a good
one badly
#DDD
Requirements
Gathering
Yep, that’s a common name
for our problem
#Developer #DDD #Agile
How do we collect
requirements?
Idea stickies green bar - Wroclaw edition
Sequential strategy
Time...
Idea stickies green bar - Wroclaw edition
Idea stickies green bar - Wroclaw edition
way too late…
A simple solution
Put all the key stakeholders
in the same room and
sketch a model together
Event Storming!
Exploring the Domain
Not this way
Idea stickies green bar - Wroclaw edition
Idea stickies green bar - Wroclaw edition
This is way betterEventstorming Short
Sequential gathering
Time…
EventStorming
Time…
Active Collaboration
All participant should
actively contribute
One
Man
One
Marker
Chaotic eats
sequential for
breakfast
and with a few
tricks…
#Agile #Coach#Facilitator
STOP Modelling NOW!!!
Leveraging
developer’s brain
(something you won’t admit
We basically made
the business problem
less boring
Idea stickies green bar - Wroclaw edition
It’s not about being
faster
That’s still thinking linearly
What’s Eventstorming
It’s an act of
deliberate
collective
learning
We discover a lot
Things we swept under the carpet
The Big Picture
All the business process(es)
end-to-end
and beyond!
Unlimited Modelling Space
My problem is...
BIGGER
Guerrilla modeling
Once you see it…
Conquer first
Divide later
Idea stickies green bar - Wroclaw edition
Unlimited surface
You don’t know the size of the
problem before exploring it
Big Picture approaches
-Impact Mapping -> Gojko Adzic
-Specification Workshop -> Gojko Adzic
-User Story Mapping -> Jeff Patton
-Value Stream Mapping -> Stephen Parry
(and others, of course)
-...
In EventStorming
-All key stakeholders in the same room
-With an unlimited modelling surface
-Modelling key processes starting from
Domain Events
Domain Events
Sometimes I do things for a reason
#DDD
#Developer
#EventStorming
Idea stickies green bar - Wroclaw edition
along a timeline
Idea stickies green bar - Wroclaw edition
Capture spontaneous
complexity
Idea stickies green bar - Wroclaw edition
Idea stickies green bar - Wroclaw edition
Can’t you do the
same with an activity
diagram?
Of course!
too afraid of the conference code of
conduct to tell the joke
Could you please laugh anyway?
Idea stickies green bar - Wroclaw edition
instead…
Humans
evolved as
the most
efficient
creatures to
spot someone
else’s
mistakes
Let’s use that!
Business conversation
Technical	
  conversation
Observe
Language
Interaction
Body Language
Idea stickies green bar - Wroclaw edition
Idea stickies green bar - Wroclaw edition
Idea stickies green bar - Wroclaw edition
Idea stickies green bar - Wroclaw edition
We have a big a
behavioural model of
the whole thing, now
what?
We can have the
bottleneck emerge
BIG
problem
here!!!
Idea stickies green bar - Wroclaw edition
We can finally
do the right thing
#DDD
#Lean #Entrepreneur
#Developer
Please
ignore what
your brain is
suggesting
right now
Can we also
do it right?
#DDD #Developer
Business conversation
Domain-­‐Driven	
  Design	
  
Event	
  Sourcing	
  
CQRS	
  
Event	
  Driven	
  Architecture	
  
a	
  business-­‐driven	
  model	
  evolution	
  
Pain-Oriented EventStorming
Focus on
Explore normally foggy areas
Let an action plan emerge!
Pain
Point
Someone
else’s pain
point
Pain Oriented
Show the whole flow
Display the pain
Explore
Choose
Eve
Pai
Danger Zone
best advice comes from
KEEP
YOUR
MOUTH
SHUT
but please…
Impact Mapping
What is the
expected
outcome?
Backward
implementation
POES as retrospective background
Big Picture first
Retrospective scope explicitly
widened
Facilitated root cause analysis
Hints for collaboration
Idea stickies green bar - Wroclaw edition
As a learning tool
Every new hire in avanscoperta
gets an EventStorming session
The result is visible on the
wall
…
I am here! :-)
Maximise Learning?
EventStorming as a
Learning Tool
EventStorming as an
experiment planner
Many others are pointing here…
-Lean Startup
-Lean UX
-Popcorn Flow
-Small Controlled Experiments
-Modellathlon
Business experiments
Implementation	
  experiments
Modelling
Sympathy
Don’t know what it means
but sounds so cool
Simple as that
#DDD
Aggregates
Workshop
Participant
added
Participant
removed
Add
participant
Remove
participant
Maximum
Capacity
reached
Idea stickies green bar - Wroclaw edition
class Customer



attr_reader :name,

:surname,

:address,

:picture,

:email,

:id,

:status



# ...



end
<— The system will
probably care only
about this one
<— User will need to
see all these..
Yep, there is no such
thing as “the model”
Oh, sh*t!
“…I used that
architecture”
Application
ApplicationApplication
Application
Application
Database
Application
Application
Database
Data-based integration
Application
Read Model
!=
Write Model
CQRS
Aggregate
Aggregate
Command
Command
Event
Event
Event
Event
Event
Event
EventEvent
Event store
Domain Model
Projection
Projection
Read Model
DTO
DTO
Presentation
UI
UI
UI
UI
Old picture… please
ignore the colors
It’s not about speed
Idea stickies green bar - Wroclaw edition
It’s about clarity
Idea stickies green bar - Wroclaw edition
“… and after you
mixed the ingredients,
now separate them”
Commands
Add Item to
cart
Customer
Article
Details
UI Constraints
Item pageProjection
(read model)
Command
User
Price
Special
offer!
Can I influence the
user decision?
UX
Readability
Information
Images
Speed
Can I improve the
quality of the user
decision?
UX
Readability
Information
Images
Speed
Processes
Ticket
bought
Welcome
process
Send
welcome e-
mail
Idea stickies green bar - Wroclaw edition
Can I improve
processes?
Reliability
Speed Automation
Composability
External Systems
Thermometer Temperature
registered
External Systems
Command External
System
Design Level
Active collaboration
Wisdom of the crowd
Visually consistent models
Big visible
overengineered?
Idea stickies green bar - Wroclaw edition
I m
ean
it!
If you
don’t I am
gonna
find
where you
live!
Hey, you
mentioned…
…the green bar
#Developer #DDD #Agile
Cucumber to the
rescue
Scenario Outline: Manually opening a project finances account

When I open a project account called <project name>

Then project account should be opened for <project name>

And project <project name> should be visible in the projects list

Examples:

| project name |

| Project Alpha |

| Project Omega |
Executing a Command
When(/^I open a project account called (.*)$/) do |project_name|

params = {

'headline' => project_name

}

command = OpenProject.from_params(params)

@project_account_id = command.aggregate_id



Quindi::Application::ProjectFinancesCommandHandler.handle(command)

end
Checking a Domain Event
Then(/^project account should be opened for (.*)$/) do |expected_headline|



eventually(timeout: 0.8) {

last_project_opened_event = @event_logger.received['ProjectOpened'].last

expect(last_project_opened_event).to_not be_nil

expect(last_project_opened_event).to be_a ProjectOpened
expect(last_project_opened_event.headline).to eq expected_headline

}

end
Checking a Read Model
And(/^project (.*) should be visible in the projects list$/) do |project_name|

fail 'Please set @project_account_id ' unless @project_account_id

eventually(timeout: 0.5) {

visible_project =
Quindi::Application::ProjectList.find_by_id(@project_account_id)

expect(visible_project).not_to be_nil

expect(visible_project['headline']).to eq project_name

}

end
Wrapping up
Doing the right thing matters
Doing it right matters too
Discovering it matters too
Have a look to CQRS/ES
EventStorming Friends
Idea stickies green bar - Wroclaw edition
References
http://ziobrando.blogspot.com
#eventstormers on Google+:
https://plus.google.com/u/0/
avanscoperta
Thanks
@ziobrando
avanscoperta

More Related Content

PDF
The alignment
PDF
Why do all my ddd apps look the same - Vienna 2014
PDF
The final words about software estimation
PDF
Redesigning everything (avanscoperta meeutp edition)
PDF
Rethinking enterprise software - Codemotion 2014
PDF
50.000 orange stickies later
PDF
It's not simple at all
PDF
Extreme DDD modelling
The alignment
Why do all my ddd apps look the same - Vienna 2014
The final words about software estimation
Redesigning everything (avanscoperta meeutp edition)
Rethinking enterprise software - Codemotion 2014
50.000 orange stickies later
It's not simple at all
Extreme DDD modelling

What's hot (20)

PDF
The gordian knot
PDF
L'illusione dell'ortogonalità
PDF
Chasing elephants
PDF
Redesigning everything ITARC Stockholm 2021
PDF
Software design as a cooperative game with EventStorming
PDF
What lies beneath
PDF
Event storming recipes
PDF
The sweet spot
KEY
Loosely Coupled Complexity - Unleash the power of your Domain Model with Comm...
PDF
Taking Responsibility for the Things We Unleash Into the World - IoT Meetup 2...
PDF
Event based modeling - eng
PDF
Optimized for what
PDF
Pissing against the wind
PPTX
Software Craftsmanship and Agile Code Games
PDF
Hiring a developer: step by step debugging
PDF
Transactions redefined
PPTX
30% faster coder on-boarding when you have a code cookbook
PPTX
Code Katas Spring 2012
PPTX
Whittle Modeling Wizards 2012
PDF
Spartez Open Day March 13th 2015
The gordian knot
L'illusione dell'ortogonalità
Chasing elephants
Redesigning everything ITARC Stockholm 2021
Software design as a cooperative game with EventStorming
What lies beneath
Event storming recipes
The sweet spot
Loosely Coupled Complexity - Unleash the power of your Domain Model with Comm...
Taking Responsibility for the Things We Unleash Into the World - IoT Meetup 2...
Event based modeling - eng
Optimized for what
Pissing against the wind
Software Craftsmanship and Agile Code Games
Hiring a developer: step by step debugging
Transactions redefined
30% faster coder on-boarding when you have a code cookbook
Code Katas Spring 2012
Whittle Modeling Wizards 2012
Spartez Open Day March 13th 2015
Ad

Similar to Idea stickies green bar - Wroclaw edition (20)

PDF
1 Million Orange Stickies later - Devoxx Poland 2024
PDF
Rethinking Enterprise Software - Brandolini
PPTX
Risk management
PDF
AD - Developer communication and Technology
PDF
Designing better user interfaces
PDF
Real World Lessons Using Lean UX (Workshop)
PPTX
Sum of the Parts Speaker Series - Experience Engineering and UX
KEY
It's Not Just About Code
PDF
Engineering Management for Early Stage Startups
PPT
Are Agile Projects Doomed to Half-Baked Design?
PDF
Big guns for small guys (reloaded)
PPTX
Why Can't We All Just Get Along? Improving Designer/Developer Collaboration
PPT
Usability in Virtual Worlds (Metaverse08)
PPTX
How to Write UX Specs That Make Developers Swoon
PPTX
By Thoughtworks | Reviving the art of software design with Andy Marks and Pam...
PDF
Designers are from Venus - Presentationas Given to CD2
PDF
YOW! Perth 2022 - Reviving the Art of Software Design
PDF
Designing with Code
PDF
The product is not "the product". Who owns it anyway?
PDF
Collaborative Design: Lessons & Observations
1 Million Orange Stickies later - Devoxx Poland 2024
Rethinking Enterprise Software - Brandolini
Risk management
AD - Developer communication and Technology
Designing better user interfaces
Real World Lessons Using Lean UX (Workshop)
Sum of the Parts Speaker Series - Experience Engineering and UX
It's Not Just About Code
Engineering Management for Early Stage Startups
Are Agile Projects Doomed to Half-Baked Design?
Big guns for small guys (reloaded)
Why Can't We All Just Get Along? Improving Designer/Developer Collaboration
Usability in Virtual Worlds (Metaverse08)
How to Write UX Specs That Make Developers Swoon
By Thoughtworks | Reviving the art of software design with Andy Marks and Pam...
Designers are from Venus - Presentationas Given to CD2
YOW! Perth 2022 - Reviving the Art of Software Design
Designing with Code
The product is not "the product". Who owns it anyway?
Collaborative Design: Lessons & Observations
Ad

More from Alberto Brandolini (11)

PDF
DDD tales from ProductLand - NewCrafts Paris - May 2024
PDF
Extreme DDD Modelling Patterns - 2024 Devoxx Poland
PDF
Modelling Up - DDDEurope 2024 - Amsterdam
PDF
All the Small Things - XP2024 Bolzano/Bozen
PDF
La fatina dei denti
PDF
Reshaping enterrprise software
PDF
Guerrilla portfolio management
PDF
The precision blade
PDF
Managing debt remastered
PDF
Liberate il kraken
PDF
Bullshit Asymmetry Principle lightning talk
DDD tales from ProductLand - NewCrafts Paris - May 2024
Extreme DDD Modelling Patterns - 2024 Devoxx Poland
Modelling Up - DDDEurope 2024 - Amsterdam
All the Small Things - XP2024 Bolzano/Bozen
La fatina dei denti
Reshaping enterrprise software
Guerrilla portfolio management
The precision blade
Managing debt remastered
Liberate il kraken
Bullshit Asymmetry Principle lightning talk

Recently uploaded (20)

PPTX
UNIT II: Software design, software .pptx
PPTX
Plex Media Server 1.28.2.6151 With Crac5 2022 Free .
PDF
What Makes a Great Data Visualization Consulting Service.pdf
PDF
Top 10 Project Management Software for Small Teams in 2025.pdf
PPTX
WJQSJXNAZJVCVSAXJHBZKSJXKJKXJSBHJBJEHHJB
PDF
PDF-XChange Editor Plus 10.7.0.398.0 Crack Free Download Latest 2025
PDF
MiniTool Power Data Recovery 12.6 Crack + Portable (Latest Version 2025)
PPTX
Folder Lock 10.1.9 Crack With Serial Key
PPTX
Post-Migration Optimization Playbook: Getting the Most Out of Your New Adobe ...
PDF
CapCut PRO for PC Crack New Download (Fully Activated 2025)
PPTX
Foundations of Marketo Engage: Nurturing
PPTX
ROI from Efficient Content & Campaign Management in the Digital Media Industry
PDF
SOFTWARE ENGINEERING Software Engineering (3rd Edition) by K.K. Aggarwal & Yo...
PDF
Mobile App Backend Development with WordPress REST API: The Complete eBook
PDF
Coding with GPT-5- What’s New in GPT 5 That Benefits Developers.pdf
PDF
Crypto Loss And Recovery Guide By Expert Recovery Agency.
PPTX
Human Computer Interaction lecture Chapter 2.pptx
PDF
Streamlining Project Management in Microsoft Project, Planner, and Teams with...
PDF
Cloud Native Aachen Meetup - Aug 21, 2025
PDF
Module 1 - Introduction to Generative AI.pdf
UNIT II: Software design, software .pptx
Plex Media Server 1.28.2.6151 With Crac5 2022 Free .
What Makes a Great Data Visualization Consulting Service.pdf
Top 10 Project Management Software for Small Teams in 2025.pdf
WJQSJXNAZJVCVSAXJHBZKSJXKJKXJSBHJBJEHHJB
PDF-XChange Editor Plus 10.7.0.398.0 Crack Free Download Latest 2025
MiniTool Power Data Recovery 12.6 Crack + Portable (Latest Version 2025)
Folder Lock 10.1.9 Crack With Serial Key
Post-Migration Optimization Playbook: Getting the Most Out of Your New Adobe ...
CapCut PRO for PC Crack New Download (Fully Activated 2025)
Foundations of Marketo Engage: Nurturing
ROI from Efficient Content & Campaign Management in the Digital Media Industry
SOFTWARE ENGINEERING Software Engineering (3rd Edition) by K.K. Aggarwal & Yo...
Mobile App Backend Development with WordPress REST API: The Complete eBook
Coding with GPT-5- What’s New in GPT 5 That Benefits Developers.pdf
Crypto Loss And Recovery Guide By Expert Recovery Agency.
Human Computer Interaction lecture Chapter 2.pptx
Streamlining Project Management in Microsoft Project, Planner, and Teams with...
Cloud Native Aachen Meetup - Aug 21, 2025
Module 1 - Introduction to Generative AI.pdf

Idea stickies green bar - Wroclaw edition