model storming
DESCRIPTION
This is my presentation at DDD eXchange New York, about Event Storming and the broader concept of Model Storming and the various modeling and problem solving techniques that we've been experimenting in the last months.TRANSCRIPT
Model Storming
A different approach to collaborative model discovery
Model Storming
Model Storming
Thursday, September 19, 13
About me@ziobrando
I do something else instead
Thursday, September 19, 13
Prelude
Thursday, September 19, 13
We need to complete the planning for the project portfolio for the whole year. We have- 17 teams- +160 projects- around 200 people involved- only 2 days leftWill you help us?
Thursday, September 19, 13
What would you do?
Thursday, September 19, 13
We need to complete the planning for the project portfolio for the whole year. We have- 17 teams- +160 projects- around 200 people involved- only 2 days leftWill you help us?
Thursday, September 19, 13
We need to complete the planning for the project portfolio for the whole year. We have- 17 teams- +160 projects- around 200 people involved- only 2 days leftWill you help us?
... ok
Thursday, September 19, 13
We need to complete the planning for the project portfolio for the whole year. We have- 17 teams- +160 projects- around 200 people involved- only 2 days leftWill you help us?
... ok
... but let’s play with my rules.
Thursday, September 19, 13
avanscoperta
My rules
Find a dedicated placeInvite all the relevant peopleProvide some simple rules...secret weapons :-)
Thursday, September 19, 13
My secret weapon
Thursday, September 19, 13
My secret weapon
Thursday, September 19, 13
Let’s facilitate!
Thursday, September 19, 13
Ice breakers
Thursday, September 19, 13
... by 7 p.m.
Thursday, September 19, 13
Thursday, September 19, 13
© Alberto Brandolini 2013
The result?
Thursday, September 19, 13
© Alberto Brandolini 2013
The result?
One HUGE tangible result
Thursday, September 19, 13
© Alberto Brandolini 2013
The result?
One HUGE tangible resultConflicts resolved on-the-fly
Thursday, September 19, 13
© Alberto Brandolini 2013
The result?
One HUGE tangible resultConflicts resolved on-the-fly
The right conversations
Thursday, September 19, 13
© Alberto Brandolini 2013
The result?
One HUGE tangible resultConflicts resolved on-the-fly
The right conversationsBottlenecks highlighted
Thursday, September 19, 13
© Alberto Brandolini 2013
The result?
One HUGE tangible resultConflicts resolved on-the-fly
The right conversationsBottlenecks highlighted
4 month of smooth planning
Thursday, September 19, 13
© Alberto Brandolini 2013
The result?
Thursday, September 19, 13
© Alberto Brandolini 2013
The result?
one
Thursday, September 19, 13
© Alberto Brandolini 2013
The result?
one of
Thursday, September 19, 13
© Alberto Brandolini 2013
The result?
one of my
Thursday, September 19, 13
© Alberto Brandolini 2013
The result?
one of my
best
Thursday, September 19, 13
© Alberto Brandolini 2013
The result?
one of my
best working
Thursday, September 19, 13
© Alberto Brandolini 2013
The result?
one of my
best workingday
Thursday, September 19, 13
© Alberto Brandolini 2013
The result?
one of my
best workingday ever
Thursday, September 19, 13
We need to complete the planning for the project portfolio for the whole year. We have- 17 teams- +160 projects- around 200 people involved- only 2 days leftWill you help us?
This will never work.Thursday, September 19, 13
We need to complete the planning for the project portfolio for the whole year. We have- 17 teams- +160 projects- around 200 people involved- only 2 days leftWill you help us?
... ok
This will never work.Thursday, September 19, 13
We need to complete the planning for the project portfolio for the whole year. We have- 17 teams- +160 projects- around 200 people involved- only 2 days leftWill you help us?
... ok
... but let’s play with my rules.
This will never work.Thursday, September 19, 13
FoundationsSomething I talked about in London, not that long ago...
Thursday, September 19, 13
Ignorance is the single greatest impediment
to throughput.
Dan Northhttp://dannorth.net/2010/08/30/introducing-deliberate-discovery/
Thursday, September 19, 13
Learning is the constraint
Dan Northhttp://dannorth.net/2010/08/30/introducing-deliberate-discovery/
Thursday, September 19, 13
...maybe not the only one...
Thursday, September 19, 13
When doing DDD...
Thursday, September 19, 13
Software development is a learning process
Working code is a side effect
Thursday, September 19, 13
Coding 20cl, learning 20cl, deciding 20cl, waiting...
Thursday, September 19, 13
What can we do to improve learning?
Thursday, September 19, 13
What can we do to improve decision
making?
Thursday, September 19, 13
SummerAnd something quite
unexpected
Thursday, September 19, 13
Thursday, September 19, 13
Thursday, September 19, 13
© Alberto Brandolini 2013
A little community...
Started experimenting
Thursday, September 19, 13
© Alberto Brandolini 2013
A little community...
Started experimenting
@mathiasverraes
Thursday, September 19, 13
© Alberto Brandolini 2013
A little community...
Started experimenting
@mathiasverraes @heimeshoff
Thursday, September 19, 13
© Alberto Brandolini 2013
A little community...
Started experimenting
@mathiasverraes @heimeshoff@andreabalducci
Thursday, September 19, 13
© Alberto Brandolini 2013
A little community...
Started experimenting
@mathiasverraes @heimeshoff@andreabalducci
@tojans
Thursday, September 19, 13
© Alberto Brandolini 2013
A little community...
Started experimenting
@mathiasverraes @heimeshoff@andreabalducci
@tojans
@tjaskula
Thursday, September 19, 13
© Alberto Brandolini 2013
A little community...
Started experimenting
@mathiasverraes @heimeshoff@andreabalducci
@tojans
@tjaskula@yreynhout
Thursday, September 19, 13
© Alberto Brandolini 2013
A little community...
Started experimenting
@mathiasverraes @heimeshoff@andreabalducci
@tojans
@tjaskula@yreynhout
@alessandrocolla
Thursday, September 19, 13
© Alberto Brandolini 2013
A little community...
Started experimenting
@mathiasverraes @heimeshoff@andreabalducci
@tojans
@tjaskula@yreynhout
@alessandrocolla @jefclaes
Thursday, September 19, 13
© Alberto Brandolini 2013
A little community...
Started experimenting
@mathiasverraes @heimeshoff@andreabalducci
@tojans
@tjaskula@yreynhout
@alessandrocolla @jefclaes@lorenzomassacci
Thursday, September 19, 13
© Alberto Brandolini 2013
A little community...
Started experimenting
@mathiasverraes @heimeshoff@andreabalducci
@tojans
@tjaskula@yreynhout
@alessandrocolla @jefclaes@lorenzomassacci
@sleli
Thursday, September 19, 13
© Alberto Brandolini 2013
And the experiments worked
Thursday, September 19, 13
© Alberto Brandolini 2013
And the experiments worked
“This is awesome!”
Thursday, September 19, 13
© Alberto Brandolini 2013
And the experiments worked
“This is awesome!”“For the first time,
developers started asking the right questions!”
Thursday, September 19, 13
© Alberto Brandolini 2013
And the experiments worked
“This is awesome!”“For the first time,
developers started asking the right questions!”
“We turned the model into implementation on the same afternoon”
Thursday, September 19, 13
© Alberto Brandolini 2013
Event storming was “formalized”
Thursday, September 19, 13
© Alberto Brandolini 2013Thursday, September 19, 13
© Alberto Brandolini 2013
And the experiments triggered new ideas
Thursday, September 19, 13
© Alberto Brandolini 2013
And the experiments triggered new ideas
“Let’s use it to set up our Kanban board!”
Thursday, September 19, 13
© Alberto Brandolini 2013
And the experiments triggered new ideas
“Let’s use it to set up our Kanban board!”
“is there a UX version of the workshop?”
Thursday, September 19, 13
© Alberto Brandolini 2013
And the experiments triggered new ideas
“Let’s use it to set up our Kanban board!”
“is there a UX version of the workshop?”
“How can we use this to steer implementation?”
Thursday, September 19, 13
© Alberto Brandolini 2013
And the experiments triggered new ideas
“Let’s use it to set up our Kanban board!”
“is there a UX version of the workshop?”
“How can we use this to steer implementation?”
“We used a different set of rules”
Thursday, September 19, 13
© Alberto Brandolini 2013Thursday, September 19, 13
© Alberto Brandolini 2013Thursday, September 19, 13
© Alberto Brandolini 2013
What is Model Storming?
Thursday, September 19, 13
© Alberto Brandolini 2013
What is Model Storming?
Unlimited Modeling Space
Thursday, September 19, 13
© Alberto Brandolini 2013
What is Model Storming?
Unlimited Modeling SpaceSimple Gaming Rules
Thursday, September 19, 13
© Alberto Brandolini 2013
What is Model Storming?
Unlimited Modeling SpaceSimple Gaming RulesActive Collaboration
Thursday, September 19, 13
© Alberto Brandolini 2013
What is Model Storming?
Unlimited Modeling SpaceSimple Gaming RulesActive Collaboration
Addressing Complexity
Thursday, September 19, 13
© Alberto Brandolini 2013
What is Model Storming?
Unlimited Modeling SpaceSimple Gaming RulesActive Collaboration
Addressing ComplexityEverything is visible
Thursday, September 19, 13
© Alberto Brandolini 2013
What is Model Storming?
Unlimited Modeling SpaceSimple Gaming RulesActive Collaboration
Addressing ComplexityEverything is visible
Supporting divergence
Thursday, September 19, 13
© Alberto Brandolini 2013
What is Model Storming?
Unlimited Modeling SpaceSimple Gaming RulesActive Collaboration
Addressing ComplexityEverything is visible
Supporting divergenceDecide later
Thursday, September 19, 13
© Alberto Brandolini 2013
Unlimited Modeling Space
My problem is...
Thursday, September 19, 13
© Alberto Brandolini 2013
Unlimited Modeling Space
My problem is...
BIGGERThursday, September 19, 13
Conquer firstDivide later
Thursday, September 19, 13
© Alberto Brandolini 2013
My best friend
Thursday, September 19, 13
© Alberto Brandolini 2013Thursday, September 19, 13
© Alberto Brandolini 2013
Unlimited surface
Thursday, September 19, 13
© Alberto Brandolini 2013
Unlimited surfaceYou don’t know the size of the
problem before exploring it
Thursday, September 19, 13
© Alberto Brandolini 2013
Active Collaboration
All participant should actively contribute
Thursday, September 19, 13
© Alberto Brandolini 2013
One Man
OneMarker
Thursday, September 19, 13
It’s no fun to just watch others play
Thursday, September 19, 13
Our brain...
http://www.wpclipart.com/medical/anatomy/brain/four_lobes_of_the_cerebral_cortex.png.html
Thursday, September 19, 13
Thursday, September 19, 13
System 1
Thursday, September 19, 13
System 1Quick pattern matching
Thursday, September 19, 13
System 1Quick pattern matching
Parallel processing, unaware mode
Thursday, September 19, 13
System 1Quick pattern matching
Parallel processing, unaware mode
Low energy consumption
Thursday, September 19, 13
System 1Quick pattern matching
Parallel processing, unaware mode
Low energy consumption
System 2
Thursday, September 19, 13
System 1Quick pattern matching
Parallel processing, unaware mode
Low energy consumption
System 2Complex elaboration that need attention and concentration
Thursday, September 19, 13
System 1Quick pattern matching
Parallel processing, unaware mode
Low energy consumption
System 2
No parallelism
Complex elaboration that need attention and concentration
Thursday, September 19, 13
System 1Quick pattern matching
Parallel processing, unaware mode
Low energy consumption
System 2
High energy consumption
No parallelism
Complex elaboration that need attention and concentration
Thursday, September 19, 13
Maybe there’s a reason for that
Thursday, September 19, 13
Let’s examine carefully every possibility
Thursday, September 19, 13
Thursday, September 19, 13
System 1Quick pattern matching
Parallel processing, unaware mode
Low energy consumption
System 2
High energy consumption
No parallelism
Complex elaboration that need attention and concentration
Thursday, September 19, 13
System 1Quick pattern matching
Parallel processing, unaware mode
Low energy consumption
System 2
High energy consumption
No parallelism
Complex elaboration that need attention and concentration
It’s the same class!
Thursday, September 19, 13
System 1Quick pattern matching
Parallel processing, unaware mode
Low energy consumption
System 2
High energy consumption
No parallelism
Complex elaboration that need attention and concentration
It’s the same class!
It’s obvious!
Thursday, September 19, 13
System 1Quick pattern matching
Parallel processing, unaware mode
Low energy consumption
System 2
High energy consumption
No parallelism
Complex elaboration that need attention and concentration
It’s the same class!
It’s obvious!
Let’s consider Bounded Contexts
Thursday, September 19, 13
System 1Quick pattern matching
Parallel processing, unaware mode
Low energy consumption
System 2
High energy consumption
No parallelism
Complex elaboration that need attention and concentration
It’s the same class!
It’s obvious!
Let’s consider Bounded Contexts
Let’s see the whole
Thursday, September 19, 13
Our brainDoesn’t learn under stress
Provides inferior solutions under pressure
Tries to preserve energies
Thursday, September 19, 13
© Alberto Brandolini 2013
Our brain
Thursday, September 19, 13
© Alberto Brandolini 2013
Our brainQuick in pattern matching
Thursday, September 19, 13
© Alberto Brandolini 2013
Our brainQuick in pattern matching
(and unaware of it)
Thursday, September 19, 13
© Alberto Brandolini 2013
Our brainQuick in pattern matching
(and unaware of it)Provides inferior solutions
under pressure
Thursday, September 19, 13
© Alberto Brandolini 2013
Our brainQuick in pattern matching
(and unaware of it)Provides inferior solutions
under pressureTries to avoid complexity
Thursday, September 19, 13
© Alberto Brandolini 2013
Our brainQuick in pattern matching
(and unaware of it)Provides inferior solutions
under pressureTries to avoid complexityGets hooked by games
Thursday, September 19, 13
© Alberto Brandolini 2013Thursday, September 19, 13
© Alberto Brandolini 2013Thursday, September 19, 13
© Alberto Brandolini 2013
Can you pass by without completing?
Thursday, September 19, 13
© Alberto Brandolini 2013Thursday, September 19, 13
© Alberto Brandolini 2013
And, by the way, playing is how we learn better
Thursday, September 19, 13
Gamification!
Thursday, September 19, 13
© Alberto Brandolini 2013
Gamification
We need some rules to start moving
Thursday, September 19, 13
© Alberto Brandolini 2013Thursday, September 19, 13
© Alberto Brandolini 2013Tell us whatever you want
Thursday, September 19, 13
© Alberto Brandolini 2013Thursday, September 19, 13
Embrace Fuzzyness(temporarily)
Thursday, September 19, 13
It will compile
Thursday, September 19, 13
I promise
Thursday, September 19, 13
...and we still need him!
Thursday, September 19, 13
© Alberto Brandolini 2013
Deferring decisions
Implicit choicesThere’s nothing *right* yet
No legacy
Thursday, September 19, 13
© Alberto Brandolini 2013
Addressing complexity
Data firstStructure later
Thursday, September 19, 13
Everybody is partitioning the
system
Thursday, September 19, 13
I just like taking a detour first...
Thursday, September 19, 13
© Alberto Brandolini 2013
Lo-fi notation
UML is too complex to support a meaningful
conversation!
Whiteboards won’t compile anyway
Thursday, September 19, 13
© Alberto Brandolini 2013Thursday, September 19, 13
© Alberto Brandolini 2013
Visualize everything
Thursday, September 19, 13
© Alberto Brandolini 2013Thursday, September 19, 13
© Alberto Brandolini 2013Thursday, September 19, 13
© Alberto Brandolini 2013
Visualize everything
Legend and NotationRequirements and solution
SolutionsDisagreement
Context...
Thursday, September 19, 13
Keep the cognitive load small
Thursday, September 19, 13
© Alberto Brandolini 2013
Exploring
Guys, we’re doing this one really badly
Thursday, September 19, 13
© Alberto Brandolini 2013
Brainstorming rules
“We need at least 3 bad ideas”
Thursday, September 19, 13
Short timeboxesthrowaway code
...more ;-)
coderetreat.orgThursday, September 19, 13
coderetreat.orgThursday, September 19, 13
coderetreat.orgThursday, September 19, 13
coderetreat.orgThursday, September 19, 13
coderetreat.orgThursday, September 19, 13
coderetreat.orgThursday, September 19, 13
coderetreat.orgThursday, September 19, 13
coderetreat.orgThursday, September 19, 13
coderetreat.orgThursday, September 19, 13
Can we tweak it?
Thursday, September 19, 13
Yes!
Thursday, September 19, 13
© Alberto Brandolini 2013
Negotiating
We need a tangible enemyif there’s none ...
Thursday, September 19, 13
Your colleague becomes the enemy
Thursday, September 19, 13
© Alberto Brandolini 2013
Negotiatingimplicit meaning
Blah, blah, blah...
...And obviously, blah,
blah...
Blah, blah, blah...
Ouch, he didn’t mention wah, wah...
Thursday, September 19, 13
A tangible artifact becomes the enemy
Thursday, September 19, 13
Your colleague becomes your ally
Thursday, September 19, 13
© Alberto Brandolini 2013
Proving
Still negotiating is wasteIt’s not about convincing the
others...
Thursday, September 19, 13
Thursday, September 19, 13
Thursday, September 19, 13
Thursday, September 19, 13
Coding against an ecosystem
Thursday, September 19, 13
Coding against an ecosystem
How do we measure effect on an ecosystem?
Thursday, September 19, 13
Watching the ceiling is forbidden!
Thursday, September 19, 13
© Alberto Brandolini 2013
Still unanswered
Thursday, September 19, 13
© Alberto Brandolini 2013
Still unansweredThis might still be a Plan B
Thursday, September 19, 13
© Alberto Brandolini 2013
Still unansweredThis might still be a Plan B
Full-immersion
Thursday, September 19, 13
© Alberto Brandolini 2013
Still unansweredThis might still be a Plan B
Full-immersionGo-see Gemba style
Thursday, September 19, 13
© Alberto Brandolini 2013
Still unansweredThis might still be a Plan B
Full-immersionGo-see Gemba style
Thursday, September 19, 13
© Alberto Brandolini 2013
Still unansweredThis might still be a Plan B
Full-immersionGo-see Gemba style
Optimal path to implementation?
Thursday, September 19, 13
© Alberto Brandolini 2013
Still unansweredThis might still be a Plan B
Full-immersionGo-see Gemba style
Optimal path to implementation?
Some good ideas, though
Thursday, September 19, 13
It’s a fun joband
somebody’s gotta do it
Thursday, September 19, 13
Grazie!@ziobrando
Thursday, September 19, 13