the alignment
TRANSCRIPT
![Page 1: The alignment](https://reader036.vdocuments.us/reader036/viewer/2022081414/5a647c647f8b9a8e568b4801/html5/thumbnails/1.jpg)
The alignment
@ziobrando
![Page 2: The alignment](https://reader036.vdocuments.us/reader036/viewer/2022081414/5a647c647f8b9a8e568b4801/html5/thumbnails/2.jpg)
About me
Very hard to explain my job to my mother
running www.avanscoperta.it
Modelling (almost) everything with sticky notes, markers and a paper roll.
Calling this stuff
![Page 3: The alignment](https://reader036.vdocuments.us/reader036/viewer/2022081414/5a647c647f8b9a8e568b4801/html5/thumbnails/3.jpg)
In the last years
• seen many more companies and ecosystems
• Went quickly to the core problems
• Started to see patterns
• #SelectionBias
![Page 4: The alignment](https://reader036.vdocuments.us/reader036/viewer/2022081414/5a647c647f8b9a8e568b4801/html5/thumbnails/4.jpg)
Big Picture Workshop
Invite the right people -> Business, IT, UX
Provide unlimited modelling space
Surface, Markers, stickies
Model a whole business line with Domain Events
![Page 5: The alignment](https://reader036.vdocuments.us/reader036/viewer/2022081414/5a647c647f8b9a8e568b4801/html5/thumbnails/5.jpg)
Establish a timeline
Some facilitator tricks will kickstart the discussion quickly
![Page 6: The alignment](https://reader036.vdocuments.us/reader036/viewer/2022081414/5a647c647f8b9a8e568b4801/html5/thumbnails/6.jpg)
Explore with domain Events
![Page 7: The alignment](https://reader036.vdocuments.us/reader036/viewer/2022081414/5a647c647f8b9a8e568b4801/html5/thumbnails/7.jpg)
The underlying knowledge
![Page 8: The alignment](https://reader036.vdocuments.us/reader036/viewer/2022081414/5a647c647f8b9a8e568b4801/html5/thumbnails/8.jpg)
Enforcing the timeline
Experts will usually post a locally ordered sequence of events
But enforcing a shared timeline then triggers long awaited conversations
![Page 9: The alignment](https://reader036.vdocuments.us/reader036/viewer/2022081414/5a647c647f8b9a8e568b4801/html5/thumbnails/9.jpg)
Outcome (big Picture):
The whole process is visible
Massive learning (crossing silo boundaries)
consensus around the core problem
![Page 10: The alignment](https://reader036.vdocuments.us/reader036/viewer/2022081414/5a647c647f8b9a8e568b4801/html5/thumbnails/10.jpg)
Outcome (big Picture):
Multiple storytellings
Incremental Notation #NoUML #NoBPMN
A language for different tribes #Lean #UX #Agile #SW
![Page 11: The alignment](https://reader036.vdocuments.us/reader036/viewer/2022081414/5a647c647f8b9a8e568b4801/html5/thumbnails/11.jpg)
More specifically…
No scope limitation (paper roll)
Exploration of boundaries (External Systems & People)
-> The BOTTLENECK is in the picture.
-> The CORE DOMAIN is in the picture
![Page 12: The alignment](https://reader036.vdocuments.us/reader036/viewer/2022081414/5a647c647f8b9a8e568b4801/html5/thumbnails/12.jpg)
Awesome! … now what?
![Page 13: The alignment](https://reader036.vdocuments.us/reader036/viewer/2022081414/5a647c647f8b9a8e568b4801/html5/thumbnails/13.jpg)
1. The shape of the problem
![Page 14: The alignment](https://reader036.vdocuments.us/reader036/viewer/2022081414/5a647c647f8b9a8e568b4801/html5/thumbnails/14.jpg)
I might start here
![Page 15: The alignment](https://reader036.vdocuments.us/reader036/viewer/2022081414/5a647c647f8b9a8e568b4801/html5/thumbnails/15.jpg)
But it starts from here
![Page 16: The alignment](https://reader036.vdocuments.us/reader036/viewer/2022081414/5a647c647f8b9a8e568b4801/html5/thumbnails/16.jpg)
#BlameTheSilos
![Page 17: The alignment](https://reader036.vdocuments.us/reader036/viewer/2022081414/5a647c647f8b9a8e568b4801/html5/thumbnails/17.jpg)
Silos must have a reason
Silos minimise the amount of learning needed to be “productive”
unfortunately, the emerging structure of silos is hardly reversible
Even small organisations will tend to become silos if not managed otherwise
… if only we could make learning cheaper… ;-)
![Page 18: The alignment](https://reader036.vdocuments.us/reader036/viewer/2022081414/5a647c647f8b9a8e568b4801/html5/thumbnails/18.jpg)
Asymmetry
![Page 19: The alignment](https://reader036.vdocuments.us/reader036/viewer/2022081414/5a647c647f8b9a8e568b4801/html5/thumbnails/19.jpg)
And this is what you get
![Page 20: The alignment](https://reader036.vdocuments.us/reader036/viewer/2022081414/5a647c647f8b9a8e568b4801/html5/thumbnails/20.jpg)
But fragmented knowledge is only one ingredient
![Page 21: The alignment](https://reader036.vdocuments.us/reader036/viewer/2022081414/5a647c647f8b9a8e568b4801/html5/thumbnails/21.jpg)
Let’s look at the outcome
There are recurring patterns in blockers
A clear business narrative
A massive blocker
![Page 22: The alignment](https://reader036.vdocuments.us/reader036/viewer/2022081414/5a647c647f8b9a8e568b4801/html5/thumbnails/22.jpg)
![Page 23: The alignment](https://reader036.vdocuments.us/reader036/viewer/2022081414/5a647c647f8b9a8e568b4801/html5/thumbnails/23.jpg)
Recurring anti-pattern
![Page 24: The alignment](https://reader036.vdocuments.us/reader036/viewer/2022081414/5a647c647f8b9a8e568b4801/html5/thumbnails/24.jpg)
“That’s our key class”
Big class with overloaded responsibility in the disputed land between 2 (or more) Bounded Contexts
![Page 25: The alignment](https://reader036.vdocuments.us/reader036/viewer/2022081414/5a647c647f8b9a8e568b4801/html5/thumbnails/25.jpg)
Nouns won’t helpEverybody agrees what an order is?
Of course we do!
An order is an order!
And has a customer too! Agreed!
![Page 26: The alignment](https://reader036.vdocuments.us/reader036/viewer/2022081414/5a647c647f8b9a8e568b4801/html5/thumbnails/26.jpg)
Perfect recipe:
Talk with many people
Model Data-First (everybody agrees on nouns)
Add some “Dogmatic DRY principle”
Repeat
![Page 27: The alignment](https://reader036.vdocuments.us/reader036/viewer/2022081414/5a647c647f8b9a8e568b4801/html5/thumbnails/27.jpg)
The Big Ball of Mud
I swear it was a monolith last time I
checked!!!
![Page 28: The alignment](https://reader036.vdocuments.us/reader036/viewer/2022081414/5a647c647f8b9a8e568b4801/html5/thumbnails/28.jpg)
One solution
A Draft Model with loose integrity constraints
Constraints implemented as warnings
A Validation barrier (constraints implemented as blockers)
An Execution Model, with similar data structure, but different behaviour
![Page 29: The alignment](https://reader036.vdocuments.us/reader036/viewer/2022081414/5a647c647f8b9a8e568b4801/html5/thumbnails/29.jpg)
Data-first modelling is flawed
And we knew it from Long Ago… #DDDesign
![Page 30: The alignment](https://reader036.vdocuments.us/reader036/viewer/2022081414/5a647c647f8b9a8e568b4801/html5/thumbnails/30.jpg)
Everything is a code smell here!
![Page 31: The alignment](https://reader036.vdocuments.us/reader036/viewer/2022081414/5a647c647f8b9a8e568b4801/html5/thumbnails/31.jpg)
follow the money
• Bad code is everywhere!
• Implementation flaws with the highest negative impact on the enterprise are mostly related to missing or wrong bounded contexts
![Page 32: The alignment](https://reader036.vdocuments.us/reader036/viewer/2022081414/5a647c647f8b9a8e568b4801/html5/thumbnails/32.jpg)
Wait! Monoliths and BBoM aren’t necessarily the
same thing!
![Page 33: The alignment](https://reader036.vdocuments.us/reader036/viewer/2022081414/5a647c647f8b9a8e568b4801/html5/thumbnails/33.jpg)
Monoliths mechanics
It takes little to worsen the code
It takes a lot of effort to improve it
![Page 34: The alignment](https://reader036.vdocuments.us/reader036/viewer/2022081414/5a647c647f8b9a8e568b4801/html5/thumbnails/34.jpg)
![Page 35: The alignment](https://reader036.vdocuments.us/reader036/viewer/2022081414/5a647c647f8b9a8e568b4801/html5/thumbnails/35.jpg)
LEGO Entropy laws
Mixing LEGO boxes takes seconds
separating LEGO boxes takes ages
![Page 36: The alignment](https://reader036.vdocuments.us/reader036/viewer/2022081414/5a647c647f8b9a8e568b4801/html5/thumbnails/36.jpg)
Database Entropy laws
Make a copy of an important table and give it a nontrivial name
Measure how much time is needed to remove it
#INeedToBeSure…
![Page 37: The alignment](https://reader036.vdocuments.us/reader036/viewer/2022081414/5a647c647f8b9a8e568b4801/html5/thumbnails/37.jpg)
Asymmetry
![Page 38: The alignment](https://reader036.vdocuments.us/reader036/viewer/2022081414/5a647c647f8b9a8e568b4801/html5/thumbnails/38.jpg)
People will try to improve systems only if they’re going to be around long
enough to see the benefits
Will you clean your hotel’s garden?
![Page 39: The alignment](https://reader036.vdocuments.us/reader036/viewer/2022081414/5a647c647f8b9a8e568b4801/html5/thumbnails/39.jpg)
Asymmetry
![Page 40: The alignment](https://reader036.vdocuments.us/reader036/viewer/2022081414/5a647c647f8b9a8e568b4801/html5/thumbnails/40.jpg)
We can’t hire good developers
A portion of our codebase is so bad that devs quit
the company whenever we ask them to touch it
![Page 41: The alignment](https://reader036.vdocuments.us/reader036/viewer/2022081414/5a647c647f8b9a8e568b4801/html5/thumbnails/41.jpg)
![Page 42: The alignment](https://reader036.vdocuments.us/reader036/viewer/2022081414/5a647c647f8b9a8e568b4801/html5/thumbnails/42.jpg)
Most companies don’t understand technical debt
until it’s too late
They might, but waiting their “permission” is a losing strategy
![Page 43: The alignment](https://reader036.vdocuments.us/reader036/viewer/2022081414/5a647c647f8b9a8e568b4801/html5/thumbnails/43.jpg)
Refactoring stories won’t help you
• Product Owners will prioritise about what they know.
• Total transparency, but YOU are the expert.
![Page 44: The alignment](https://reader036.vdocuments.us/reader036/viewer/2022081414/5a647c647f8b9a8e568b4801/html5/thumbnails/44.jpg)
…Hidden agendas, unclear benefits, many other
reasons…
![Page 45: The alignment](https://reader036.vdocuments.us/reader036/viewer/2022081414/5a647c647f8b9a8e568b4801/html5/thumbnails/45.jpg)
Asymmetry
Features bring revenues, refactoring reduce risk
![Page 46: The alignment](https://reader036.vdocuments.us/reader036/viewer/2022081414/5a647c647f8b9a8e568b4801/html5/thumbnails/46.jpg)
If we could start from scratch…
![Page 47: The alignment](https://reader036.vdocuments.us/reader036/viewer/2022081414/5a647c647f8b9a8e568b4801/html5/thumbnails/47.jpg)
Conceptual boundaries
![Page 48: The alignment](https://reader036.vdocuments.us/reader036/viewer/2022081414/5a647c647f8b9a8e568b4801/html5/thumbnails/48.jpg)
Implementation boundaries
![Page 49: The alignment](https://reader036.vdocuments.us/reader036/viewer/2022081414/5a647c647f8b9a8e568b4801/html5/thumbnails/49.jpg)
2. The Impediment
![Page 50: The alignment](https://reader036.vdocuments.us/reader036/viewer/2022081414/5a647c647f8b9a8e568b4801/html5/thumbnails/50.jpg)
![Page 51: The alignment](https://reader036.vdocuments.us/reader036/viewer/2022081414/5a647c647f8b9a8e568b4801/html5/thumbnails/51.jpg)
Some companies attacked the problem Some didn’t
You don’t mess with the Bottleneck #ToCot
![Page 52: The alignment](https://reader036.vdocuments.us/reader036/viewer/2022081414/5a647c647f8b9a8e568b4801/html5/thumbnails/52.jpg)
A clear business narrative
A massive blocker
![Page 53: The alignment](https://reader036.vdocuments.us/reader036/viewer/2022081414/5a647c647f8b9a8e568b4801/html5/thumbnails/53.jpg)
The author of the original software was still around
![Page 54: The alignment](https://reader036.vdocuments.us/reader036/viewer/2022081414/5a647c647f8b9a8e568b4801/html5/thumbnails/54.jpg)
The dungeon master
• Authors of the original code
• Only ones knowing some areas
• Can’t be beaten on their own playground
https://medium.com/@ziobrando/the-rise-and-fall-of-the-dungeon-master-c2d511eed12f#.1koij6bk1
![Page 55: The alignment](https://reader036.vdocuments.us/reader036/viewer/2022081414/5a647c647f8b9a8e568b4801/html5/thumbnails/55.jpg)
And then I discovered…
Bias: I only recommend books that prove me right.
![Page 56: The alignment](https://reader036.vdocuments.us/reader036/viewer/2022081414/5a647c647f8b9a8e568b4801/html5/thumbnails/56.jpg)
“indefinite procrastination”
We finally opened up that portion of the
code!!
WOW! It was smelling bad in 2011!!
It was buggy as hell… :-/
![Page 57: The alignment](https://reader036.vdocuments.us/reader036/viewer/2022081414/5a647c647f8b9a8e568b4801/html5/thumbnails/57.jpg)
![Page 58: The alignment](https://reader036.vdocuments.us/reader036/viewer/2022081414/5a647c647f8b9a8e568b4801/html5/thumbnails/58.jpg)
Guilt?
![Page 59: The alignment](https://reader036.vdocuments.us/reader036/viewer/2022081414/5a647c647f8b9a8e568b4801/html5/thumbnails/59.jpg)
![Page 60: The alignment](https://reader036.vdocuments.us/reader036/viewer/2022081414/5a647c647f8b9a8e568b4801/html5/thumbnails/60.jpg)
protection?
![Page 61: The alignment](https://reader036.vdocuments.us/reader036/viewer/2022081414/5a647c647f8b9a8e568b4801/html5/thumbnails/61.jpg)
![Page 62: The alignment](https://reader036.vdocuments.us/reader036/viewer/2022081414/5a647c647f8b9a8e568b4801/html5/thumbnails/62.jpg)
![Page 63: The alignment](https://reader036.vdocuments.us/reader036/viewer/2022081414/5a647c647f8b9a8e568b4801/html5/thumbnails/63.jpg)
We have a few problems here
![Page 64: The alignment](https://reader036.vdocuments.us/reader036/viewer/2022081414/5a647c647f8b9a8e568b4801/html5/thumbnails/64.jpg)
In a talent-driven job market, nobody cares about your monolith
![Page 65: The alignment](https://reader036.vdocuments.us/reader036/viewer/2022081414/5a647c647f8b9a8e568b4801/html5/thumbnails/65.jpg)
Thin red line
• Start a project with a data first approach
• Lack of control requires protection & specialisation
• few people become key, others retire or get minionized Business grows on top of old code
• More responsibilities: less time to change it, harder to make the call
• Hard to recruit seniors to finish the job
![Page 66: The alignment](https://reader036.vdocuments.us/reader036/viewer/2022081414/5a647c647f8b9a8e568b4801/html5/thumbnails/66.jpg)
Thin red line
• Postpone evolutions of critical software
• prevent the organisation from getting new feedback
• -> how long are your iterations?
• Suddenly realise that the organisation is dumbed down and blames IT for everything
![Page 67: The alignment](https://reader036.vdocuments.us/reader036/viewer/2022081414/5a647c647f8b9a8e568b4801/html5/thumbnails/67.jpg)
They’re the same problem
![Page 68: The alignment](https://reader036.vdocuments.us/reader036/viewer/2022081414/5a647c647f8b9a8e568b4801/html5/thumbnails/68.jpg)
We don’t have dungeon masters: everything is developed by
contractors
![Page 69: The alignment](https://reader036.vdocuments.us/reader036/viewer/2022081414/5a647c647f8b9a8e568b4801/html5/thumbnails/69.jpg)
![Page 70: The alignment](https://reader036.vdocuments.us/reader036/viewer/2022081414/5a647c647f8b9a8e568b4801/html5/thumbnails/70.jpg)
People will try to improve systems only if they’re going to be around long
enough to see the benefits
Will you clean your hotel’s garden?
![Page 71: The alignment](https://reader036.vdocuments.us/reader036/viewer/2022081414/5a647c647f8b9a8e568b4801/html5/thumbnails/71.jpg)
Accelerated Growth
• A few developers build up the foundations
• Success brings money -> Hiring frenzy #Scale #recruiting
• Hiring is too slow -> Outsourcing
• External code is now maintained internally.
• Builders -> controllers -> caretakers -> cleaners
![Page 72: The alignment](https://reader036.vdocuments.us/reader036/viewer/2022081414/5a647c647f8b9a8e568b4801/html5/thumbnails/72.jpg)
![Page 73: The alignment](https://reader036.vdocuments.us/reader036/viewer/2022081414/5a647c647f8b9a8e568b4801/html5/thumbnails/73.jpg)
3. The business
![Page 74: The alignment](https://reader036.vdocuments.us/reader036/viewer/2022081414/5a647c647f8b9a8e568b4801/html5/thumbnails/74.jpg)
Not a single business vision wasn’t flawed
There is value in “discussing business” …and “Don’t worry about it” isn’t the best answer
![Page 75: The alignment](https://reader036.vdocuments.us/reader036/viewer/2022081414/5a647c647f8b9a8e568b4801/html5/thumbnails/75.jpg)
Transparency helps
![Page 76: The alignment](https://reader036.vdocuments.us/reader036/viewer/2022081414/5a647c647f8b9a8e568b4801/html5/thumbnails/76.jpg)
People won’t self organise around a system they don’t
understand
![Page 77: The alignment](https://reader036.vdocuments.us/reader036/viewer/2022081414/5a647c647f8b9a8e568b4801/html5/thumbnails/77.jpg)
My personal experience
EventStorming +
Radical Transparency
A “culture” of rewarding exploration
a clear mission
![Page 78: The alignment](https://reader036.vdocuments.us/reader036/viewer/2022081414/5a647c647f8b9a8e568b4801/html5/thumbnails/78.jpg)
Transparency is hard
![Page 79: The alignment](https://reader036.vdocuments.us/reader036/viewer/2022081414/5a647c647f8b9a8e568b4801/html5/thumbnails/79.jpg)
![Page 80: The alignment](https://reader036.vdocuments.us/reader036/viewer/2022081414/5a647c647f8b9a8e568b4801/html5/thumbnails/80.jpg)
Competing goals anyone?
![Page 81: The alignment](https://reader036.vdocuments.us/reader036/viewer/2022081414/5a647c647f8b9a8e568b4801/html5/thumbnails/81.jpg)
![Page 82: The alignment](https://reader036.vdocuments.us/reader036/viewer/2022081414/5a647c647f8b9a8e568b4801/html5/thumbnails/82.jpg)
“agile doesn’t work here”
![Page 83: The alignment](https://reader036.vdocuments.us/reader036/viewer/2022081414/5a647c647f8b9a8e568b4801/html5/thumbnails/83.jpg)
The purpose of our organisation is to make
money
so…
![Page 84: The alignment](https://reader036.vdocuments.us/reader036/viewer/2022081414/5a647c647f8b9a8e568b4801/html5/thumbnails/84.jpg)
![Page 85: The alignment](https://reader036.vdocuments.us/reader036/viewer/2022081414/5a647c647f8b9a8e568b4801/html5/thumbnails/85.jpg)
“agile doesn’t work here”
![Page 86: The alignment](https://reader036.vdocuments.us/reader036/viewer/2022081414/5a647c647f8b9a8e568b4801/html5/thumbnails/86.jpg)
One more time: Agile doesn’t happen in a vacuum
![Page 87: The alignment](https://reader036.vdocuments.us/reader036/viewer/2022081414/5a647c647f8b9a8e568b4801/html5/thumbnails/87.jpg)
Purpose matters
Yep it’s Pink on Purpose
![Page 88: The alignment](https://reader036.vdocuments.us/reader036/viewer/2022081414/5a647c647f8b9a8e568b4801/html5/thumbnails/88.jpg)
Good news: The Rise of Good Companies
![Page 89: The alignment](https://reader036.vdocuments.us/reader036/viewer/2022081414/5a647c647f8b9a8e568b4801/html5/thumbnails/89.jpg)
ConclusionsSometimes you have to wrap-up
![Page 90: The alignment](https://reader036.vdocuments.us/reader036/viewer/2022081414/5a647c647f8b9a8e568b4801/html5/thumbnails/90.jpg)
The curse of enterprise monolith
natural tendency
natural tendency
![Page 91: The alignment](https://reader036.vdocuments.us/reader036/viewer/2022081414/5a647c647f8b9a8e568b4801/html5/thumbnails/91.jpg)
“It will pass” is not a strategy
![Page 92: The alignment](https://reader036.vdocuments.us/reader036/viewer/2022081414/5a647c647f8b9a8e568b4801/html5/thumbnails/92.jpg)
Monolith and dungeon master are often the same
problem
![Page 93: The alignment](https://reader036.vdocuments.us/reader036/viewer/2022081414/5a647c647f8b9a8e568b4801/html5/thumbnails/93.jpg)
The monolith is the dungeon
![Page 94: The alignment](https://reader036.vdocuments.us/reader036/viewer/2022081414/5a647c647f8b9a8e568b4801/html5/thumbnails/94.jpg)
Stop pretending that it’s cheap
![Page 95: The alignment](https://reader036.vdocuments.us/reader036/viewer/2022081414/5a647c647f8b9a8e568b4801/html5/thumbnails/95.jpg)
Events are way better to prevent it
![Page 96: The alignment](https://reader036.vdocuments.us/reader036/viewer/2022081414/5a647c647f8b9a8e568b4801/html5/thumbnails/96.jpg)
can’t solve one ignoring the other
#feelings & #Code
![Page 97: The alignment](https://reader036.vdocuments.us/reader036/viewer/2022081414/5a647c647f8b9a8e568b4801/html5/thumbnails/97.jpg)
But the coding ecosystem is OUR responsibility
Can’t delegate it to pixies
![Page 98: The alignment](https://reader036.vdocuments.us/reader036/viewer/2022081414/5a647c647f8b9a8e568b4801/html5/thumbnails/98.jpg)
A clear business narrative
A platform for self-organisation
![Page 99: The alignment](https://reader036.vdocuments.us/reader036/viewer/2022081414/5a647c647f8b9a8e568b4801/html5/thumbnails/99.jpg)
Transparency & purpose will make magic happen
![Page 100: The alignment](https://reader036.vdocuments.us/reader036/viewer/2022081414/5a647c647f8b9a8e568b4801/html5/thumbnails/100.jpg)
Questions?
Every question is welcome, except
“When will you finish the book?”
![Page 101: The alignment](https://reader036.vdocuments.us/reader036/viewer/2022081414/5a647c647f8b9a8e568b4801/html5/thumbnails/101.jpg)
Questions?
Thank you!
![Page 102: The alignment](https://reader036.vdocuments.us/reader036/viewer/2022081414/5a647c647f8b9a8e568b4801/html5/thumbnails/102.jpg)
References
![Page 103: The alignment](https://reader036.vdocuments.us/reader036/viewer/2022081414/5a647c647f8b9a8e568b4801/html5/thumbnails/103.jpg)
References• www.eventstorming.com
• EventStormers on Google+
• https://plus.google.com/u/0/communities/113258571348605620818
• LeanPub book in progress:
• http://leanpub.com/introducing_eventstorming
• Blog:
• https://medium.com/@ziobrando
• http://ziobrando.blogspot.com
• Twitter: @ziobrando
• Trainings & Workshop facilitation:
• http://www.avanscoperta.it