avanscoperta

Model
Storming
A different approach to
collaborative model discovery
@ziobrando
#buildstufflt #modelstorming #e...
About me

About me

@ziobrando

@ziobrando
!

I do something else instead

avanscoperta
About me

About me

@ziobrando

DDD enthusiast

@ziobrando
!

I do something else instead

avanscoperta
About me

About me

@ziobrando

DDD enthusiast
@ziobrando
Post-it addicted
!

I do something else instead

avanscoperta
About me

About me

@ziobrando

DDD enthusiast
@ziobrando
Post-it addicted
Visual something else instead
I do thinker
!

a...
About me

About me

@ziobrando

DDD enthusiast
@ziobrando
Post-it addicted
Visual something else instead
I do thinker
Chao...
About me

About me

@ziobrando

DDD enthusiast
@ziobrando
Post-it addicted
Visual something else instead
I do thinker
Chao...
About me

About me

@ziobrando

DDD enthusiast
@ziobrando
Post-it addicted
Visual something else instead
I do thinker
Chao...
Part 1:
My insanely ambitious starting point
Typical enterprise architecture is flawed
pl i
Ap

io n
c at

Ap

pl i

D at a ba se

ca

io n n
t
ca
io
io n
i
pl
at
c at
Ap
l ic
pl i
pp
Ap
A

pp
A

tio

on
ti
ca...
Too much coupling
patches don’t help
Some folks call this a “model”
So you want to speak the “Ubiquitous
Language”, you scumbag?

©	
  Alberto	
  Brandolini	
  2009
011
So you want to speak the “Ubiquitous
Language”, you scumbag?

The only ubiquitous language is SQL!
Every Database speaks i...
Managing conflicting requirements
is always a pleasure
© Alberto Brandolini 2013
So we have trade offs

© Alberto Brandolini 2013
© Alberto Brandolini 2013
When will we
start refactoring?

© Alberto Brandolini 2013
When will we
start refactoring?

Mañana!!

© Alberto Brandolini 2013
Problem checklist
Typical enterprise software architecture is
flawed
Data driven
No bounded contexts

Conflicting requiremen...
Principle #1
The fastest way to remove
crap from your system is…

© Alberto Brandolini 2013
To put NO CRAP
into your system
Paratroopers

© Alberto Brandolini 2013
Paratroopers

Move towards the
taleban area

© Alberto Brandolini 2013
Paratroopers

Move towards the
taleban area
But this is Arizona…

© Alberto Brandolini 2013
Paratroopers

Move towards the
taleban area

Let’s iterate!

But this is Arizona…

© Alberto Brandolini 2013
There’s nothing
wrong with “embrace
change”, but…
The starting point
matters
Ignorance is the single
greatest impediment
to throughput.
Dan North
http://dannorth.net/2010/08/30/introducing-deliberate...
Learning is the
constraint

Dan North
http://dannorth.net/2010/08/30/introducing-deliberate-discovery/
Coding 20cl, learning 20cl,
deciding 20cl, waiting...
When doing DDD...
Software
development is a
learning process
Working code is a
side effect
Can we accelerate
learning?
Part 2:
Teach a man to fish
Why don’t you
put all of them in the
same room?

A simple
solution
Put
A simple solution
Put all the key stakeholders
in the same room and
sketch a model together

© Alberto Brandolini 2013
That will never work
Reasons why this is a bad idea
Reasons why this is a bad idea
Too expensive to get all the key people in the
same room at the same time
Reasons why this is a bad idea
Too expensive to get all the key people in the
same room at the same time
The meeting will ...
Reasons why this is a bad idea
Too expensive to get all the key people in the
same room at the same time
The meeting will ...
Reasons why this is a bad idea
Too expensive to get all the key people in the
same room at the same time
The meeting will ...
Reasons why this is a bad idea
Too expensive to get all the key people in the
same room at the same time
The meeting will ...
Reasons why this is a bad idea
Too expensive to get all the key people in the
same room at the same time
The meeting will ...
Solution #1
1. Designate a scapegoat
2. Let him call the meeting

©	
  Alberto	
  Brandolini	
  2009
Solution #2
Break some assumptions
Implicit assumptions
Implicit assumptions
The meeting will happen around a table
Implicit assumptions
The meeting will happen around a table
When one person speaks many will be bored
Implicit assumptions
The meeting will happen around a table
When one person speaks many will be bored
When many person spe...
Implicit assumptions
The meeting will happen around a table
When one person speaks many will be bored
When many person spe...
Implicit assumptions
The meeting will happen around a table
When one person speaks many will be bored
When many person spe...
That’s how I run meetings
The challenge
Can we run a meeting worth
more than the hourly cost of
the participants?

© Alberto Brandolini 2013
Event Storming!
© Alberto Brandolini 2013
Yes, I mean that much
space...
My best friend

© Alberto Brandolini 2013
And…
no table.
It’s no fun to just
watch others play
Events are precise
Event are meaningful
We’re getting to the
aggregates outside-in
Observe people
Observe people

© Alberto Brandolini 2013
Observe people
help those who are not
participating

© Alberto Brandolini 2013
Observe people
help those who are not
participating
remove impediments and
bottlenecks

© Alberto Brandolini 2013
Observe people
help those who are not
participating
remove impediments and
bottlenecks
Spot the ones who don’t belong
here...
Observe people
help those who are not
participating
remove impediments and
bottlenecks
Spot the ones who don’t belong
here...
Observe people
help those who are not
participating
remove impediments and
bottlenecks
Spot the ones who don’t belong
here...
I love conflicts here…
© Alberto Brandolini 2013
© Alberto Brandolini 2013
Or we can simply put
a
RED Marker
©	
  Alberto	
  Brandolini	
  2009
There’s nothing
wrong in learning
stuff faster
This summer…
A little community
Started experimenting

© Alberto Brandolini 2013
A little community
Started experimenting
@mathiasverraes

© Alberto Brandolini 2013
A little community
Started experimenting
@mathiasverraes @heimeshoff

© Alberto Brandolini 2013
A little community
Started experimenting
@mathiasverraes @heimeshoff
@andreabalducci

© Alberto Brandolini 2013
A little community
Started experimenting
@mathiasverraes @heimeshoff
@andreabalducci
@tojans
© Alberto Brandolini 2013
A little community
Started experimenting
@mathiasverraes @heimeshoff
@tjaskula
@andreabalducci
@tojans
© Alberto Brandolini...
A little community
Started experimenting
@mathiasverraes @heimeshoff
@tjaskula
@andreabalducci
@tojans @yreynhout
© Alberto...
A little community
Started experimenting
@mathiasverraes @heimeshoff
@tjaskula
@andreabalducci
@tojans @yreynhout
@alessand...
A little community
Started experimenting
@mathiasverraes @heimeshoff
@tjaskula
@andreabalducci
@tojans @yreynhout
@jefclaes...
A little community
Started experimenting
@mathiasverraes @heimeshoff
@tjaskula
@andreabalducci
@tojans @yreynhout
@jefclaes...
A little community
Started experimenting
@mathiasverraes @heimeshoff
@tjaskula
@andreabalducci
@sleli
@tojans @yreynhout
@j...
And the experiments
worked!

© Alberto Brandolini 2013
And the experiments
worked!
“This is awesome!”

© Alberto Brandolini 2013
And the experiments
worked!
“This is awesome!”
“For the first time,
developers started asking
the right questions!”

© Albe...
And the experiments
worked!
“This is awesome!”
“For the first time,
developers started asking
the right questions!”

“We tu...
And the experiments
triggered new ideas

© Alberto Brandolini 2013
And the experiments
triggered new ideas
“Let’s use it to set up our Kanban board!”

© 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...
And the experiments
triggered new ideas
“Let’s use it to set up our Kanban board!”

“is there a UX version
of the workshop...
And the experiments
triggered new ideas
“Let’s use it to set up our Kanban board!”
“We used a different
“is there a UX vers...
© Alberto Brandolini 2013
© Alberto Brandolini 2013
Part 4:
Model Storming
or
Meta fishing
I know, Part 3 is
missing…
Why does this work?
My secret weapon?
My secret weapon?
What is Model Storming?

© Alberto Brandolini 2013
What is Model Storming?
Unlimited Modeling Space

© Alberto Brandolini 2013
What is Model Storming?
Unlimited Modeling Space
Iterative notation

© Alberto Brandolini 2013
What is Model Storming?
Unlimited Modeling Space
Iterative notation
Simple Gaming Rules

© Alberto Brandolini 2013
What is Model Storming?
Unlimited Modeling Space
Iterative notation
Simple Gaming Rules
Active Collaboration

© Alberto Br...
What is Model Storming?
Unlimited Modeling Space
Iterative notation
Simple Gaming Rules
Active Collaboration
Addressing Co...
What is Model Storming?
Unlimited Modeling Space
Iterative notation
Simple Gaming Rules
Active Collaboration
Addressing Co...
What is Model Storming?
Unlimited Modeling Space
Iterative notation
Simple Gaming Rules
Active Collaboration
Addressing Co...
What is Model Storming?
Unlimited Modeling Space
Iterative notation
Simple Gaming Rules
Active Collaboration
Addressing Co...
Unlimited Modeling Space
My problem is...

© Alberto Brandolini 2013
Unlimited Modeling Space
My problem is...

BIGGER
© Alberto Brandolini 2013
You know why people
call it “the big
picture?”
Conquer first
Divide later
Guerrilla modeling

© Alberto Brandolini 2013
© Alberto Brandolini 2013
Unlimited surface

© Alberto Brandolini 2013
Unlimited surface
You don’t know the size of the
problem before exploring it

© Alberto Brandolini 2013
Iterative notation

© Alberto Brandolini 2013
Iterative notation
Choose one significant
aspect

© Alberto Brandolini 2013
Iterative notation
Choose one significant
aspect
Find the simplest possible
notation to represent it

© Alberto Brandolini ...
Iterative notation
Choose one significant
aspect
Find the simplest possible
notation to represent it
Choose the next aspect...
Active Collaboration
All participant should
actively contribute

© Alberto Brandolini 2013
One
Man
One
Marker
© Alberto Brandolini 2013
© Alberto Brandolini 2013
Tell us whatever you want
© Alberto Brandolini 2013
Gamification!
© Alberto Brandolini 2013
Our brain...

http://www.wpclipart.com/medical/anatomy/brain/four_lobes_of_the_cerebral_cortex.png.html
System 1
System 1
Quick pattern matching
System 1
Quick pattern matching
Parallel processing, unaware mode
System 1
Quick pattern matching
Parallel processing, unaware mode
Low energy consumption
System 1
Quick pattern matching
Parallel processing, unaware mode
Low energy consumption

System 2
System 1
Quick pattern matching
Parallel processing, unaware mode
Low energy consumption

System 2
Complex elaboration tha...
System 1
Quick pattern matching
Parallel processing, unaware mode
Low energy consumption

System 2
Complex elaboration tha...
System 1
Quick pattern matching
Parallel processing, unaware mode
Low energy consumption

System 2
Complex elaboration tha...
Maybe there’s a
reason for that
Let’s examine carefully
every possibility
System 1
Quick pattern matching
Parallel processing, unaware mode
Low energy consumption

System 2
Complex elaboration tha...
System 1
Quick pattern matching
Parallel processing, unaware mode
Low energy consumption

System 2
Complex elaboration tha...
System 1
Quick pattern matching

It’s the
same class!

Parallel processing, unaware mode
Low energy consumption

System 2
...
System 1
Quick pattern matching

It’s the
same class!

Parallel processing, unaware mode
Low energy consumption

System 2
...
System 1
Quick pattern matching

It’s the
same class!

Parallel processing, unaware mode
Low energy consumption

System 2
...
Our brain

© Alberto Brandolini 2013
Our brain
Quick in pattern matching

© Alberto Brandolini 2013
Our brain
Quick in pattern matching
(and unaware of it)

© Alberto Brandolini 2013
Our brain
Quick in pattern matching
(and unaware of it)
Provides inferior solutions
under pressure

© Alberto Brandolini 2...
Our brain
Quick in pattern matching
(and unaware of it)
Provides inferior solutions
under pressure
Tries to avoid complexi...
Our brain
Quick in pattern matching
(and unaware of it)
Provides inferior solutions
under pressure
Tries to avoid complexi...
© Alberto Brandolini 2013
© Alberto Brandolini 2013
Can you walk by
without completing?
© Alberto Brandolini 2013
© Alberto Brandolini 2013
And, by the way, playing
is how we learn better
© Alberto Brandolini 2013
Icebreakers needed
Deferring decisions
Implicit choices
There’s nothing *right* yet
No legacy

© Alberto Brandolini 2013
Embrace Fuzzyness
(temporarily)
It will compile
I promise
© Alberto Brandolini 2013
Addressing Complexity

Data first, structure later…
Everybody is
partitioning the
system
I just like taking a
detour first...
Visual representation
UML is too complex to
support a meaningful
conversation!
!

Whiteboards won’t compile
anyway
© Alber...
Visualize everything

© Alberto Brandolini 2013
© Alberto Brandolini 2013
© Alberto Brandolini 2013
Visualize everything
Legend and Notation
Requirements and solution
Solutions
Disagreement
Context
...
© Alberto Brandolini...
Keep the cognitive
load small
Design the workshop
User Experience
Exploring
Guys, we’re doing this one
really badly

© Alberto Brandolini 2013
Brainstorming rules
“We need at least 3 bad
ideas”

© Alberto Brandolini 2013
Short timeboxes
throwaway code
...more ;-)
coderetreat.org
coderetreat.org
coderetreat.org
coderetreat.org
coderetreat.org
coderetreat.org
coderetreat.org
coderetreat.org
coderetreat.org
Can we tweak it?
Modellathlon!
Human beings are the
best device ever…
…to detect somebody
else’s mistakes
Negotiating
We need a
tangible enemy
if there’s none ...

© Alberto Brandolini 2013
Your colleague
becomes the enemy
Negotiating
implicit meaning
Blah, blah, blah...

...And
obviously, blah,
blah...

Blah, blah, blah...

Ouch, he didn’t
me...
A tangible artifact
becomes the enemy
Your colleague
becomes your ally
Proving
Still… negotiating is waste
It’s not about convincing the
others...

© Alberto Brandolini 2013
Those are learning
cycles
Watching the ceiling
is forbidden!
Scope?
Complex problems
Event Storming
expected outcome
steered towards a canonical
model
partially defined steps
model affinity
given problem type
©...
Model storming
unpredictable outcome
no canonical model
notation incremente
iteratively
!

no predefined problem type
© Alb...
© Alberto Brandolini 2013
© Alberto Brandolini 2013
Some problems are resistant
to antibiotics
It’s a fun job
and
somebody’s gotta do
it
Let’s go fishing!
avanscoperta

Grazie!
@ziobrando
!

http://ziobrando.blogspot.com/2013/11/introducing-event-storming.html
http://www.avans...
Model storming - a different approach to collaborative model discovery (Vilnius edition)
Model storming - a different approach to collaborative model discovery (Vilnius edition)
Model storming - a different approach to collaborative model discovery (Vilnius edition)
Model storming - a different approach to collaborative model discovery (Vilnius edition)
Model storming - a different approach to collaborative model discovery (Vilnius edition)
Model storming - a different approach to collaborative model discovery (Vilnius edition)
Model storming - a different approach to collaborative model discovery (Vilnius edition)
Model storming - a different approach to collaborative model discovery (Vilnius edition)
Model storming - a different approach to collaborative model discovery (Vilnius edition)
Model storming - a different approach to collaborative model discovery (Vilnius edition)
Model storming - a different approach to collaborative model discovery (Vilnius edition)
Model storming - a different approach to collaborative model discovery (Vilnius edition)
Model storming - a different approach to collaborative model discovery (Vilnius edition)
Model storming - a different approach to collaborative model discovery (Vilnius edition)
Model storming - a different approach to collaborative model discovery (Vilnius edition)
Upcoming SlideShare
Loading in...5
×

Model storming - a different approach to collaborative model discovery (Vilnius edition)

3,321
-1

Published on

Many complex problems aren't properly managed because they aren't properly seen. To visualise them you need a lot of space and unusual techniques that help you model the unknown, in an interactive and extremely productive fashion.

Published in: Business, Technology

Model storming - a different approach to collaborative model discovery (Vilnius edition)

  1. 1. avanscoperta Model Storming A different approach to collaborative model discovery @ziobrando #buildstufflt #modelstorming #eventstorming
  2. 2. About me About me @ziobrando @ziobrando ! I do something else instead avanscoperta
  3. 3. About me About me @ziobrando DDD enthusiast @ziobrando ! I do something else instead avanscoperta
  4. 4. About me About me @ziobrando DDD enthusiast @ziobrando Post-it addicted ! I do something else instead avanscoperta
  5. 5. About me About me @ziobrando DDD enthusiast @ziobrando Post-it addicted Visual something else instead I do thinker ! avanscoperta
  6. 6. About me About me @ziobrando DDD enthusiast @ziobrando Post-it addicted Visual something else instead I do thinker Chaos summoner ! avanscoperta
  7. 7. About me About me @ziobrando DDD enthusiast @ziobrando Post-it addicted Visual something else instead I do thinker Chaos summoner Idea thief ! avanscoperta
  8. 8. About me About me @ziobrando DDD enthusiast @ziobrando Post-it addicted Visual something else instead I do thinker Chaos summoner Idea thief …never satisfied avanscoperta !
  9. 9. Part 1: My insanely ambitious starting point
  10. 10. Typical enterprise architecture is flawed
  11. 11. pl i Ap io n c at Ap pl i D at a ba se ca io n n t ca io io n i pl at c at Ap l ic pl i pp Ap A pp A tio on ti ca li pl i Ap io n at c n l ic pp A on ti a D at a ba se Typical enterprise architecture is flawed © Alberto Brandolini 2013
  12. 12. Too much coupling
  13. 13. patches don’t help
  14. 14. Some folks call this a “model”
  15. 15. So you want to speak the “Ubiquitous Language”, you scumbag? ©  Alberto  Brandolini  2009 011
  16. 16. So you want to speak the “Ubiquitous Language”, you scumbag? The only ubiquitous language is SQL! Every Database speaks it! ©  Alberto  Brandolini  2009 011
  17. 17. Managing conflicting requirements is always a pleasure © Alberto Brandolini 2013
  18. 18. So we have trade offs © Alberto Brandolini 2013
  19. 19. © Alberto Brandolini 2013
  20. 20. When will we start refactoring? © Alberto Brandolini 2013
  21. 21. When will we start refactoring? Mañana!! © Alberto Brandolini 2013
  22. 22. Problem checklist Typical enterprise software architecture is flawed Data driven No bounded contexts Conflicting requirements lead to trade-off solutions that ultimately clog our system The ever needed refactoring is always scheduled for the next week
  23. 23. Principle #1 The fastest way to remove crap from your system is… © Alberto Brandolini 2013
  24. 24. To put NO CRAP into your system
  25. 25. Paratroopers © Alberto Brandolini 2013
  26. 26. Paratroopers Move towards the taleban area © Alberto Brandolini 2013
  27. 27. Paratroopers Move towards the taleban area But this is Arizona… © Alberto Brandolini 2013
  28. 28. Paratroopers Move towards the taleban area Let’s iterate! But this is Arizona… © Alberto Brandolini 2013
  29. 29. There’s nothing wrong with “embrace change”, but…
  30. 30. The starting point matters
  31. 31. Ignorance is the single greatest impediment to throughput. Dan North http://dannorth.net/2010/08/30/introducing-deliberate-discovery/
  32. 32. Learning is the constraint Dan North http://dannorth.net/2010/08/30/introducing-deliberate-discovery/
  33. 33. Coding 20cl, learning 20cl, deciding 20cl, waiting...
  34. 34. When doing DDD...
  35. 35. Software development is a learning process Working code is a side effect
  36. 36. Can we accelerate learning?
  37. 37. Part 2: Teach a man to fish
  38. 38. Why don’t you put all of them in the same room? A simple solution Put
  39. 39. A simple solution Put all the key stakeholders in the same room and sketch a model together © Alberto Brandolini 2013
  40. 40. That will never work
  41. 41. Reasons why this is a bad idea
  42. 42. Reasons why this is a bad idea Too expensive to get all the key people in the same room at the same time
  43. 43. Reasons why this is a bad idea Too expensive to get all the key people in the same room at the same time The meeting will be totally non productive
  44. 44. Reasons why this is a bad idea Too expensive to get all the key people in the same room at the same time The meeting will be totally non productive Disagreement will turn into a fight
  45. 45. Reasons why this is a bad idea Too expensive to get all the key people in the same room at the same time The meeting will be totally non productive Disagreement will turn into a fight The meeting will be boring
  46. 46. Reasons why this is a bad idea Too expensive to get all the key people in the same room at the same time The meeting will be totally non productive Disagreement will turn into a fight The meeting will be boring They won’t come again
  47. 47. Reasons why this is a bad idea Too expensive to get all the key people in the same room at the same time The meeting will be totally non productive Disagreement will turn into a fight The meeting will be boring They won’t come again They’ll blame me
  48. 48. Solution #1
  49. 49. 1. Designate a scapegoat 2. Let him call the meeting ©  Alberto  Brandolini  2009
  50. 50. Solution #2 Break some assumptions
  51. 51. Implicit assumptions
  52. 52. Implicit assumptions The meeting will happen around a table
  53. 53. Implicit assumptions The meeting will happen around a table When one person speaks many will be bored
  54. 54. Implicit assumptions The meeting will happen around a table When one person speaks many will be bored When many person speak nobody will understand
  55. 55. Implicit assumptions The meeting will happen around a table When one person speaks many will be bored When many person speak nobody will understand We’ll talk about technical things
  56. 56. Implicit assumptions The meeting will happen around a table When one person speaks many will be bored When many person speak nobody will understand We’ll talk about technical things I’ll have to bring my smartphone with me
  57. 57. That’s how I run meetings
  58. 58. The challenge Can we run a meeting worth more than the hourly cost of the participants? © Alberto Brandolini 2013
  59. 59. Event Storming!
  60. 60. © Alberto Brandolini 2013
  61. 61. Yes, I mean that much space...
  62. 62. My best friend © Alberto Brandolini 2013
  63. 63. And… no table.
  64. 64. It’s no fun to just watch others play
  65. 65. Events are precise
  66. 66. Event are meaningful
  67. 67. We’re getting to the aggregates outside-in
  68. 68. Observe people
  69. 69. Observe people © Alberto Brandolini 2013
  70. 70. Observe people help those who are not participating © Alberto Brandolini 2013
  71. 71. Observe people help those who are not participating remove impediments and bottlenecks © Alberto Brandolini 2013
  72. 72. Observe people help those who are not participating remove impediments and bottlenecks Spot the ones who don’t belong here © Alberto Brandolini 2013
  73. 73. Observe people help those who are not participating remove impediments and bottlenecks Spot the ones who don’t belong here Spot the ones that care © Alberto Brandolini 2013
  74. 74. Observe people help those who are not participating remove impediments and bottlenecks Spot the ones who don’t belong here Spot the ones that care Manage conflicts © Alberto Brandolini 2013
  75. 75. I love conflicts here… © Alberto Brandolini 2013
  76. 76. © Alberto Brandolini 2013
  77. 77. Or we can simply put a RED Marker ©  Alberto  Brandolini  2009
  78. 78. There’s nothing wrong in learning stuff faster
  79. 79. This summer…
  80. 80. A little community Started experimenting © Alberto Brandolini 2013
  81. 81. A little community Started experimenting @mathiasverraes © Alberto Brandolini 2013
  82. 82. A little community Started experimenting @mathiasverraes @heimeshoff © Alberto Brandolini 2013
  83. 83. A little community Started experimenting @mathiasverraes @heimeshoff @andreabalducci © Alberto Brandolini 2013
  84. 84. A little community Started experimenting @mathiasverraes @heimeshoff @andreabalducci @tojans © Alberto Brandolini 2013
  85. 85. A little community Started experimenting @mathiasverraes @heimeshoff @tjaskula @andreabalducci @tojans © Alberto Brandolini 2013
  86. 86. A little community Started experimenting @mathiasverraes @heimeshoff @tjaskula @andreabalducci @tojans @yreynhout © Alberto Brandolini 2013
  87. 87. A little community Started experimenting @mathiasverraes @heimeshoff @tjaskula @andreabalducci @tojans @yreynhout @alessandrocolla © Alberto Brandolini 2013
  88. 88. A little community Started experimenting @mathiasverraes @heimeshoff @tjaskula @andreabalducci @tojans @yreynhout @jefclaes @alessandrocolla © Alberto Brandolini 2013
  89. 89. A little community Started experimenting @mathiasverraes @heimeshoff @tjaskula @andreabalducci @tojans @yreynhout @jefclaes @alessandrocolla @lorenzomassacci © Alberto Brandolini 2013
  90. 90. A little community Started experimenting @mathiasverraes @heimeshoff @tjaskula @andreabalducci @sleli @tojans @yreynhout @jefclaes @alessandrocolla @lorenzomassacci © Alberto Brandolini 2013
  91. 91. And the experiments worked! © Alberto Brandolini 2013
  92. 92. And the experiments worked! “This is awesome!” © Alberto Brandolini 2013
  93. 93. And the experiments worked! “This is awesome!” “For the first time, developers started asking the right questions!” © Alberto Brandolini 2013
  94. 94. 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” © Alberto Brandolini 2013
  95. 95. And the experiments triggered new ideas © Alberto Brandolini 2013
  96. 96. And the experiments triggered new ideas “Let’s use it to set up our Kanban board!” © Alberto Brandolini 2013
  97. 97. And the experiments triggered new ideas “Let’s use it to set up our Kanban board!” “is there a UX version of the workshop?” © Alberto Brandolini 2013
  98. 98. 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?” © Alberto Brandolini 2013
  99. 99. And the experiments triggered new ideas “Let’s use it to set up our Kanban board!” “We used a different “is there a UX version set of rules” of the workshop?” “How can we use this to steer implementation?” © Alberto Brandolini 2013
  100. 100. © Alberto Brandolini 2013
  101. 101. © Alberto Brandolini 2013
  102. 102. Part 4: Model Storming or Meta fishing
  103. 103. I know, Part 3 is missing…
  104. 104. Why does this work?
  105. 105. My secret weapon?
  106. 106. My secret weapon?
  107. 107. What is Model Storming? © Alberto Brandolini 2013
  108. 108. What is Model Storming? Unlimited Modeling Space © Alberto Brandolini 2013
  109. 109. What is Model Storming? Unlimited Modeling Space Iterative notation © Alberto Brandolini 2013
  110. 110. What is Model Storming? Unlimited Modeling Space Iterative notation Simple Gaming Rules © Alberto Brandolini 2013
  111. 111. What is Model Storming? Unlimited Modeling Space Iterative notation Simple Gaming Rules Active Collaboration © Alberto Brandolini 2013
  112. 112. What is Model Storming? Unlimited Modeling Space Iterative notation Simple Gaming Rules Active Collaboration Addressing Complexity © Alberto Brandolini 2013
  113. 113. What is Model Storming? Unlimited Modeling Space Iterative notation Simple Gaming Rules Active Collaboration Addressing Complexity Everything is visible © Alberto Brandolini 2013
  114. 114. What is Model Storming? Unlimited Modeling Space Iterative notation Simple Gaming Rules Active Collaboration Addressing Complexity Everything is visible Supporting divergence © Alberto Brandolini 2013
  115. 115. What is Model Storming? Unlimited Modeling Space Iterative notation Simple Gaming Rules Active Collaboration Addressing Complexity Everything is visible Supporting divergence Decide later © Alberto Brandolini 2013
  116. 116. Unlimited Modeling Space My problem is... © Alberto Brandolini 2013
  117. 117. Unlimited Modeling Space My problem is... BIGGER © Alberto Brandolini 2013
  118. 118. You know why people call it “the big picture?”
  119. 119. Conquer first Divide later
  120. 120. Guerrilla modeling © Alberto Brandolini 2013
  121. 121. © Alberto Brandolini 2013
  122. 122. Unlimited surface © Alberto Brandolini 2013
  123. 123. Unlimited surface You don’t know the size of the problem before exploring it © Alberto Brandolini 2013
  124. 124. Iterative notation © Alberto Brandolini 2013
  125. 125. Iterative notation Choose one significant aspect © Alberto Brandolini 2013
  126. 126. Iterative notation Choose one significant aspect Find the simplest possible notation to represent it © Alberto Brandolini 2013
  127. 127. Iterative notation Choose one significant aspect Find the simplest possible notation to represent it Choose the next aspect to model © Alberto Brandolini 2013
  128. 128. Active Collaboration All participant should actively contribute © Alberto Brandolini 2013
  129. 129. One Man One Marker © Alberto Brandolini 2013
  130. 130. © Alberto Brandolini 2013
  131. 131. Tell us whatever you want © Alberto Brandolini 2013
  132. 132. Gamification!
  133. 133. © Alberto Brandolini 2013
  134. 134. Our brain... http://www.wpclipart.com/medical/anatomy/brain/four_lobes_of_the_cerebral_cortex.png.html
  135. 135. System 1
  136. 136. System 1 Quick pattern matching
  137. 137. System 1 Quick pattern matching Parallel processing, unaware mode
  138. 138. System 1 Quick pattern matching Parallel processing, unaware mode Low energy consumption
  139. 139. System 1 Quick pattern matching Parallel processing, unaware mode Low energy consumption System 2
  140. 140. System 1 Quick pattern matching Parallel processing, unaware mode Low energy consumption System 2 Complex elaboration that need attention and concentration
  141. 141. System 1 Quick pattern matching Parallel processing, unaware mode Low energy consumption System 2 Complex elaboration that need attention and concentration No parallelism
  142. 142. System 1 Quick pattern matching Parallel processing, unaware mode Low energy consumption System 2 Complex elaboration that need attention and concentration No parallelism High energy consumption
  143. 143. Maybe there’s a reason for that
  144. 144. Let’s examine carefully every possibility
  145. 145. System 1 Quick pattern matching Parallel processing, unaware mode Low energy consumption System 2 Complex elaboration that need attention and concentration No parallelism High energy consumption
  146. 146. System 1 Quick pattern matching Parallel processing, unaware mode Low energy consumption System 2 Complex elaboration that need attention and concentration No parallelism High energy consumption It’s the same class!
  147. 147. System 1 Quick pattern matching It’s the same class! Parallel processing, unaware mode Low energy consumption System 2 Complex elaboration that need attention and concentration No parallelism High energy consumption It’s obvious!
  148. 148. System 1 Quick pattern matching It’s the same class! Parallel processing, unaware mode Low energy consumption System 2 Complex elaboration that need attention and concentration No parallelism High energy consumption It’s obvious! Let’s consider Bounded Contexts
  149. 149. System 1 Quick pattern matching It’s the same class! Parallel processing, unaware mode Low energy consumption System 2 Complex elaboration that need attention and concentration No parallelism High energy consumption It’s obvious! Let’s consider Bounded Contexts Let’s see the whole
  150. 150. Our brain © Alberto Brandolini 2013
  151. 151. Our brain Quick in pattern matching © Alberto Brandolini 2013
  152. 152. Our brain Quick in pattern matching (and unaware of it) © Alberto Brandolini 2013
  153. 153. Our brain Quick in pattern matching (and unaware of it) Provides inferior solutions under pressure © Alberto Brandolini 2013
  154. 154. Our brain Quick in pattern matching (and unaware of it) Provides inferior solutions under pressure Tries to avoid complexity © Alberto Brandolini 2013
  155. 155. Our brain Quick in pattern matching (and unaware of it) Provides inferior solutions under pressure Tries to avoid complexity Gets hooked by games © Alberto Brandolini 2013
  156. 156. © Alberto Brandolini 2013
  157. 157. © Alberto Brandolini 2013
  158. 158. Can you walk by without completing? © Alberto Brandolini 2013
  159. 159. © Alberto Brandolini 2013
  160. 160. And, by the way, playing is how we learn better © Alberto Brandolini 2013
  161. 161. Icebreakers needed
  162. 162. Deferring decisions Implicit choices There’s nothing *right* yet No legacy © Alberto Brandolini 2013
  163. 163. Embrace Fuzzyness (temporarily)
  164. 164. It will compile
  165. 165. I promise
  166. 166. © Alberto Brandolini 2013
  167. 167. Addressing Complexity Data first, structure later…
  168. 168. Everybody is partitioning the system
  169. 169. I just like taking a detour first...
  170. 170. Visual representation UML is too complex to support a meaningful conversation! ! Whiteboards won’t compile anyway © Alberto Brandolini 2013
  171. 171. Visualize everything © Alberto Brandolini 2013
  172. 172. © Alberto Brandolini 2013
  173. 173. © Alberto Brandolini 2013
  174. 174. Visualize everything Legend and Notation Requirements and solution Solutions Disagreement Context ... © Alberto Brandolini 2013
  175. 175. Keep the cognitive load small
  176. 176. Design the workshop User Experience
  177. 177. Exploring Guys, we’re doing this one really badly © Alberto Brandolini 2013
  178. 178. Brainstorming rules “We need at least 3 bad ideas” © Alberto Brandolini 2013
  179. 179. Short timeboxes throwaway code ...more ;-) coderetreat.org
  180. 180. coderetreat.org
  181. 181. coderetreat.org
  182. 182. coderetreat.org
  183. 183. coderetreat.org
  184. 184. coderetreat.org
  185. 185. coderetreat.org
  186. 186. coderetreat.org
  187. 187. coderetreat.org
  188. 188. Can we tweak it?
  189. 189. Modellathlon!
  190. 190. Human beings are the best device ever…
  191. 191. …to detect somebody else’s mistakes
  192. 192. Negotiating We need a tangible enemy if there’s none ... © Alberto Brandolini 2013
  193. 193. Your colleague becomes the enemy
  194. 194. Negotiating implicit meaning Blah, blah, blah... ...And obviously, blah, blah... Blah, blah, blah... Ouch, he didn’t mention wah, wah... © Alberto Brandolini 2013
  195. 195. A tangible artifact becomes the enemy
  196. 196. Your colleague becomes your ally
  197. 197. Proving Still… negotiating is waste It’s not about convincing the others... © Alberto Brandolini 2013
  198. 198. Those are learning cycles
  199. 199. Watching the ceiling is forbidden!
  200. 200. Scope?
  201. 201. Complex problems
  202. 202. Event Storming expected outcome steered towards a canonical model partially defined steps model affinity given problem type © Alberto Brandolini 2013
  203. 203. Model storming unpredictable outcome no canonical model notation incremente iteratively ! no predefined problem type © Alberto Brandolini 2013
  204. 204. © Alberto Brandolini 2013
  205. 205. © Alberto Brandolini 2013
  206. 206. Some problems are resistant to antibiotics
  207. 207. It’s a fun job and somebody’s gotta do it
  208. 208. Let’s go fishing!
  209. 209. avanscoperta Grazie! @ziobrando ! http://ziobrando.blogspot.com/2013/11/introducing-event-storming.html http://www.avanscoperta.it
  1. A particular slide catching your eye?

    Clipping is a handy way to collect important slides you want to go back to later.

×