reshaping enterrprise software

Post on 13-Jan-2017

401 Views

Category:

Software

1 Downloads

Preview:

Click to see full reader

TRANSCRIPT

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

top related