Abbattere il rischio di insuccesso
  con Extreme Programming



             Jacopo Romei
Di cosa tratteremo?

    Ovviamente: tecniche XP
●


        Planning game
    –

        Pair programming
    –

        ...
Salvarsi finché si è in tempo




    Una metodologia serve ad organizzare il
●


    lavoro degli esseri umani.
    Una m...
Momento aforisma




 Se fai sempre quello che hai sempre fatto,
   otterrai sempre quello che hai sempre
                ...
XP in una frase

    Insieme di pratiche empiriche per lo
●


    sviluppo del software che ha come
    obiettivo la soddi...
XP non è una religione

    Le pratiche XP sono
●


        una forma di conoscenza
    –

        uno strumento
    –

  ...
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)
  ...
Noia vs. creatività

    Creatività vs. incertezza
●



    Sviluppo adiabatico vs. creatività
●



    Sviluppo adiabatic...
Momento aforisma




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

                         ...
Finto XP

    Sviluppatori che praticano un cattivo XP
●



    Nessuna metodologia funziona contro
●


        pigrizia
 ...
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
    –
      ...
Pair programming

    Critica tipica: perché pagare due persone
●


    per fare una cosa sola?
    Risposta: perché potre...
Pair programming in remoto

    Attivo
●


        Gobby
    –

    Passivo
●


        Strategico: VNC client, Skype
    ...
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
...
Divide et impera

    Caos nel codice: test automatici
●



    Caos nei cervelli: pair programming
●



    Caos nei proc...
Planning game

    User stories (feature driven)
●



    Assegnazione di un peso
●



    Vantaggi
●


        stima chi ...
Assegnazione di priorità

    Valore economico
●


        denaro fatto o denaro risparmiato
    –

    Costo
●


        ...
Assegnazione di priorità
Assegnazione di priorità
Release planning

    User stories
●



    Velocity
●


        nota
    –

        tipica
    –

        stimata
    –

...
Momento aforisma




      Essere incerti è scomodo,
      ma essere certi è ridicolo.

                             Prove...
Iteration planning

    User stories
●



    Scomposizione in task
●



    Lunghezza dell'iterazione
●
Planning nel mondo vero

    Budget fissati? Scadenze fissate?
●


        Riduzione dello scope
    –

        Introduzio...
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 ass...
Momento aforisma



      Le   buone   soluzioni   sono 
    inutili   tentativi   di   interferire 
   con   le   leggi  ...
Upcoming SlideShare
Loading in …5
×

Jacopo Romei: Abbattere i rischi di insuccesso con Extreme Programming

2,666 views

Published on

Published in: Technology
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
2,666
On SlideShare
0
From Embeds
0
Number of Embeds
49
Actions
Shares
0
Downloads
51
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Jacopo Romei: Abbattere i rischi di insuccesso con Extreme Programming

  1. 1. Abbattere il rischio di insuccesso con Extreme Programming Jacopo Romei
  2. 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. 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. 4. Momento aforisma Se fai sempre quello che hai sempre fatto, otterrai sempre quello che hai sempre ottenuto. Abramo Lincoln
  5. 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. 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. 7. Nasce un nuovo progetto Forse un solo sviluppatore
  8. 8. Continous integration Il limbo del codice: dall'ideazione ● all'integrazione Programmando soli è il default ●
  9. 9. Continous integration & co. Compari perfetti: ● I test automatici – Source versioning (SVN) – Sviluppo adiabatico ● DISCLAIMER: i veri nerd si tappino le orecchie!!! ●
  10. 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. 11. Momento aforisma Tutti pensano di cambiare il mondo. Nessuno di cambiare se stesso. Lev Tolstoj
  12. 12. Finto XP Sviluppatori che praticano un cattivo XP ● Nessuna metodologia funziona contro ● pigrizia – incompetenza – scorrettezza – Cambiare sviluppatori ●
  13. 13. Il progetto cresce Riesco a pagare un collaboratore
  14. 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. 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. 16. Pair programming in remoto Attivo ● Gobby – Passivo ● Strategico: VNC client, Skype – Tattico: VNC server, Skype – Funziona, garantisce Francesco Trucchia ● ;)
  17. 17. Il progetto prospera Non si è mai troppi, basta pianificare.
  18. 18. Comunicare è complesso Canali da gestire Persone coinvolte
  19. 19. Il cliente serve a noi e noi a lui Scadenze, scadenze, scadenze.
  20. 20. Manager struzzi, clienti struzzi Il disordine esiste ● Una metodologia ● seria non finge di non – saperlo ne riduce l'effetto – efficacemente
  21. 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. 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. 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à –
  24. 24. Assegnazione di priorità
  25. 25. Assegnazione di priorità
  26. 26. Release planning User stories ● Velocity ● nota – tipica – stimata – Deadline ●
  27. 27. Momento aforisma Essere incerti è scomodo, ma essere certi è ridicolo. Proverbio cinese
  28. 28. Iteration planning User stories ● Scomposizione in task ● Lunghezza dell'iterazione ●
  29. 29. Planning nel mondo vero Budget fissati? Scadenze fissate? ● Riduzione dello scope – Introduzione di buffer per l'incertezza –
  30. 30. Multi-tasking e manager struzzi Semplicemente inefficace ● E' possibile dimostrarlo! ●
  31. 31. Multi-tasking e manager struzzi 2 task (per i tempi morti dell'uno e ● dell'altro intercalati) Corretta assegnazione di priorità ●
  32. 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

×