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 left
Will 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 left
Will 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 left
Will 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 left
Will you help us?
... ok
... but let’s play with my rules.
Thursday, September 19, 13
avanscoperta
My rules
Find a dedicated place
Invite all the relevant people
Provide 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 result
Conflicts resolved on-the-fly
Thursday, September 19, 13
© Alberto Brandolini 2013
The result?
One HUGE tangible result
Conflicts resolved on-the-fly
The right conversations
Thursday, September 19, 13
© Alberto Brandolini 2013
The result?
One HUGE tangible result
Conflicts resolved on-the-fly
The right conversations
Bottlenecks highlighted
Thursday, September 19, 13
© Alberto Brandolini 2013
The result?
One HUGE tangible result
Conflicts resolved on-the-fly
The right conversations
Bottlenecks 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 working
day
Thursday, September 19, 13
© Alberto Brandolini 2013
The result?
one of my
best working
day everThursday, 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 left
Will 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 left
Will 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 left
Will you help us?
... ok
... but let’s play with my rules.
This will never work.
Thursday, September 19, 13
Foundations
Something I talked about in
London, not that long ago...
Thursday, September 19, 13
Ignorance is the single
greatest impediment
to throughput.
Dan North
http://dannorth.net/2010/08/30/introducing-deliberate-discovery/
Thursday, September 19, 13
Learning is the
constraint
Dan North
http://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
Summer
And 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 2013
Thursday, 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 2013
Thursday, September 19, 13
© Alberto Brandolini 2013
Thursday, 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 Space
Simple Gaming Rules
Thursday, September 19, 13
© Alberto Brandolini 2013
What is Model Storming?
Unlimited Modeling Space
Simple Gaming Rules
Active Collaboration
Thursday, September 19, 13
© Alberto Brandolini 2013
What is Model Storming?
Unlimited Modeling Space
Simple Gaming Rules
Active Collaboration
Addressing Complexity
Thursday, September 19, 13
© Alberto Brandolini 2013
What is Model Storming?
Unlimited Modeling Space
Simple Gaming Rules
Active Collaboration
Addressing Complexity
Everything is visible
Thursday, September 19, 13
© Alberto Brandolini 2013
What is Model Storming?
Unlimited Modeling Space
Simple Gaming Rules
Active Collaboration
Addressing Complexity
Everything is visible
Supporting divergence
Thursday, September 19, 13
© Alberto Brandolini 2013
What is Model Storming?
Unlimited Modeling Space
Simple Gaming Rules
Active Collaboration
Addressing Complexity
Everything is visible
Supporting divergence
Decide 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...
BIGGER
Thursday, September 19, 13
Conquer first
Divide later
Thursday, September 19, 13
© Alberto Brandolini 2013
My best friend
Thursday, September 19, 13
© Alberto Brandolini 2013
Thursday, September 19, 13
© Alberto Brandolini 2013
Unlimited surface
Thursday, September 19, 13
© Alberto Brandolini 2013
Unlimited surface
You 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
One
MarkerThursday, 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 1
Quick pattern matching
Thursday, September 19, 13
System 1
Quick pattern matching
Parallel processing, unaware mode
Thursday, September 19, 13
System 1
Quick pattern matching
Parallel processing, unaware mode
Low energy consumption
Thursday, September 19, 13
System 1
Quick pattern matching
Parallel processing, unaware mode
Low energy consumption
System 2
Thursday, September 19, 13
System 1
Quick pattern matching
Parallel processing, unaware mode
Low energy consumption
System 2
Complex elaboration that need
attention and concentration
Thursday, September 19, 13
System 1
Quick 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 1
Quick 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 1
Quick 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 1
Quick 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 1
Quick 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 1
Quick 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 1
Quick 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 brain
Doesn’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 brain
Quick in pattern matching
Thursday, September 19, 13
© Alberto Brandolini 2013
Our brain
Quick in pattern matching
(and unaware of it)
Thursday, September 19, 13
© Alberto Brandolini 2013
Our brain
Quick in pattern matching
(and unaware of it)
Provides inferior solutions
under pressure
Thursday, September 19, 13
© Alberto Brandolini 2013
Our brain
Quick in pattern matching
(and unaware of it)
Provides inferior solutions
under pressure
Tries to avoid complexity
Thursday, September 19, 13
© Alberto Brandolini 2013
Our brain
Quick in pattern matching
(and unaware of it)
Provides inferior solutions
under pressure
Tries to avoid complexity
Gets hooked by games
Thursday, September 19, 13
© Alberto Brandolini 2013
Thursday, September 19, 13
© Alberto Brandolini 2013
Thursday, September 19, 13
© Alberto Brandolini 2013
Can you pass by
without completing?Thursday, September 19, 13
© Alberto Brandolini 2013
Thursday, September 19, 13
© Alberto Brandolini 2013
And, by the way, playing
is how we learn betterThursday, 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 2013
Thursday, September 19, 13
© Alberto Brandolini 2013
Tell us whatever you wantThursday, September 19, 13
© Alberto Brandolini 2013
Thursday, 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 choices
There’s nothing *right* yet
No legacy
Thursday, September 19, 13
© Alberto Brandolini 2013
Addressing complexity
Data first
Structure 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 2013
Thursday, September 19, 13
© Alberto Brandolini 2013
Visualize everything
Thursday, September 19, 13
© Alberto Brandolini 2013
Thursday, September 19, 13
© Alberto Brandolini 2013
Thursday, September 19, 13
© Alberto Brandolini 2013
Visualize everything
Legend and Notation
Requirements and solution
Solutions
Disagreement
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 timeboxes
throwaway code
...more ;-)
coderetreat.org
Thursday, September 19, 13
coderetreat.org
Thursday, September 19, 13
coderetreat.org
Thursday, September 19, 13
coderetreat.org
Thursday, September 19, 13
coderetreat.org
Thursday, September 19, 13
coderetreat.org
Thursday, September 19, 13
coderetreat.org
Thursday, September 19, 13
coderetreat.org
Thursday, September 19, 13
coderetreat.org
Thursday, September 19, 13
Can we tweak it?
Thursday, September 19, 13
Yes!
Thursday, September 19, 13
© Alberto Brandolini 2013
Negotiating
We need a
tangible enemy
if there’s none ...
Thursday, September 19, 13
Your colleague
becomes the enemy
Thursday, September 19, 13
© Alberto Brandolini 2013
Negotiating
implicit 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 waste
It’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 unanswered
This might still be a Plan B
Thursday, September 19, 13
© Alberto Brandolini 2013
Still unanswered
This might still be a Plan B
Full-immersion
Thursday, September 19, 13
© Alberto Brandolini 2013
Still unanswered
This might still be a Plan B
Full-immersion
Go-see Gemba style
Thursday, September 19, 13
© Alberto Brandolini 2013
Still unanswered
This might still be a Plan B
Full-immersion
Go-see Gemba style
Thursday, September 19, 13
© Alberto Brandolini 2013
Still unanswered
This might still be a Plan B
Full-immersion
Go-see Gemba style
Optimal path to
implementation?
Thursday, September 19, 13
© Alberto Brandolini 2013
Still unanswered
This might still be a Plan B
Full-immersion
Go-see Gemba style
Optimal path to
implementation?
Some good ideas, though
Thursday, September 19, 13
It’s a fun job
and
somebody’s gotta do
it
Thursday, September 19, 13
Grazie!
@ziobrando
Thursday, September 19, 13

Model storming