176
Managing * debt @ziobrando avanscoperta Alberto Brandolini

Managing debt remastered

Embed Size (px)

DESCRIPTION

Remastered and re-edited version of my presantation (in Italian) at the Italian Agile Day 2014

Citation preview

Page 1: Managing debt remastered

Managing * debt

@ziobrando avanscoperta

Alberto Brandolini

Page 2: Managing debt remastered

About me@ziobrando

I do something else instead

@ziobrandoAbout me

avanscoperta

Page 3: Managing debt remastered

About me@ziobrando

I do something else instead

@ziobrandoAbout meDDD enthusiast

avanscoperta

Page 4: Managing debt remastered

About me@ziobrando

I do something else instead

@ziobrandoAbout meDDD enthusiastPost-it addicted

avanscoperta

Page 5: Managing debt remastered

About me@ziobrando

I do something else instead

@ziobrandoAbout meDDD enthusiastPost-it addictedVisual thinker

avanscoperta

Page 6: Managing debt remastered

About me@ziobrando

I do something else instead

@ziobrandoAbout meDDD enthusiastPost-it addictedVisual thinkerChaos summoner

avanscoperta

Page 7: Managing debt remastered

About me@ziobrando

I do something else instead

@ziobrandoAbout meDDD enthusiastPost-it addictedVisual thinkerChaos summonerIdea thief

avanscoperta

Page 8: Managing debt remastered

About me@ziobrando

I do something else instead

@ziobrandoAbout meDDD enthusiastPost-it addictedVisual thinkerChaos summonerIdea thief…never satisfied

avanscoperta

Page 9: Managing debt remastered

Technical Debt

https://www.youtube.com/watch?v=pqeJFYwnkjE

Page 10: Managing debt remastered

1. Spensieratezza

Page 11: Managing debt remastered

2. Accumulo

Page 12: Managing debt remastered

3.

Page 13: Managing debt remastered

E dopo?

Page 14: Managing debt remastered

Technical Debt

https://www.youtube.com/watch?v=pqeJFYwnkjE

Page 15: Managing debt remastered

L’illusione del controllo

Page 16: Managing debt remastered
Page 17: Managing debt remastered

Che bello! Un postdatato! Grazie!!!

Page 18: Managing debt remastered

PrevedibileNegoziabile

Stimabile

Controllabile

Page 19: Managing debt remastered

No, il debito non l’avete con lei…

Page 20: Managing debt remastered
Page 21: Managing debt remastered

Libbano

Page 22: Managing debt remastered

Bella Libbano!Questa iterazione c’ha detto male. :-) Ma er debbito o’ripagamo alla prossima!! :o)

Libbano

Page 23: Managing debt remastered

Bella Libbano!Questa iterazione c’ha detto male. :-) Ma er debbito o’ripagamo alla prossima!! :o)

A Tastiè’, Tranqui, er leggacy è ‘na bbrutta bestia. Manda du’ righe ar Freddo che aggiorna l’excel. Daje!!

Libbano

Page 24: Managing debt remastered

Davvero?

Page 25: Managing debt remastered

2 problemi:

Page 26: Managing debt remastered

Le cose che sei costretto a fare

Page 27: Managing debt remastered

Le cose a cui rinunci

Page 28: Managing debt remastered

Ma soprattutto…

Page 29: Managing debt remastered
Page 30: Managing debt remastered
Page 31: Managing debt remastered

Italia tefe pakare tepito tekniko!

Page 32: Managing debt remastered

Non è sempre detto…

Page 33: Managing debt remastered

Questa può essere una strategia…

Page 34: Managing debt remastered
Page 35: Managing debt remastered
Page 36: Managing debt remastered

So ndo’ abbiti.

Page 37: Managing debt remastered

Di chi è il debito?

Page 38: Managing debt remastered

Se prevediamo di stare nel sistema meno del tempo necessario a migliorarlo…

Page 39: Managing debt remastered

#sticazzi!

Page 40: Managing debt remastered

…è una strategia vincente.

Page 41: Managing debt remastered

Leggiamo il sistema:

Page 42: Managing debt remastered

Sistema 0-Prodotto non interessante

-Sviluppatori a progetto

Page 43: Managing debt remastered

Sistema 1-Prodotto chiave

-Sviluppatori a progetto

-… “ah, è la crisi!” :-(

Page 44: Managing debt remastered

Sistema 2

-Sviluppatori interni

-Budget trimestrale/semestrale/annuale

Page 45: Managing debt remastered

“Possiamo fare refactoring?”

Page 46: Managing debt remastered

“Mamma posso mettere in ordine la

mia stanza?”

Page 47: Managing debt remastered

Costi certi vs…

Page 48: Managing debt remastered
Page 49: Managing debt remastered

Dobbiamo chiederlo noi?

Page 50: Managing debt remastered

Non dobbiamo chiedere il permesso di fare la cosa giusta

Page 51: Managing debt remastered

Se è così grande da dover chiedere il

permesso c’è qualcosa di sbagliato…

Page 52: Managing debt remastered

Cosa stiamo chiedendo?

Page 53: Managing debt remastered

Sistema 3

-Sviluppatori interni bravi

-CEO che pianifica un exit

Page 54: Managing debt remastered

Stessi obiettivi?

Management Horizon

IT H

oriz

on

Short term Long term

Long

term

Shor

t Ter

m

Bomba a tempo

Con pratica e disciplina farete

grandi cose!Catenaccio!Planning difensivo

Tanta Fatica

Abbandonate la nave!

Esperimenti

Probabilmente devono imparare

qualcosa

Page 55: Managing debt remastered

Chi può migliorare il sistema?

Page 56: Managing debt remastered

Di chi è il debito?

Page 57: Managing debt remastered

Siamo pedine o giocatori?

Page 58: Managing debt remastered

Ok chi paga?

Page 59: Managing debt remastered
Page 60: Managing debt remastered

So ndo’ abbiti.

Page 61: Managing debt remastered

A quanto ammonta il debito?

Page 62: Managing debt remastered

“Non ne ho idea”

Page 63: Managing debt remastered

“È un casino”

Page 64: Managing debt remastered

“Non si può fare”

Page 65: Managing debt remastered
Page 66: Managing debt remastered

…serve una via!

Page 67: Managing debt remastered
Page 68: Managing debt remastered

Cosa significa scrivere del “buon codice”?

Page 69: Managing debt remastered
Page 70: Managing debt remastered

Framework di persistenza in Java fatto in casa - 2002

Page 71: Managing debt remastered

Framework di persistenza in Java fatto in casa - 2002

Libreria per la generazione del codice fiscale - 1999

Page 72: Managing debt remastered

Framework di persistenza in Java fatto in casa - 2002

Libreria per la generazione del codice fiscale - 1999

Wrapper di Log4J - 2003

Page 73: Managing debt remastered

“se cambia X, noi siamo a posto”

Page 74: Managing debt remastered
Page 75: Managing debt remastered

Egli l’aveva previsto

Page 76: Managing debt remastered

Egli l’aveva previsto

È senza dubbio il prescelto!

Page 77: Managing debt remastered

Egli l’aveva previsto

È senza dubbio il prescelto!

I suoi sorgenti saranno studiati dalle

generazioni future!

Page 78: Managing debt remastered

Egli l’aveva previsto

È senza dubbio il prescelto!

…ed è anche un bell’uomo!

I suoi sorgenti saranno studiati dalle

generazioni future!

Page 79: Managing debt remastered

Protezione da rischi (tecnologici)

vs generazione di

opportunità

Page 80: Managing debt remastered

Generazione di opportunità

1) Deve funzionare 2) Deve essere usato

3) Deve piacere

Page 81: Managing debt remastered

“A posto così, grazie”

Page 82: Managing debt remastered

In quante aziende hanno smesso di

chiedere?

Page 83: Managing debt remastered

Quindi?

Page 84: Managing debt remastered

Solo una “religione” può sperare di sovvertire un sistema

Page 85: Managing debt remastered

I SOLID principles non sono sufficienti

Page 86: Managing debt remastered

Orgoglio vs

disciplina

Page 87: Managing debt remastered

Flexibility Debt

Page 88: Managing debt remastered
Page 89: Managing debt remastered

Io mi occupo di questo

Page 90: Managing debt remastered

Di questo se ne occupa lui…

Page 91: Managing debt remastered

è il mio tesssoro!!!

Page 92: Managing debt remastered

©  Alberto  Brandolini  2009

… ma anche no!

Page 93: Managing debt remastered

Altre opzioni che svaniscono

Page 94: Managing debt remastered

Il debito è non avere alternative

Page 95: Managing debt remastered

1. Scopri il blocco 2. demistifica 3. agisci

Page 96: Managing debt remastered

Qualche assunzione implicita

(E qualche cosa che dico talmente tante volte da dare per scontata)

Page 97: Managing debt remastered

“Il debito tecnico va risolto a livello

tecnico”

Page 98: Managing debt remastered
Page 99: Managing debt remastered

Italia tefe fare sakrifici

Page 100: Managing debt remastered

“Sviluppare software è produrre codice”

Page 101: Managing debt remastered

sbagliato

Page 102: Managing debt remastered

Software development is a learning process

Working code is a side effect

Page 103: Managing debt remastered

Coding 20cl, learning 20cl, deciding 20cl, waiting...

Page 104: Managing debt remastered

quindi…?

Page 105: Managing debt remastered

Debito tecnico come effetto collaterale di…Quello che abbiamo imparato

a livello tecnico a livello di dominio

Del modo in cui prendiamo le decisioni

Del tempo a disposizione Dei vincoli imposti dal sistema

Page 106: Managing debt remastered

“Voglio ridurre il debito tecnico senza sperimentare

nuove strade”

Page 107: Managing debt remastered

“Voglio ridurre il debito tecnico senza imparare

nulla di nuovo”

a livello tecnico a livello di dominio

Page 108: Managing debt remastered

“Voglio ridurre il debito tecnico senza cambiare il

modo in cui vengono prese le decisioni”

Page 109: Managing debt remastered

“Voglio ridurre il debito tecnico senza mettere in

luce gli errori passati”

Page 110: Managing debt remastered

Non possiamo risolvere il debito tecnico solo a

livello di codice

Page 111: Managing debt remastered

Dobbiamo imparare nuove cose

Page 112: Managing debt remastered

Dobbiamo prendere decisioni migliori

Page 113: Managing debt remastered

Paura dell’ignoto

“Bisogna che lo fai tu…”

Page 114: Managing debt remastered

Hotspot Visualiser

Page 115: Managing debt remastered

Strategia

Guarda il quadro generale Scegli l’azione più importante

Agisci insegna - analizza - sperimenta

Verifica (gongola)

Ricomincia

Page 116: Managing debt remastered

Abbiamo una potenza di fuoco limitata

Page 117: Managing debt remastered

Non possiamo risolvere tutto

Page 118: Managing debt remastered

Ma una cosa sì

Page 119: Managing debt remastered

Prenditi tutto lo spazio che serve

Page 120: Managing debt remastered

Awareness

Page 121: Managing debt remastered
Page 122: Managing debt remastered

So ndo’ abbiti.

Page 123: Managing debt remastered

Paura dell’ignoto

Eh, ma è un casino

Page 124: Managing debt remastered

Vogliamo sapere

Quanto è il debito Quando dobbiamo pagarlo

Se dobbiamo pagarlo

Page 125: Managing debt remastered

La matematica del mucchio

Page 126: Managing debt remastered

Fase 1

È un casino. C’è un sacco di roba.

Non va niente.

Page 127: Managing debt remastered

Quanto è grande il casino?

Page 128: Managing debt remastered

Quanto è grande il casino?

Page 129: Managing debt remastered

Ora lo sappiamo

Page 130: Managing debt remastered

Io e PHP (fase 1)

Page 131: Managing debt remastered

Io e PHP (fase 1)Non conosco PHP

Page 132: Managing debt remastered

Io e PHP (fase 1)Non conosco PHP

(quanto mi ci vuole a imparare un linguaggio?)

Page 133: Managing debt remastered

Io e PHP (fase 1)Non conosco PHP

(quanto mi ci vuole a imparare un linguaggio?)

Page 134: Managing debt remastered

Io e PHP (fase 1)Non conosco PHP

(quanto mi ci vuole a imparare un linguaggio?)

Stima per imparare PHP:

Page 135: Managing debt remastered

Io e PHP (fase 1)Non conosco PHP

(quanto mi ci vuole a imparare un linguaggio?)

Stima per imparare PHP:1 mese per imparare il linguaggio

Page 136: Managing debt remastered

Io e PHP (fase 1)Non conosco PHP

(quanto mi ci vuole a imparare un linguaggio?)

Stima per imparare PHP:1 mese per imparare il linguaggio

Page 137: Managing debt remastered

Io e PHP (fase 1)Non conosco PHP

(quanto mi ci vuole a imparare un linguaggio?)

Stima per imparare PHP:1 mese per imparare il linguaggio

Posizione commerciale:

Page 138: Managing debt remastered

Io e PHP (fase 1)Non conosco PHP

(quanto mi ci vuole a imparare un linguaggio?)

Stima per imparare PHP:1 mese per imparare il linguaggio

Posizione commerciale:“Non mi occupo di PHP”

Page 139: Managing debt remastered

Paura dell’ignoto

Eh, ma è un casino

Page 140: Managing debt remastered

Testing Dojo

Una giornata dedicata alla sperimentazione ed alla

pratica senza alcun altro fine che imparare

Page 141: Managing debt remastered

Ore lavorative o

fine settimana?

Page 142: Managing debt remastered

Io e PHP (fase 2)

Page 143: Managing debt remastered

Io e PHP (fase 2)Non conosco PHP

Page 144: Managing debt remastered

Io e PHP (fase 2)Non conosco PHP

(però …vabbè)

Page 145: Managing debt remastered

Io e PHP (fase 2)Non conosco PHP

(però …vabbè)

Page 146: Managing debt remastered

Io e PHP (fase 2)Non conosco PHP

(però …vabbè)

Stima per imparare PHP:

Page 147: Managing debt remastered

Io e PHP (fase 2)Non conosco PHP

(però …vabbè)

Stima per imparare PHP:1 mese per imparare il linguaggio

Page 148: Managing debt remastered

Io e PHP (fase 2)Non conosco PHP

(però …vabbè)

Stima per imparare PHP:1 mese per imparare il linguaggio

Page 149: Managing debt remastered

Io e PHP (fase 2)Non conosco PHP

(però …vabbè)

Stima per imparare PHP:1 mese per imparare il linguaggio

Posizione commerciale:

Page 150: Managing debt remastered

Io e PHP (fase 2)Non conosco PHP

(però …vabbè)

Stima per imparare PHP:1 mese per imparare il linguaggio

Posizione commerciale:“No problem”

Page 151: Managing debt remastered
Page 152: Managing debt remastered

Freddo, quanto sta er debbito?

Page 153: Managing debt remastered
Page 154: Managing debt remastered

So’ 12 euro e 70

Page 155: Managing debt remastered

Quello che non sappiamo crea

ostacoli

Page 156: Managing debt remastered

La Trasparenza paga

Page 157: Managing debt remastered

Questo è un problema

Page 158: Managing debt remastered

Fare cose per la prima volta

Page 159: Managing debt remastered

Aprire opzioni

Page 160: Managing debt remastered

Dove ci sediamo?

Page 161: Managing debt remastered

Dove lavoriamo?

Page 162: Managing debt remastered

Come lavoriamo oggi?

Page 163: Managing debt remastered

Il debito sono le cose a cui rinunciamo

Page 164: Managing debt remastered

Il debito sono le cose a cui rinunciamo

senza rendercene conto

Page 165: Managing debt remastered

Non è tecnico

Page 166: Managing debt remastered

Non si ripaga solo con la fatica

Page 167: Managing debt remastered
Page 168: Managing debt remastered

Non dobbiamo pagarlo TUTTO

Page 169: Managing debt remastered

Ma dobbiamo controllarlo

Page 170: Managing debt remastered

O lui controllerà noi

Page 171: Managing debt remastered

Grazie!

Page 172: Managing debt remastered

Actionables

http://www.mindmeister.com/478235545?t=YCxNFnCG2Z#

Page 173: Managing debt remastered

Nota dell’autoreLa prima uscita di questa presentazione è stata all’ Italian Agile Day 2014. Per un sacco di motivi, il risultato non è stato completamente soddisfacente. In particolare, alcuni feedback hanno evidenziato alcuni legami non proprio immediati tra gli argomenti trattati. In questa versione ho cercato di rendere più evidenti alcuni aspetti, che riallacciandosi a mie presentazioni passate, potevano apparire ovvii, ma non lo erano.

Il risultato è un numero di slides decisamente superiore alla versione originale, ma (spero) maggiore chiarezza nel passaggio dalla prima alla seconda parte del talk. A queste è stata aggiunta anche la mindmap della slide precedente con alcuni riferimenti a strumenti specifici, sperando d fare cosa gradita.

Page 174: Managing debt remastered

aspè’

Page 175: Managing debt remastered
Page 176: Managing debt remastered

A Brando! … me spieghi la formattazione

condizionale?