jacopo romei: abbattere i rischi di insuccesso con extreme programming
DESCRIPTION
TRANSCRIPT
![Page 1: Jacopo Romei: Abbattere i rischi di insuccesso con Extreme Programming](https://reader034.vdocuments.site/reader034/viewer/2022051611/54b683314a795917698b4634/html5/thumbnails/1.jpg)
Abbattere il rischio di insuccessocon Extreme Programming
Jacopo Romei
![Page 2: Jacopo Romei: Abbattere i rischi di insuccesso con Extreme Programming](https://reader034.vdocuments.site/reader034/viewer/2022051611/54b683314a795917698b4634/html5/thumbnails/2.jpg)
Di cosa t ra t te remo?
● Ovviamente: tecniche XP– Planning game– Pair programming– Continous integration– Test automatici - poco, altrimenti Gabriele
Lana cosa è venuto a fare?! ;)
● Progetti reali● Calvizie
![Page 3: Jacopo Romei: Abbattere i rischi di insuccesso con Extreme Programming](https://reader034.vdocuments.site/reader034/viewer/2022051611/54b683314a795917698b4634/html5/thumbnails/3.jpg)
Sa lva rs i f i nché s i è i n tempo
● Una metodologia serve ad organizzare il lavoro degli esseri umani.
● Una metodologia deve contribuire alla felicità degli essere umani.
![Page 4: Jacopo Romei: Abbattere i rischi di insuccesso con Extreme Programming](https://reader034.vdocuments.site/reader034/viewer/2022051611/54b683314a795917698b4634/html5/thumbnails/4.jpg)
Momento a fo r i sma
Se fai sempre quello che hai sempre fatto, otterrai sempre quello che hai sempre
ottenuto.
Abramo Lincoln
![Page 5: Jacopo Romei: Abbattere i rischi di insuccesso con Extreme Programming](https://reader034.vdocuments.site/reader034/viewer/2022051611/54b683314a795917698b4634/html5/thumbnails/5.jpg)
XP in una f rase
● Insieme di pratiche empiriche per lo sviluppo del software che ha come obiettivo la soddisfazione del cliente.
● Occhio!– empiriche, non astratte– soddisfazione del cliente, non il piacere di
programmare
![Page 6: Jacopo Romei: Abbattere i rischi di insuccesso con Extreme Programming](https://reader034.vdocuments.site/reader034/viewer/2022051611/54b683314a795917698b4634/html5/thumbnails/6.jpg)
XP non è una re l i g ione
● Le pratiche XP sono– una forma di conoscenza– uno strumento
● attenzione all'uso improprio
– modulari– risonanti
● limite di questo stesso talk
![Page 7: Jacopo Romei: Abbattere i rischi di insuccesso con Extreme Programming](https://reader034.vdocuments.site/reader034/viewer/2022051611/54b683314a795917698b4634/html5/thumbnails/7.jpg)
Nasce un nuovo p roget to
Forse un solo sviluppatore
![Page 8: Jacopo Romei: Abbattere i rischi di insuccesso con Extreme Programming](https://reader034.vdocuments.site/reader034/viewer/2022051611/54b683314a795917698b4634/html5/thumbnails/8.jpg)
Cont inous in tegra t ion
● Il limbo del codice: dall'ideazione all'integrazione
● Programmando soli è il default
![Page 9: Jacopo Romei: Abbattere i rischi di insuccesso con Extreme Programming](https://reader034.vdocuments.site/reader034/viewer/2022051611/54b683314a795917698b4634/html5/thumbnails/9.jpg)
Cont inous in tegra t ion & co .
● Compari perfetti:– I test automatici– Source versioning (SVN)
● Sviluppo adiabatico● DISCLAIMER: i veri nerd si tappino le orecchie!!!
![Page 10: Jacopo Romei: Abbattere i rischi di insuccesso con Extreme Programming](https://reader034.vdocuments.site/reader034/viewer/2022051611/54b683314a795917698b4634/html5/thumbnails/10.jpg)
No ia vs . c rea t iv i tà
● Creatività vs. incertezza● Sviluppo adiabatico vs. creatività● Sviluppo adiabatico vs. incertezza● Noia vs. sviluppo adiabatico● Noia vs. serenità
– XP e le altre metodologie agili puntano sulla persona quindi puntano sulla serenità
![Page 11: Jacopo Romei: Abbattere i rischi di insuccesso con Extreme Programming](https://reader034.vdocuments.site/reader034/viewer/2022051611/54b683314a795917698b4634/html5/thumbnails/11.jpg)
Momento a fo r i sma
Tutti pensano di cambiare il mondo. Nessuno di cambiare se stesso.
Lev Tolstoj
![Page 12: Jacopo Romei: Abbattere i rischi di insuccesso con Extreme Programming](https://reader034.vdocuments.site/reader034/viewer/2022051611/54b683314a795917698b4634/html5/thumbnails/12.jpg)
F in to XP
● Sviluppatori che praticano un cattivo XP● Nessuna metodologia funziona contro
– pigrizia– incompetenza– scorrettezza
● Cambiare sviluppatori
![Page 13: Jacopo Romei: Abbattere i rischi di insuccesso con Extreme Programming](https://reader034.vdocuments.site/reader034/viewer/2022051611/54b683314a795917698b4634/html5/thumbnails/13.jpg)
I l p roget to c resce
Riesco a pagare un collaboratore
![Page 14: Jacopo Romei: Abbattere i rischi di insuccesso con Extreme Programming](https://reader034.vdocuments.site/reader034/viewer/2022051611/54b683314a795917698b4634/html5/thumbnails/14.jpg)
Tut t i ne l l a s tessa ba rca
● Ok, siamo in due. E ora?– Frà Rodolfo da Ceprano (alias Christian De
Sica) in “Vacanze in America”: “Chi se fa l'affari sua, torna sano a casa sua!”
– Condivisione di problemi e soluzioni: pair programming
![Page 15: Jacopo Romei: Abbattere i rischi di insuccesso con Extreme Programming](https://reader034.vdocuments.site/reader034/viewer/2022051611/54b683314a795917698b4634/html5/thumbnails/15.jpg)
Pa i r p rogramming
● Critica tipica: perché pagare due persone per fare una cosa sola?
● Risposta: perché potrebbe convenire.– qualità significa indirettamente velocità– varianza ridotta– il solito empirismo sperimentale– ultimo ma non ultimo: morale alto
![Page 16: Jacopo Romei: Abbattere i rischi di insuccesso con Extreme Programming](https://reader034.vdocuments.site/reader034/viewer/2022051611/54b683314a795917698b4634/html5/thumbnails/16.jpg)
Pa i r p rogramming in remoto
● Attivo– Gobby
● Passivo– Strategico: VNC client, Skype– Tattico: VNC server, Skype
● Funziona, garantisce Francesco Trucchia ;)
![Page 17: Jacopo Romei: Abbattere i rischi di insuccesso con Extreme Programming](https://reader034.vdocuments.site/reader034/viewer/2022051611/54b683314a795917698b4634/html5/thumbnails/17.jpg)
I l p roget to p rospera
Non si è mai troppi, basta pianificare.
![Page 18: Jacopo Romei: Abbattere i rischi di insuccesso con Extreme Programming](https://reader034.vdocuments.site/reader034/viewer/2022051611/54b683314a795917698b4634/html5/thumbnails/18.jpg)
Comun ica re è comp lesso
Persone coinvolte
Can
ali d
a ge
stire
![Page 19: Jacopo Romei: Abbattere i rischi di insuccesso con Extreme Programming](https://reader034.vdocuments.site/reader034/viewer/2022051611/54b683314a795917698b4634/html5/thumbnails/19.jpg)
I l c l i en te se rve a no i e no i a lu i
Scadenze, scadenze, scadenze.
![Page 20: Jacopo Romei: Abbattere i rischi di insuccesso con Extreme Programming](https://reader034.vdocuments.site/reader034/viewer/2022051611/54b683314a795917698b4634/html5/thumbnails/20.jpg)
Manager s t ruzz i , c l i en t i s t ruzz i
● Il disordine esiste● Una metodologia
seria– non finge di non
saperlo– ne riduce l'effetto
efficacemente
![Page 21: Jacopo Romei: Abbattere i rischi di insuccesso con Extreme Programming](https://reader034.vdocuments.site/reader034/viewer/2022051611/54b683314a795917698b4634/html5/thumbnails/21.jpg)
Div ide e t impera
● Caos nel codice: test automatici● Caos nei cervelli: pair programming● Caos nei processi: agile planning
– posticipare le decisioni per ridurre lo scope● Planning game● Release planning● Iteration planning
![Page 22: Jacopo Romei: Abbattere i rischi di insuccesso con Extreme Programming](https://reader034.vdocuments.site/reader034/viewer/2022051611/54b683314a795917698b4634/html5/thumbnails/22.jpg)
P lann ing game
● User stories (feature driven)● Assegnazione di un peso● Vantaggi
– stima chi è esperto– promuove la discussione– riduce la varianza (come il pair
programming!)– divertimento, morale alto
![Page 23: Jacopo Romei: Abbattere i rischi di insuccesso con Extreme Programming](https://reader034.vdocuments.site/reader034/viewer/2022051611/54b683314a795917698b4634/html5/thumbnails/23.jpg)
Assegnaz ione d i p r i o r i tà
● Valore economico– denaro fatto o denaro risparmiato
● Costo– il costo varia col tempo: a volte meglio
aspettare, a volte meglio agire
● Nuova conoscenza– del prodotto o del progetto
● Rischio– scadenze, costi, funzionalità
![Page 24: Jacopo Romei: Abbattere i rischi di insuccesso con Extreme Programming](https://reader034.vdocuments.site/reader034/viewer/2022051611/54b683314a795917698b4634/html5/thumbnails/24.jpg)
Assegnaz ione d i p r i o r i tà
![Page 25: Jacopo Romei: Abbattere i rischi di insuccesso con Extreme Programming](https://reader034.vdocuments.site/reader034/viewer/2022051611/54b683314a795917698b4634/html5/thumbnails/25.jpg)
Assegnaz ione d i p r i o r i tà
![Page 26: Jacopo Romei: Abbattere i rischi di insuccesso con Extreme Programming](https://reader034.vdocuments.site/reader034/viewer/2022051611/54b683314a795917698b4634/html5/thumbnails/26.jpg)
Re lease p lann ing
● User stories● Velocity
– nota– tipica– stimata
● Deadline
![Page 27: Jacopo Romei: Abbattere i rischi di insuccesso con Extreme Programming](https://reader034.vdocuments.site/reader034/viewer/2022051611/54b683314a795917698b4634/html5/thumbnails/27.jpg)
Momento a fo r i sma
Essere incerti è scomodo,ma essere certi è ridicolo.
Proverbio cinese
![Page 28: Jacopo Romei: Abbattere i rischi di insuccesso con Extreme Programming](https://reader034.vdocuments.site/reader034/viewer/2022051611/54b683314a795917698b4634/html5/thumbnails/28.jpg)
I t e ra t i on p lann ing
● User stories● Scomposizione in task● Lunghezza dell'iterazione
![Page 29: Jacopo Romei: Abbattere i rischi di insuccesso con Extreme Programming](https://reader034.vdocuments.site/reader034/viewer/2022051611/54b683314a795917698b4634/html5/thumbnails/29.jpg)
P lann ing ne l mondo vero
● Budget fissati? Scadenze fissate?– Riduzione dello scope– Introduzione di buffer per l'incertezza
![Page 30: Jacopo Romei: Abbattere i rischi di insuccesso con Extreme Programming](https://reader034.vdocuments.site/reader034/viewer/2022051611/54b683314a795917698b4634/html5/thumbnails/30.jpg)
Mul t i - t ask ing e manager s t ruzz i
● Semplicemente inefficace● E' possibile dimostrarlo!
![Page 31: Jacopo Romei: Abbattere i rischi di insuccesso con Extreme Programming](https://reader034.vdocuments.site/reader034/viewer/2022051611/54b683314a795917698b4634/html5/thumbnails/31.jpg)
Mul t i - t ask ing e manager s t ruzz i
● 2 task (per i tempi morti dell'uno e dell'altro intercalati)
● Corretta assegnazione di priorità
![Page 32: Jacopo Romei: Abbattere i rischi di insuccesso con Extreme Programming](https://reader034.vdocuments.site/reader034/viewer/2022051611/54b683314a795917698b4634/html5/thumbnails/32.jpg)
Momento a fo r i sma
Le buone soluzioni sono inutili tentativi di interferire
con le leggi scientifiche. La loro origine è la pura vanità.
Il loro risultato il nulla.
Oscar Wilde