Managing debt remastered

Preview:

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?

Recommended