Upload
alberto-brandolini
View
621
Download
0
Tags:
Embed Size (px)
DESCRIPTION
Remastered and re-edited version of my presantation (in Italian) at the Italian Agile Day 2014
Citation preview
Managing * debt
@ziobrando avanscoperta
Alberto Brandolini
About me@ziobrando
I do something else instead
@ziobrandoAbout me
avanscoperta
About me@ziobrando
I do something else instead
@ziobrandoAbout meDDD enthusiast
avanscoperta
About me@ziobrando
I do something else instead
@ziobrandoAbout meDDD enthusiastPost-it addicted
avanscoperta
About me@ziobrando
I do something else instead
@ziobrandoAbout meDDD enthusiastPost-it addictedVisual thinker
avanscoperta
About me@ziobrando
I do something else instead
@ziobrandoAbout meDDD enthusiastPost-it addictedVisual thinkerChaos summoner
avanscoperta
About me@ziobrando
I do something else instead
@ziobrandoAbout meDDD enthusiastPost-it addictedVisual thinkerChaos summonerIdea thief
avanscoperta
About me@ziobrando
I do something else instead
@ziobrandoAbout meDDD enthusiastPost-it addictedVisual thinkerChaos summonerIdea thief…never satisfied
avanscoperta
Technical Debt
https://www.youtube.com/watch?v=pqeJFYwnkjE
1. Spensieratezza
2. Accumulo
3.
E dopo?
Technical Debt
https://www.youtube.com/watch?v=pqeJFYwnkjE
L’illusione del controllo
Che bello! Un postdatato! Grazie!!!
PrevedibileNegoziabile
Stimabile
Controllabile
No, il debito non l’avete con lei…
Libbano
Bella Libbano!Questa iterazione c’ha detto male. :-) Ma er debbito o’ripagamo alla prossima!! :o)
Libbano
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
Davvero?
2 problemi:
Le cose che sei costretto a fare
Le cose a cui rinunci
Ma soprattutto…
Italia tefe pakare tepito tekniko!
Non è sempre detto…
Questa può essere una strategia…
So ndo’ abbiti.
Di chi è il debito?
Se prevediamo di stare nel sistema meno del tempo necessario a migliorarlo…
#sticazzi!
…è una strategia vincente.
Leggiamo il sistema:
Sistema 0-Prodotto non interessante
-Sviluppatori a progetto
Sistema 1-Prodotto chiave
-Sviluppatori a progetto
-… “ah, è la crisi!” :-(
Sistema 2
-Sviluppatori interni
-Budget trimestrale/semestrale/annuale
“Possiamo fare refactoring?”
“Mamma posso mettere in ordine la
mia stanza?”
Costi certi vs…
Dobbiamo chiederlo noi?
Non dobbiamo chiedere il permesso di fare la cosa giusta
Se è così grande da dover chiedere il
permesso c’è qualcosa di sbagliato…
Cosa stiamo chiedendo?
Sistema 3
-Sviluppatori interni bravi
-CEO che pianifica un exit
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
Chi può migliorare il sistema?
Di chi è il debito?
Siamo pedine o giocatori?
Ok chi paga?
So ndo’ abbiti.
A quanto ammonta il debito?
“Non ne ho idea”
“È un casino”
“Non si può fare”
…serve una via!
Cosa significa scrivere del “buon codice”?
Framework di persistenza in Java fatto in casa - 2002
Framework di persistenza in Java fatto in casa - 2002
Libreria per la generazione del codice fiscale - 1999
Framework di persistenza in Java fatto in casa - 2002
Libreria per la generazione del codice fiscale - 1999
Wrapper di Log4J - 2003
“se cambia X, noi siamo a posto”
Egli l’aveva previsto
Egli l’aveva previsto
È senza dubbio il prescelto!
Egli l’aveva previsto
È senza dubbio il prescelto!
I suoi sorgenti saranno studiati dalle
generazioni future!
Egli l’aveva previsto
È senza dubbio il prescelto!
…ed è anche un bell’uomo!
I suoi sorgenti saranno studiati dalle
generazioni future!
Protezione da rischi (tecnologici)
vs generazione di
opportunità
Generazione di opportunità
1) Deve funzionare 2) Deve essere usato
3) Deve piacere
“A posto così, grazie”
In quante aziende hanno smesso di
chiedere?
Quindi?
Solo una “religione” può sperare di sovvertire un sistema
I SOLID principles non sono sufficienti
Orgoglio vs
disciplina
Flexibility Debt
Io mi occupo di questo
Di questo se ne occupa lui…
è il mio tesssoro!!!
© Alberto Brandolini 2009
… ma anche no!
Altre opzioni che svaniscono
Il debito è non avere alternative
1. Scopri il blocco 2. demistifica 3. agisci
Qualche assunzione implicita
(E qualche cosa che dico talmente tante volte da dare per scontata)
“Il debito tecnico va risolto a livello
tecnico”
Italia tefe fare sakrifici
“Sviluppare software è produrre codice”
sbagliato
Software development is a learning process
Working code is a side effect
Coding 20cl, learning 20cl, deciding 20cl, waiting...
quindi…?
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
“Voglio ridurre il debito tecnico senza sperimentare
nuove strade”
“Voglio ridurre il debito tecnico senza imparare
nulla di nuovo”
a livello tecnico a livello di dominio
“Voglio ridurre il debito tecnico senza cambiare il
modo in cui vengono prese le decisioni”
“Voglio ridurre il debito tecnico senza mettere in
luce gli errori passati”
Non possiamo risolvere il debito tecnico solo a
livello di codice
Dobbiamo imparare nuove cose
Dobbiamo prendere decisioni migliori
Paura dell’ignoto
“Bisogna che lo fai tu…”
Hotspot Visualiser
Strategia
Guarda il quadro generale Scegli l’azione più importante
Agisci insegna - analizza - sperimenta
Verifica (gongola)
Ricomincia
Abbiamo una potenza di fuoco limitata
Non possiamo risolvere tutto
Ma una cosa sì
Prenditi tutto lo spazio che serve
Awareness
So ndo’ abbiti.
Paura dell’ignoto
Eh, ma è un casino
Vogliamo sapere
Quanto è il debito Quando dobbiamo pagarlo
Se dobbiamo pagarlo
La matematica del mucchio
Fase 1
È un casino. C’è un sacco di roba.
Non va niente.
Quanto è grande il casino?
Quanto è grande il casino?
Ora lo sappiamo
Io e PHP (fase 1)
Io e PHP (fase 1)Non conosco PHP
Io e PHP (fase 1)Non conosco PHP
(quanto mi ci vuole a imparare un linguaggio?)
Io e PHP (fase 1)Non conosco PHP
(quanto mi ci vuole a imparare un linguaggio?)
Io e PHP (fase 1)Non conosco PHP
(quanto mi ci vuole a imparare un linguaggio?)
Stima per imparare PHP:
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
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
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:
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”
Paura dell’ignoto
Eh, ma è un casino
Testing Dojo
Una giornata dedicata alla sperimentazione ed alla
pratica senza alcun altro fine che imparare
Ore lavorative o
fine settimana?
Io e PHP (fase 2)
Io e PHP (fase 2)Non conosco PHP
Io e PHP (fase 2)Non conosco PHP
(però …vabbè)
Io e PHP (fase 2)Non conosco PHP
(però …vabbè)
Io e PHP (fase 2)Non conosco PHP
(però …vabbè)
Stima per imparare PHP:
Io e PHP (fase 2)Non conosco PHP
(però …vabbè)
Stima per imparare PHP:1 mese per imparare il linguaggio
Io e PHP (fase 2)Non conosco PHP
(però …vabbè)
Stima per imparare PHP:1 mese per imparare il linguaggio
Io e PHP (fase 2)Non conosco PHP
(però …vabbè)
Stima per imparare PHP:1 mese per imparare il linguaggio
Posizione commerciale:
Io e PHP (fase 2)Non conosco PHP
(però …vabbè)
Stima per imparare PHP:1 mese per imparare il linguaggio
Posizione commerciale:“No problem”
Freddo, quanto sta er debbito?
So’ 12 euro e 70
Quello che non sappiamo crea
ostacoli
La Trasparenza paga
Questo è un problema
Fare cose per la prima volta
Aprire opzioni
Dove ci sediamo?
Dove lavoriamo?
Come lavoriamo oggi?
Il debito sono le cose a cui rinunciamo
Il debito sono le cose a cui rinunciamo
senza rendercene conto
Non è tecnico
Non si ripaga solo con la fatica
Non dobbiamo pagarlo TUTTO
Ma dobbiamo controllarlo
O lui controllerà noi
Grazie!
Actionables
http://www.mindmeister.com/478235545?t=YCxNFnCG2Z#
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.
aspè’
A Brando! … me spieghi la formattazione
condizionale?