SlideShare a Scribd company logo
1 of 32
Download to read offline
Abbattere il rischio di insuccesso
  con Extreme Programming



             Jacopo Romei
Di cosa tratteremo?

    Ovviamente: tecniche XP
●


        Planning game
    –

        Pair programming
    –

        Continous integration
    –

        Test automatici - poco, altrimenti Gabriele
    –
        Lana cosa è venuto a fare?! ;)
    Progetti reali
●



    Calvizie
●
Salvarsi finché si è in tempo




    Una metodologia serve ad organizzare il
●


    lavoro degli esseri umani.
    Una metodologia deve contribuire alla
●


    felicità degli essere umani.
Momento aforisma




 Se fai sempre quello che hai sempre fatto,
   otterrai sempre quello che hai sempre
                 ottenuto.

                                Abramo Lincoln
XP in una frase

    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
XP non è una religione

    Le pratiche XP sono
●


        una forma di conoscenza
    –

        uno strumento
    –

             attenzione all'uso improprio
         ●



        modulari
    –

        risonanti
    –

             limite di questo stesso talk
         ●
Nasce un nuovo progetto




      Forse un solo sviluppatore
Continous integration

    Il limbo del codice: dall'ideazione
●


    all'integrazione
    Programmando soli è il default
●
Continous integration & co.

    Compari perfetti:
●


        I test automatici
    –

        Source versioning (SVN)
    –

    Sviluppo adiabatico
●


             DISCLAIMER: i veri nerd si tappino le orecchie!!!
         ●
Noia vs. creatività

    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à
Momento aforisma




   Tutti pensano di cambiare il mondo.
     Nessuno di cambiare se stesso.

                                  Lev Tolstoj
Finto XP

    Sviluppatori che praticano un cattivo XP
●



    Nessuna metodologia funziona contro
●


        pigrizia
    –

        incompetenza
    –

        scorrettezza
    –

    Cambiare sviluppatori
●
Il progetto cresce




    Riesco a pagare un collaboratore
Tutti nella stessa barca

    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
Pair programming

    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
    –
Pair programming in remoto

    Attivo
●


        Gobby
    –

    Passivo
●


        Strategico: VNC client, Skype
    –

        Tattico: VNC server, Skype
    –

    Funziona, garantisce Francesco Trucchia
●


    ;)
Il progetto prospera




   Non si è mai troppi, basta pianificare.
Comunicare è complesso
 Canali da gestire




                     Persone coinvolte
Il cliente serve a noi e noi a lui




     Scadenze, scadenze, scadenze.
Manager struzzi, clienti struzzi

    Il disordine esiste
●



    Una metodologia
●


    seria
        non finge di non
    –
        saperlo
        ne riduce l'effetto
    –
        efficacemente
Divide et 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
         ●
Planning 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
    –
Assegnazione di priorità

    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à
    –
Assegnazione di priorità
Assegnazione di priorità
Release planning

    User stories
●



    Velocity
●


        nota
    –

        tipica
    –

        stimata
    –

    Deadline
●
Momento aforisma




      Essere incerti è scomodo,
      ma essere certi è ridicolo.

                             Proverbio cinese
Iteration planning

    User stories
●



    Scomposizione in task
●



    Lunghezza dell'iterazione
●
Planning nel mondo vero

    Budget fissati? Scadenze fissate?
●


        Riduzione dello scope
    –

        Introduzione di buffer per l'incertezza
    –
Multi-tasking e manager struzzi

    Semplicemente inefficace
●



    E' possibile dimostrarlo!
●
Multi-tasking e manager struzzi

    2 task (per i tempi morti dell'uno e
●


    dell'altro intercalati)
    Corretta assegnazione di priorità
●
Momento aforisma



      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

More Related Content

Similar to Jacopo Romei: Abbattere i rischi di insuccesso con Extreme Programming

Software ...e tutto ciò che comporta
Software ...e tutto ciò che comportaSoftware ...e tutto ciò che comporta
Software ...e tutto ciò che comportaAlberto Brandolini
 
Intoduzione Alle Metodologie Agili
Intoduzione Alle Metodologie AgiliIntoduzione Alle Metodologie Agili
Intoduzione Alle Metodologie AgiliStefano Leli
 
Perché a fare i preventivi facciamo così schifo?
Perché a fare i preventivi facciamo così schifo?Perché a fare i preventivi facciamo così schifo?
Perché a fare i preventivi facciamo così schifo?Cristiano Rastelli
 
Lo sviluppo delle mucche viola
Lo sviluppo delle mucche violaLo sviluppo delle mucche viola
Lo sviluppo delle mucche violaJacopo Romei
 
Christian Dama, The time management
Christian Dama, The time managementChristian Dama, The time management
Christian Dama, The time managementChristian Dama
 
Retrospective, StandUp Meeting e Daily Journal
Retrospective, StandUp Meeting e Daily JournalRetrospective, StandUp Meeting e Daily Journal
Retrospective, StandUp Meeting e Daily JournalPietro Di Bello
 
Time Management
Time ManagementTime Management
Time Managementcusci72
 
Sostenere la qualità
Sostenere la qualitàSostenere la qualità
Sostenere la qualitàSketchin
 
Scrum? E' come fare il bucato!
Scrum? E' come fare il bucato!Scrum? E' come fare il bucato!
Scrum? E' come fare il bucato!Manuel Scapolan
 
1idea99team #vulcanoidee
1idea99team #vulcanoidee1idea99team #vulcanoidee
1idea99team #vulcanoideegiulitost0
 
Come funziona il cervello di un programmatore quando impara e affronta nuovi ...
Come funziona il cervello di un programmatore quando impara e affronta nuovi ...Come funziona il cervello di un programmatore quando impara e affronta nuovi ...
Come funziona il cervello di un programmatore quando impara e affronta nuovi ...Pietro Roversi
 
Le 4 regole del design thinking - 10/07/2015
Le 4 regole del design thinking - 10/07/2015Le 4 regole del design thinking - 10/07/2015
Le 4 regole del design thinking - 10/07/2015Progetto Imprenderò
 
Lean Web Solutions with WP [versione italiana]
Lean Web Solutions with WP [versione italiana]Lean Web Solutions with WP [versione italiana]
Lean Web Solutions with WP [versione italiana]Carlo Beschi
 
Sei Cappelli per Pensare
Sei Cappelli per PensareSei Cappelli per Pensare
Sei Cappelli per PensareMarco Rovatti
 
Un Approccio Sistematico Ed Organizzato Allo Sviluppo Del Software
Un Approccio Sistematico Ed Organizzato Allo Sviluppo Del SoftwareUn Approccio Sistematico Ed Organizzato Allo Sviluppo Del Software
Un Approccio Sistematico Ed Organizzato Allo Sviluppo Del SoftwareAlessandro Martellone
 
Pillole Di Formazione Appunti Efficaci
Pillole Di Formazione Appunti EfficaciPillole Di Formazione Appunti Efficaci
Pillole Di Formazione Appunti EfficaciLuigi Mengato
 

Similar to Jacopo Romei: Abbattere i rischi di insuccesso con Extreme Programming (20)

Software ...e tutto ciò che comporta
Software ...e tutto ciò che comportaSoftware ...e tutto ciò che comporta
Software ...e tutto ciò che comporta
 
Intoduzione Alle Metodologie Agili
Intoduzione Alle Metodologie AgiliIntoduzione Alle Metodologie Agili
Intoduzione Alle Metodologie Agili
 
La qualità non paga
La qualità non pagaLa qualità non paga
La qualità non paga
 
Perché a fare i preventivi facciamo così schifo?
Perché a fare i preventivi facciamo così schifo?Perché a fare i preventivi facciamo così schifo?
Perché a fare i preventivi facciamo così schifo?
 
Lo sviluppo delle mucche viola
Lo sviluppo delle mucche violaLo sviluppo delle mucche viola
Lo sviluppo delle mucche viola
 
Christian Dama, The time management
Christian Dama, The time managementChristian Dama, The time management
Christian Dama, The time management
 
Il valore percepito
Il valore percepitoIl valore percepito
Il valore percepito
 
Retrospective, StandUp Meeting e Daily Journal
Retrospective, StandUp Meeting e Daily JournalRetrospective, StandUp Meeting e Daily Journal
Retrospective, StandUp Meeting e Daily Journal
 
Time Management
Time ManagementTime Management
Time Management
 
Sostenere la qualità
Sostenere la qualitàSostenere la qualità
Sostenere la qualità
 
Sostenere la qualità
Sostenere la qualitàSostenere la qualità
Sostenere la qualità
 
Scrum? E' come fare il bucato!
Scrum? E' come fare il bucato!Scrum? E' come fare il bucato!
Scrum? E' come fare il bucato!
 
#NoCoaching IAD 2022
#NoCoaching IAD 2022#NoCoaching IAD 2022
#NoCoaching IAD 2022
 
1idea99team #vulcanoidee
1idea99team #vulcanoidee1idea99team #vulcanoidee
1idea99team #vulcanoidee
 
Come funziona il cervello di un programmatore quando impara e affronta nuovi ...
Come funziona il cervello di un programmatore quando impara e affronta nuovi ...Come funziona il cervello di un programmatore quando impara e affronta nuovi ...
Come funziona il cervello di un programmatore quando impara e affronta nuovi ...
 
Le 4 regole del design thinking - 10/07/2015
Le 4 regole del design thinking - 10/07/2015Le 4 regole del design thinking - 10/07/2015
Le 4 regole del design thinking - 10/07/2015
 
Lean Web Solutions with WP [versione italiana]
Lean Web Solutions with WP [versione italiana]Lean Web Solutions with WP [versione italiana]
Lean Web Solutions with WP [versione italiana]
 
Sei Cappelli per Pensare
Sei Cappelli per PensareSei Cappelli per Pensare
Sei Cappelli per Pensare
 
Un Approccio Sistematico Ed Organizzato Allo Sviluppo Del Software
Un Approccio Sistematico Ed Organizzato Allo Sviluppo Del SoftwareUn Approccio Sistematico Ed Organizzato Allo Sviluppo Del Software
Un Approccio Sistematico Ed Organizzato Allo Sviluppo Del Software
 
Pillole Di Formazione Appunti Efficaci
Pillole Di Formazione Appunti EfficaciPillole Di Formazione Appunti Efficaci
Pillole Di Formazione Appunti Efficaci
 

More from Francesco Fullone

Life Cycle Design e Circular Economy: un caso reale
Life Cycle Design e Circular Economy: un caso reale Life Cycle Design e Circular Economy: un caso reale
Life Cycle Design e Circular Economy: un caso reale Francesco Fullone
 
Okr istruzioni per l'uso - devfest
Okr   istruzioni per l'uso - devfestOkr   istruzioni per l'uso - devfest
Okr istruzioni per l'uso - devfestFrancesco Fullone
 
OKR, sono veramente utili alla mia azienda?
OKR, sono veramente utili alla mia azienda?OKR, sono veramente utili alla mia azienda?
OKR, sono veramente utili alla mia azienda?Francesco Fullone
 
Open Governance, un caso reale
Open Governance, un caso realeOpen Governance, un caso reale
Open Governance, un caso realeFrancesco Fullone
 
A recommendation engine for your applications
A recommendation engine for your applicationsA recommendation engine for your applications
A recommendation engine for your applicationsFrancesco Fullone
 
A recommendation engine for your applications
A recommendation engine for your applicationsA recommendation engine for your applications
A recommendation engine for your applicationsFrancesco Fullone
 
MVP & Startup, with OpenSource Software and Microsoft Azure
MVP & Startup, with OpenSource Software and Microsoft AzureMVP & Startup, with OpenSource Software and Microsoft Azure
MVP & Startup, with OpenSource Software and Microsoft AzureFrancesco Fullone
 
Help yourself, grow an healthy ecosystem
Help yourself, grow an healthy ecosystemHelp yourself, grow an healthy ecosystem
Help yourself, grow an healthy ecosystemFrancesco Fullone
 
Outsourcing, partners or suppliers?
Outsourcing, partners or suppliers?Outsourcing, partners or suppliers?
Outsourcing, partners or suppliers?Francesco Fullone
 
From brainstorming to product development
From brainstorming to product developmentFrom brainstorming to product development
From brainstorming to product developmentFrancesco Fullone
 
Compromises and not solution
Compromises and not solutionCompromises and not solution
Compromises and not solutionFrancesco Fullone
 

More from Francesco Fullone (20)

Life Cycle Design e Circular Economy: un caso reale
Life Cycle Design e Circular Economy: un caso reale Life Cycle Design e Circular Economy: un caso reale
Life Cycle Design e Circular Economy: un caso reale
 
Okr istruzioni per l'uso - devfest
Okr   istruzioni per l'uso - devfestOkr   istruzioni per l'uso - devfest
Okr istruzioni per l'uso - devfest
 
OKR, sono veramente utili alla mia azienda?
OKR, sono veramente utili alla mia azienda?OKR, sono veramente utili alla mia azienda?
OKR, sono veramente utili alla mia azienda?
 
Okr per community - icms
Okr   per community - icmsOkr   per community - icms
Okr per community - icms
 
Open Governance, un caso reale
Open Governance, un caso realeOpen Governance, un caso reale
Open Governance, un caso reale
 
A recommendation engine for your applications
A recommendation engine for your applicationsA recommendation engine for your applications
A recommendation engine for your applications
 
A recommendation engine for your applications
A recommendation engine for your applicationsA recommendation engine for your applications
A recommendation engine for your applications
 
Con te non ci lavoro
Con te non ci lavoroCon te non ci lavoro
Con te non ci lavoro
 
Con te non ci lavoro
Con te non ci lavoroCon te non ci lavoro
Con te non ci lavoro
 
Continuous budgeting
Continuous budgetingContinuous budgeting
Continuous budgeting
 
Remote working istruzioni
Remote working istruzioniRemote working istruzioni
Remote working istruzioni
 
Remote working istruzioni
Remote working istruzioniRemote working istruzioni
Remote working istruzioni
 
MVP & Startup, with OpenSource Software and Microsoft Azure
MVP & Startup, with OpenSource Software and Microsoft AzureMVP & Startup, with OpenSource Software and Microsoft Azure
MVP & Startup, with OpenSource Software and Microsoft Azure
 
Remote working istruzioni
Remote working istruzioniRemote working istruzioni
Remote working istruzioni
 
Help yourself, grow an healthy ecosystem
Help yourself, grow an healthy ecosystemHelp yourself, grow an healthy ecosystem
Help yourself, grow an healthy ecosystem
 
Outsourcing, partners or suppliers?
Outsourcing, partners or suppliers?Outsourcing, partners or suppliers?
Outsourcing, partners or suppliers?
 
From brainstorming to product development
From brainstorming to product developmentFrom brainstorming to product development
From brainstorming to product development
 
Compromises and not solution
Compromises and not solutionCompromises and not solution
Compromises and not solution
 
PHP Goes Enterprise
PHP Goes EnterprisePHP Goes Enterprise
PHP Goes Enterprise
 
your browser, my storage
your browser, my storageyour browser, my storage
your browser, my storage
 

Jacopo Romei: Abbattere i rischi di insuccesso con Extreme Programming

  • 1. Abbattere il rischio di insuccesso con Extreme Programming Jacopo Romei
  • 2. Di cosa tratteremo? Ovviamente: tecniche XP ● Planning game – Pair programming – Continous integration – Test automatici - poco, altrimenti Gabriele – Lana cosa è venuto a fare?! ;) Progetti reali ● Calvizie ●
  • 3. Salvarsi finché si è in tempo Una metodologia serve ad organizzare il ● lavoro degli esseri umani. Una metodologia deve contribuire alla ● felicità degli essere umani.
  • 4. Momento aforisma Se fai sempre quello che hai sempre fatto, otterrai sempre quello che hai sempre ottenuto. Abramo Lincoln
  • 5. XP in una frase 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
  • 6. XP non è una religione Le pratiche XP sono ● una forma di conoscenza – uno strumento – attenzione all'uso improprio ● modulari – risonanti – limite di questo stesso talk ●
  • 7. Nasce un nuovo progetto Forse un solo sviluppatore
  • 8. Continous integration Il limbo del codice: dall'ideazione ● all'integrazione Programmando soli è il default ●
  • 9. Continous integration & co. Compari perfetti: ● I test automatici – Source versioning (SVN) – Sviluppo adiabatico ● DISCLAIMER: i veri nerd si tappino le orecchie!!! ●
  • 10. Noia vs. creatività 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à
  • 11. Momento aforisma Tutti pensano di cambiare il mondo. Nessuno di cambiare se stesso. Lev Tolstoj
  • 12. Finto XP Sviluppatori che praticano un cattivo XP ● Nessuna metodologia funziona contro ● pigrizia – incompetenza – scorrettezza – Cambiare sviluppatori ●
  • 13. Il progetto cresce Riesco a pagare un collaboratore
  • 14. Tutti nella stessa barca 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
  • 15. Pair programming 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 –
  • 16. Pair programming in remoto Attivo ● Gobby – Passivo ● Strategico: VNC client, Skype – Tattico: VNC server, Skype – Funziona, garantisce Francesco Trucchia ● ;)
  • 17. Il progetto prospera Non si è mai troppi, basta pianificare.
  • 18. Comunicare è complesso Canali da gestire Persone coinvolte
  • 19. Il cliente serve a noi e noi a lui Scadenze, scadenze, scadenze.
  • 20. Manager struzzi, clienti struzzi Il disordine esiste ● Una metodologia ● seria non finge di non – saperlo ne riduce l'effetto – efficacemente
  • 21. Divide et 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 ●
  • 22. Planning 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 –
  • 23. Assegnazione di priorità 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à –
  • 26. Release planning User stories ● Velocity ● nota – tipica – stimata – Deadline ●
  • 27. Momento aforisma Essere incerti è scomodo, ma essere certi è ridicolo. Proverbio cinese
  • 28. Iteration planning User stories ● Scomposizione in task ● Lunghezza dell'iterazione ●
  • 29. Planning nel mondo vero Budget fissati? Scadenze fissate? ● Riduzione dello scope – Introduzione di buffer per l'incertezza –
  • 30. Multi-tasking e manager struzzi Semplicemente inefficace ● E' possibile dimostrarlo! ●
  • 31. Multi-tasking e manager struzzi 2 task (per i tempi morti dell'uno e ● dell'altro intercalati) Corretta assegnazione di priorità ●
  • 32. Momento aforisma 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