avanscoperta
Reshaping
Enterprise Software
@ziobrando
About me
Faccio un lavoro che mia madre non
capisce
running www.avanscoperta.it
In grado di modellare qualsiasi cosa
con post-it, pennarelli e rotolone.
Chiamo questa “cosa”
Il piano
Un bel problema a monte
Un altro meta-problema a monte
Un po’ di buone idee
Una … di conseguenze
1) Quick recap of
Theory of
Constraints
Le “Basi” e poco piu'
Bottleneck
Vincolo principale per il throughput
del sistema
Bottleneck:
Il vincolo principale limita le
prestazioni dell’intero sistema.
(non e’ che la freccia si allarga, e’ che mi e’ venuta storta)
Strategie per il bottleneck
Focus >>> Tutto il resto è
subordinato
Miglioramento continuo
anche piccoli miglioramenti contano
… mentre ci occupiamo dei GROSSI
miglioramenti.
Non riesco a
trovare il cuore…
Non riesco a
trovare il cuore…
… potremmo concentrarci
sulle unghie nel frattempo…
Migliorare il
resto del sistema
potrebbe essere
inutile o
Controproducente
Ma nessuno lo ammettera’ in una grande
azienda
Devo avere una
visione di sistema
per essere sicuro
che il vincolo sia
reale
Warning
#TOCOT -> ottimizzata per la
produzione
Esseri umani != risorse
No allocazione al 100%
Sistema adattivo complesso
Non tutti i
progetti software
sono uguali.
Sarebbe bello…
Non core:
Spese principalmente legate al tempo
Rischi legati al malfunzionamento
Risultati limitati a priori
100 1 2 3 4 5 6 7 8 9
10
0
1
2
3
4
5
6
7
8
9
X Axis
YAxis
Cost
Value
<- area del gold plating
core:
Spese principalmente legate al tempo
Rischi legati a…
Risultati non limitati a priori
100 1 2 3 4 5 6 7 8 9
10
0
1
2
3
4
5
6
7
8
9
X Axis
YAxis
Cost
Value
core:
Spese principalmente legate al tempo
Rischi legati a…
Risultati non limitati a priori
… ne parliamo dopo!
100 1 2 3 4 5 6 7 8 9
10
0
1
2
3
4
5
6
7
8
9
X Axis
YAxis
Cost
Value
Ma certi
punti del
sistema sono
piu’ sensibili
alle
regolazioni
Il collo di
bottiglia E’
la zona erogena
del sistema
Il collo di
bottiglia E’
la zona erogena
del sistema
…e forse questa sara’ l’unica cosa che
ricorderete del talk
Altrove
agile-meh, scrum-but etc. etc.
principalmente ‘tracking’
vincoli di budget
Sul collo di bottiglia…
Il problema di solito non e’ banale
la soluzione puo’ essere raggiunta
per esperimenti
siamo quasi sicuramente in un
sistema adattivo complesso
c’e’ un sacco di roba da imparare
#NoEstimates #DDDesign
#LeanStartup #Complexity
2) Il meta-collo di
bottiglia
Non ci facciamo mancare nulla…
Dan North
https://dannorth.net/2010/08/30/introducing-
deliberate-discovery/
“Ignorance is the
single greatest
impediment to
throughput.”
“Software
development is a
learning process
Working code is a
side effect”
io, un botto di volte…
Dan North
https://dannorth.net/2010/08/30/introducing-
deliberate-discovery/
“Learning is the
bottleneck”
Se
l’apprendimento e’
il collo di
bottiglia… sto
facendo tutto il
possibile?
Il regno del product owner
Un backlog pieno di items…
…il cui significato un giorno risultera’ chiaro.
Product Owner “nel mezzo”
Necessario per definire le Priorita’
Non per digerire la conoscenza
… c’era davvero bisogno di un collo di bottiglia
artificiale?
Se l’obiettivo e’
IMPARARE…
Creature
immaginarie
Creature
immaginarie
Creature
immaginarie
Gli esperti sono
esperti del
proprio
dipartimento, non
necessariamente
del business
Gerarchie e Silos
Che forma ha la conoscenza?
La specialita’ della casa
Big Picture Workshop
Invitiamo le persone giuste
Forniamo uno spazio di modellazione
illimitato
superficie, pennarelli, post-it
Modelliamo il sistema partendo dagli
eventi di dominio
Environment setup
…lungo una linea temporale
Qualche trucco da facilitatore ed
iniziamo a modellare a…
Velocita’ smodata!!!
Explore domain Events
Catturiamo gli Hotspots
che salteranno fuori, comunque!
continuiamo la caccia…
Outcome (big Picture):
L’intera linea di business visible
apprendimento massivo
aree critiche visualizzate.
Non siamo soli:
User Story Mapping
Non siamo soli
Impact Mapping
… E’ che quando
metti le persone
assieme, poi si
parlano…
EventStorming
unisce lean e
Theory of
constraints allo
sviluppo Software
e a Domain-Driven
Design
EventStorming
blends lean and
Theory of
constraints into
Software
Development and
Domain-Driven
Design
EventStorming
blends lean and
Theory of
constraints into
Software
Development and
Domain-Driven
Design
Che faccia ha il
Bottleneck?
Guardiamoci meglio
Srotoliamolo
I processi espongono una struttura
ripetibile
Srotoliamolo
… microservices? :-)
Piu' in dettaglio…
Let’s look deeper
Aggregate
Policy / Process
Domain Event
Command
External
System
Let’s look deeper
Qui e’ dove il sistema
prende le decisioni:
Aggregate
Policy / Process
Domain Event
Command
External
System
Let’s look deeper
Qui e’ dove il sistema
prende le decisioni:
Decisioni semplici
dentro aggregati
(piccole macchine a
stati)
Aggregate
Policy / Process
Domain Event
Command
External
System
Let’s look deeper
Qui e’ dove il sistema
prende le decisioni:
Decisioni semplici
dentro aggregati
(piccole macchine a
stati)
Aggregate
Policy / Process
Domain Event
Command
External
System
Let’s look deeper
Qui e’ dove il sistema
prende le decisioni:
Decisioni semplici
dentro aggregati
(piccole macchine a
stati)
Le decisioni reattive
stanno dentro le
“policy”. Ogni volta
che…
Aggregate
Policy / Process
Domain Event
Command
External
System
Let’s look deeper
Qui e’ dove il sistema
prende le decisioni:
Decisioni semplici
dentro aggregati
(piccole macchine a
stati)
Le decisioni reattive
stanno dentro le
“policy”. Ogni volta
che…
Aggregate
Policy / Process
Domain Event
Command
External
System
Let’s look deeper
Qui e’ dove il sistema
prende le decisioni:
Decisioni semplici
dentro aggregati
(piccole macchine a
stati)
Le decisioni reattive
stanno dentro le
“policy”. Ogni volta
che…
Aggregate
Policy / Process
Domain Event
Command
External
System
#BusinessProcesses
#Transactions
#SWArchitecture
Let’s look deeper
Command/
Decision
User/
Actor/
Persona/…
User
Interface
Let’s look deeper
Qui e’ dove e’ l’utente
a prendere decisioni:
Command/
Decision
User/
Actor/
Persona/…
User
Interface
Let’s look deeper
Qui e’ dove e’ l’utente
a prendere decisioni:
…che sono basate
sull’esperienza del
mondo reale, e sulle
informazioni visibili.
Command/
Decision
User/
Actor/
Persona/…
User
Interface
Let’s look deeper
Qui e’ dove e’ l’utente
a prendere decisioni:
…che sono basate
sull’esperienza del
mondo reale, e sulle
informazioni visibili.
Command/
Decision
User/
Actor/
Persona/…
User
Interface
#UX
#FrontEndDevelopment
#UIDesign
Let’s look deeper
Domain
Event
Read Model
User
Interface
Let’s look deeper
Domain
Event
Read Model
User
Interface
Qua e’ dove
trasformiamo il dato
grezzo in qualcosa di
comprensibile per
l’utilizzatore.
Let’s look deeper
Domain
Event
Read Model
User
Interface
Qua e’ dove
trasformiamo il dato
grezzo in qualcosa di
comprensibile per
l’utilizzatore.
#BusinessIntelligence
#Readability
And the winner is…
And the winner is…
La natura del
bottleneck
non puo’
essere decisa
a priori
Purtroppo queste
prospettive sono
spesso
compartimentate
Il primo che arriva, da le specifiche agli altri
peccato che
imparare per
sentito dire, non
sia il massimo…
Una sola
piattaforma
Molteplici punti
di vista
E’ “inclusiva”!
Possiamo auto-
organizzarci solo
in sistemi che
comprendiamo
una piattaforma
per l’auto
organizzazione
in sistemi
complessi
Ma e’ un casino!
1/2 giornata per un Big Picture
(timeboxed comunque)
3 giorni per modellare in dettaglio
tutti i flussi di www.soisy.it
Workshop fino a 35 persone (poi
vediamo…)
purtroppo faccio
le foto solo alla
fine… :-(
Takeaways
https://twitter.com/jbrains/status/776888609127460864
https://www.dropbox.com/s/z5zmw78w01suokf/Screenshot
%202016-09-16%2023.07.04.png?dl=0
https://twitter.com/jbrains/status/776888609127460864
https://www.dropbox.com/s/z5zmw78w01suokf/Screenshot
%202016-09-16%2023.07.04.png?dl=0
Visione d’insieme per
individuare il vincolo
business
Imparare e’ il vincolo
sulla risoluzione del
problema.
collaborative modelling
aiuta su entrambi i
fronti
Actions
EventStorming per capire, insieme
Impact Mapping & User Story Mapping per
scegliere la direzione
Esperimenti per risolvere
Collaborazione per progettare
Architetture ad eventi per implementare
…serve altro?
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

Reshaping enterrprise software