Reshaping enterrprise software
-
Upload
alberto-brandolini -
Category
Software
-
view
398 -
download
1
Transcript of Reshaping enterrprise software
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
Y A
xis
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
Y A
xis
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
Y A
xis
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 EventCommand
External System
Let’s look deeper
Qui e’ dove il sistemaprende le decisioni:
Aggregate
Policy / Process
Domain EventCommand
External System
Let’s look deeper
Qui e’ dove il sistemaprende le decisioni:
Decisioni semplici dentro aggregati (piccole macchine a stati)
Aggregate
Policy / Process
Domain EventCommand
External System
Let’s look deeper
Qui e’ dove il sistemaprende le decisioni:
Decisioni semplici dentro aggregati (piccole macchine a stati)
Aggregate
Policy / Process
Domain EventCommand
External System
Let’s look deeper
Qui e’ dove il sistemaprende le decisioni:
Decisioni semplici dentro aggregati (piccole macchine a stati)
Le decisioni reattive stanno dentro le “policy”. Ogni volta che…
Aggregate
Policy / Process
Domain EventCommand
External System
Let’s look deeper
Qui e’ dove il sistemaprende le decisioni:
Decisioni semplici dentro aggregati (piccole macchine a stati)
Le decisioni reattive stanno dentro le “policy”. Ogni volta che…
Aggregate
Policy / Process
Domain EventCommand
External System
Let’s look deeper
Qui e’ dove il sistemaprende le decisioni:
Decisioni semplici dentro aggregati (piccole macchine a stati)
Le decisioni reattive stanno dentro le “policy”. Ogni volta che…
Aggregate
Policy / Process
Domain EventCommand
External System
#BusinessProcesses#Transactions#SWArchitecture
Let’s look deeperCommand/Decision
User/Actor/Persona/…
User Interface
Let’s look deeper
Qui e’ dove e’ l’utentea prendere decisioni:
Command/Decision
User/Actor/Persona/…
User Interface
Let’s look deeper
Qui e’ dove e’ l’utentea prendere decisioni:
…che sono basatesull’esperienza delmondo reale, e sulleinformazioni visibili.
Command/Decision
User/Actor/Persona/…
User Interface
Let’s look deeper
Qui e’ dove e’ l’utentea prendere decisioni:
…che sono basatesull’esperienza delmondo reale, e sulleinformazioni 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’ dovetrasformiamo il datogrezzo in qualcosa dicomprensibile perl’utilizzatore.
Let’s look deeper
Domain Event
Read Model
User Interface
Qua e’ dovetrasformiamo il datogrezzo in qualcosa dicomprensibile perl’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