Model storming

Post on 08-Sep-2014

4.338 views 10 download

Tags:

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 of Model storming

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