Breaking the ice with agilecinque strade per rompere il ghiaccio   e introdurre i metodi agili in una               aziend...
★ Uso e diffondo i metodi                              agili (dal 2002)                              ★ Mi piace programmare...
Non è facile...Introdurre i metodi agili in una azienda       è dannatamente difficile
Situazioni che abbiamo        incontratoMultitasking
Situazioni che abbiamo        incontratoMultitasking           Stress
Situazioni che abbiamo      incontratoSettorializzazione delle  conoscenze e delle     competenze
Situazioni che abbiamo      incontrato       Overtime
Situazioni che abbiamo      incontrato             Overtime     e s sS t r
Situazioni che abbiamo        incontrato   Processo di sviluppo"opaco" e poco predicibile
Situazioni che abbiamo          incontrato   Processo di sviluppo"opaco" e poco predicibile tr e ssS
Situazioni che abbiamo          incontrato   Processo di sviluppo ti"opaco" e pocoger Str es sa                predicibile...
Situazioni che abbiamo      incontrato              Frequenti            interruzioni al                lavoro
Situazioni che abbiamo   Stress      incontrato              Frequenti            interruzioni al                lavoro
Situazioni che abbiamo      incontrato         Fretta
Situazioni che abbiamo      incontrato         Fretta          r e ss       S t
Situazioni che abbiamo      incontratoScarsa attenzione alle  buone pratiche di  programmazione
Situazioni che abbiamo      incontrato       Deploy “a mano”
Situazioni che abbiamo      incontratoStress         Deploy “a mano”
Situazioni che abbiamo          incontratoHotfix direttamente inproduzione
Situazioni che abbiamo          incontratoHotfix direttamente inproduzione            Str               ess
Situazioni che abbiamo      incontratoMancanza di sistemi di   versionamento
Situazioni che abbiamo      incontratoMancanza di sistemi di   versionamento                 x no nè git         D rop bo
Situazioni che abbiamo      incontrato      http://www.slideshare.net/jchyip/lean-software-development-on-radiators-and-re...
StrategieQuali strategie si adottanoper introdurre i metodi agili      in una azienda?
Quali strategie si adottano perintrodurre metodi agili in un team?Prima i valori e i principi
Quali strategie si adottano per introdurre metodi agili in un team?Solo pratiche organizzative
Le pratiche rompighiaccioPer prenderecoscienza delleproblematicheche possonocompromettereil successo
Le pratiche rompighiaccioLa presa di coscienza di questeproblematiche e dinamiche è il primopasso per comprendere e abbrac...
Le pratiche rompighiaccio...con un costo diintroduzionerelativamente basso
Le pratiche rompighiaccio★ lavagna★ standup meeting★ retrospettiva★ build automatica★ test di accettazione automatici
Perché cinque?Per poter equilibrare lintroduzione dipratiche tecniche con la comprensionedei valori e dei principi
Rompighiaccio #1:          Lavagna• perché è rompighiaccio?• quali valori esercita?• quali altre pratiche attiva?• a cosa ...
Rompighiaccio #1:         LavagnaSe vuoi capire come lavora il team,guarda la sua lavagna
Rompighiaccio #1:         LavagnaSe vuoi capire come lavora il team,guarda la sua lavagnaSe vuoi capire come sta andando i...
Rompighiaccio #1:         LavagnaSe vuoi capire come lavora il team,guarda la sua lavagnaSe vuoi capire come sta andando i...
Rompighiaccio #1:   Lavagna
Rompighiaccio #1:   Lavagna          Lavagna          dell’iterazione
Rompighiaccio #1:        LavagnaLavagna backlog
Rompighiaccio #1:   Lavagna
Rompighiaccio #1:Lavagna (elettronica)
#1 Lavagna: perché è        rompighiaccio?Consente di visualizzare in modo nonambiguo il processo produttivo delteam...
#1 Lavagna: perché è        rompighiaccio?...e ne evidenzia tutti i problemi
#1 Lavagna: perché è           rompighiaccio?...e ne evidenzia tutti i problemitroppe storie in progress
#1 Lavagna: perché è           rompighiaccio?...e ne evidenzia tutti i problemitroppe storie in progress                  ...
#1 Lavagna: perché è            rompighiaccio? ...e ne evidenzia tutti i problemitroppe storie in progress                ...
#1 Lavagna: perché è            rompighiaccio? ...e ne evidenzia tutti i problemitroppe storie in progress                ...
#1 Lavagna: perché è        rompighiaccio?E’ un ottimo punto di partenza per farriflettere il team
#1 Lavagna: perché è         rompighiaccio?E’ visibile a tutti
#1 Lavagna: perché è        rompighiaccio?Consente di sincronizzare tutti su unworkflow condiviso
#1 Lavagna: quali valori          esercita?• Comunicazione • Openness• Feedback      • Commitment                • Focus
#1 Lavagna: quali altre           pratiche attiva?• user stories           • whole team• informative            • incremen...
#1 Lavagna: precauzioni        d’uso e resistenze• tenerla costantemente aggiornata• introdurre al più presto i principi d...
Rompighiaccio #2:        Standup Meeting• perché è rompighiaccio?• quali valori esercita?• quali altre pratiche attiva?• a...
#2 Standup Meeting: cos’è?
#2 Standup Meeting: cos’è?
#2 Standup Meeting:     perché è rompighiaccio?• Maggiore comunicazione tra gli    elementi del team•   Commitment recipro...
#2 Standup Meeting:     perché è rompighiaccio?• Maggiore reattività agli ostacoli che    emergono•   C’è subito evidenza ...
#2 Standup Meeting: quali      valori esercita?• Comunicazione • Openness• Feedback      • Commitment• Rispetto      • Foc...
#2 Standup Meeting: quali    altre pratiche attiva?• pair programming• whole team• collective-code ownership
#2 Standup Meeting:    precauzioni d’uso e resistenze• si riporta sempre al team-leader• i manager o stakeholders “dirotta...
#2 Standup Meeting:    precauzioni d’uso e resistenze• va sempre per le lunghe, si scende in    dettagli tecnici fuori luo...
Rompighiaccio #3:         Retrospettiva• perché è rompighiaccio?• quali valori esercita?• quali altre pratiche attiva?• a ...
#3 Retrospettiva: cos’è?
#3 Retrospettiva: cos’è?
#3 Retrospettiva: cos’è?
#3 Retrospettiva: cos’è?
#3 Retrospettiva: cos’è?
#3 Retrospettiva: cos’è?
#3 Retrospettiva: cos’è?
#3 Retrospettiva: perché è       rompighiaccio?• è il primo tassello del process  improvement• il team ha la possibilità d...
#3 Retrospettiva: quali      valori esercita?• Comunicazione • Openness• Rispetto      • Commitment                • Corag...
#3 Retrospettiva: quali    altre pratiche attiva?• whole team• continuous improvement
#3 Retrospettiva: precauzioni       d’uso e resistenze• va preparata per tempo• facilitatore esterno• periodica• time-boxe...
#3 Retrospettiva: precauzioni         d’uso e resistenze• alcuni manager potrebbero lamentarsi    delleccessivo costo di q...
#3 Retrospettiva: precauzioni           d’uso e resistenze• effetto "vogliamoci bene"• pubblicare in uno spazio    visibile...
Rompighiaccio #4:        Build automatica• perché è rompighiaccio?• quali valori esercita?• quali altre pratiche attiva?• ...
#4 Build automatica“Nothing forces us to understand aprocess better than trying to automateit.”       Growing Object-Orien...
#4 Build automatica:  perché è rompighiaccio?Si collabora anche con parti "nuove"del team
#4 Build automatica:  perché è rompighiaccio?Si affrontano prima problematicheche emergerebbero solo con lamessa in produzi...
#4 Build automatica:   perché è rompighiaccio?Consente al team di progettare findallinizio il sistema e i suoi rilasci inmo...
#4 Build automatica:  perché è rompighiaccio?Il team impara cosa significa "finito"e ha la possibilità di verificarerealmente...
#4 Build automatica:  perché è rompighiaccio?Consente di rilasciare con maggiorefrequenza le features sviluppate
#4 Build automatica:  perché è rompighiaccio?Migliora la fiducia nel team da partedel cliente, che vede che il team è ingra...
#4 Build automatica:   quali valori esercita?• Feedback• Coraggio
#4 Build automatica: quali   altre pratiche attiva?• test automation• test-driven development• refactoring• rilasci increm...
#4 Build automatica:       come si applica?E’ necessario analizzare con cura lasituazione iniziale
#4 Build automatica:           come si applica? E’ necessario analizzare con cura la situazione inizialeil codice è sotto ...
#4 Build automatica:           come si applica? E’ necessario analizzare con cura la situazione inizialeil codice è sotto ...
#4 Build automatica:           come si applica? E’ necessario analizzare con cura la situazione inizialeil codice è sotto ...
#4 Build automatica:             come si applica?   E’ necessario analizzare con cura la   situazione iniziale il codice è...
#4 Build automatica:             come si applica?   E’ necessario analizzare con cura la   situazione iniziale il codice è...
#4 Build automatica:             come si applica?   E’ necessario analizzare con cura la   situazione iniziale il codice è...
#4 Build automatica:             come si applica?   E’ necessario analizzare con cura la   situazione iniziale il codice è...
#4 Build automatica:             come si applica?   E’ necessario analizzare con cura la   situazione iniziale il codice è...
#4 Build automatica:         come si applica?A piccoli passi si deve pianificare unaserie di interventi di automazione ad e...
#4 Build automatica: a        cosa stare attenti?• stabilire una collaborazione positiva    con la parte operational / sis...
Rompighiaccio #5: Test di accettazione automatici• perché è una pratica rompighiaccio?• quali valori esercita?• quali altr...
#5 Test di accettazione automatici:    perché è una pratica rompighiaccio?• I test di accettazione mettono in    comunicaz...
#5 Test di accettazione automatici: perché è una pratica rompighiaccio?• Trasmettono fiducia al cliente• Sono propedeutici ...
#5 Test di accettazione automatici: come si può applicare?Quando si pianifica una nuovafeature, parte dellanalisi consiste ...
#5 Test di accettazioneautomatici: come si può applicare?Si può iniziare anche solo araccogliere dei test di accettazionem...
#5 Test di accettazioneautomatici: come si può applicare?Si può iniziare anche solo araccogliere dei test di accettazionem...
#5 Test di accettazione automatici: come si può applicare?Si può iniziare anche solo araccogliere dei test di accettazione...
#5 Test di accettazione automatici:        quali valori esercita?• Feedback• Comunicazione
#5 Test di accettazione automatici:     quali altre pratiche attiva?• Testing automatico• Test-Driven Development• Continu...
#5 Test di accettazione automatici:           a cosa stare attenti?• Va bene partire da test manuali, ma    non fermarsi a...
#5 Test di accettazione automatici:              resistenze• Alcuni test automatici saranno difficili da scrivere • non scor...
Effetto cascata :^)       A cascata queste pratiche       se ne portano dietro altre       più difficili da adottare fin      ...
Effetto cascata...ma più facili da introdurre quando le personeprendono coscienza dei problemi che gliimpediscono di lavora...
Come andare avantiProcedere a piccoli passi
Come andare avantiMake things visible
Come andare avantiLearn
Come andare avantiTenere una retrospettiva periodica sulprocesso
Lintegrazione con il resto           dellazienda...ovvero, quando un collo di bottiglia in meno ti può strozzare lo stesso...
Cosa può andare male?
La resistenza al cambiamento
Come andare avanti?Per avere i risultati migliori, si devono valutare esperimentare tutte le pratiche di XP.Ogni pratica X...
Contacts• www.xpeppers.com• info@xpeppers.com• @xpeppers
Upcoming SlideShare
Loading in …5
×

Breaking the ice with agile - cinque strade per rompere il ghiaccio e introdurre i metodi agili in una azienda

1,636 views

Published on

La nostra esperienza ha mostrato che esistono alcune pratiche “rompighiaccio” che, con un costo di introduzione relativamente basso, permettono di far prendere coscienza alle persone di alcune problematiche e dinamiche tipiche dei progetti software e che ne minano il successo.
La presa di coscienza di queste problematiche e dinamiche è il primo passo per comprendere e abbracciare valori e principi dei metodi agili.
Le pratiche di cui vorremmo parlare e che definiamo “ice breakers” per quel che riguarda le metodologie agili sono: lavagna, standup meeting, retrospective, build automatica, test automatici di accettazione.
A cascata poi queste pratiche se ne portano dietro altre più difficili da adottare fin da subito, ma più facili da far adottare quando le persone prendono coscienza dei problemi che gli impediscono di lavorare in modo efficace (pair, tecnica del pomodoro, user stories, TDD, CI, simple design, daily journal, etc) e abbracciano i principi dell’agile.
Per ogni pratica “ice breakers”, a partire dalla nostra esperienza, illustreremo il motivo per cui secondo noi sono tali, le dinamiche secondo noi migliori per proporne l’introduzione, anti-pattern e resistenze al cambiamento che abbiamo incontrato e come le abbiamo affrontate.

Published in: Education

Breaking the ice with agile - cinque strade per rompere il ghiaccio e introdurre i metodi agili in una azienda

  1. 1. Breaking the ice with agilecinque strade per rompere il ghiaccio e introdurre i metodi agili in una azienda Pietro Di Bello pietro.dibello@xpeppers.com www.xpeppers.com Agile Day 2012 Milano, 24 Novembre
  2. 2. ★ Uso e diffondo i metodi agili (dal 2002) ★ Mi piace programmare in Ruby e Java (ho iniziato con Java nel 2000 e da tre anni sono passato a Ruby) ★ Sono sempre alla ricerca diPietro Di Bello modi migliori di fare le cosepietro.dibello@xpeppers.com@pierodibellogithub.com/xpepper
  3. 3. Non è facile...Introdurre i metodi agili in una azienda è dannatamente difficile
  4. 4. Situazioni che abbiamo incontratoMultitasking
  5. 5. Situazioni che abbiamo incontratoMultitasking Stress
  6. 6. Situazioni che abbiamo incontratoSettorializzazione delle conoscenze e delle competenze
  7. 7. Situazioni che abbiamo incontrato Overtime
  8. 8. Situazioni che abbiamo incontrato Overtime e s sS t r
  9. 9. Situazioni che abbiamo incontrato Processo di sviluppo"opaco" e poco predicibile
  10. 10. Situazioni che abbiamo incontrato Processo di sviluppo"opaco" e poco predicibile tr e ssS
  11. 11. Situazioni che abbiamo incontrato Processo di sviluppo ti"opaco" e pocoger Str es sa predicibile Ma na tr e ssS
  12. 12. Situazioni che abbiamo incontrato Frequenti interruzioni al lavoro
  13. 13. Situazioni che abbiamo Stress incontrato Frequenti interruzioni al lavoro
  14. 14. Situazioni che abbiamo incontrato Fretta
  15. 15. Situazioni che abbiamo incontrato Fretta r e ss S t
  16. 16. Situazioni che abbiamo incontratoScarsa attenzione alle buone pratiche di programmazione
  17. 17. Situazioni che abbiamo incontrato Deploy “a mano”
  18. 18. Situazioni che abbiamo incontratoStress Deploy “a mano”
  19. 19. Situazioni che abbiamo incontratoHotfix direttamente inproduzione
  20. 20. Situazioni che abbiamo incontratoHotfix direttamente inproduzione Str ess
  21. 21. Situazioni che abbiamo incontratoMancanza di sistemi di versionamento
  22. 22. Situazioni che abbiamo incontratoMancanza di sistemi di versionamento x no nè git D rop bo
  23. 23. Situazioni che abbiamo incontrato http://www.slideshare.net/jchyip/lean-software-development-on-radiators-and-refrigerators-presentationNascondere i problemi
  24. 24. StrategieQuali strategie si adottanoper introdurre i metodi agili in una azienda?
  25. 25. Quali strategie si adottano perintrodurre metodi agili in un team?Prima i valori e i principi
  26. 26. Quali strategie si adottano per introdurre metodi agili in un team?Solo pratiche organizzative
  27. 27. Le pratiche rompighiaccioPer prenderecoscienza delleproblematicheche possonocompromettereil successo
  28. 28. Le pratiche rompighiaccioLa presa di coscienza di questeproblematiche e dinamiche è il primopasso per comprendere e abbracciarevalori e principi dei metodi agili.• coraggio XP • coraggio Scrum• feedback • commitment• semplicità • openness• comunicazione • focus• rispetto • rispetto
  29. 29. Le pratiche rompighiaccio...con un costo diintroduzionerelativamente basso
  30. 30. Le pratiche rompighiaccio★ lavagna★ standup meeting★ retrospettiva★ build automatica★ test di accettazione automatici
  31. 31. Perché cinque?Per poter equilibrare lintroduzione dipratiche tecniche con la comprensionedei valori e dei principi
  32. 32. Rompighiaccio #1: Lavagna• perché è rompighiaccio?• quali valori esercita?• quali altre pratiche attiva?• a cosa stare attenti• resistenze
  33. 33. Rompighiaccio #1: LavagnaSe vuoi capire come lavora il team,guarda la sua lavagna
  34. 34. Rompighiaccio #1: LavagnaSe vuoi capire come lavora il team,guarda la sua lavagnaSe vuoi capire come sta andando ilprogetto, guarda la lavagna
  35. 35. Rompighiaccio #1: LavagnaSe vuoi capire come lavora il team,guarda la sua lavagnaSe vuoi capire come sta andando ilprogetto, guarda la lavagnaSe vuoi capire quali problemi ha ilprocesso di sviluppo, guarda la lavagna
  36. 36. Rompighiaccio #1: Lavagna
  37. 37. Rompighiaccio #1: Lavagna Lavagna dell’iterazione
  38. 38. Rompighiaccio #1: LavagnaLavagna backlog
  39. 39. Rompighiaccio #1: Lavagna
  40. 40. Rompighiaccio #1:Lavagna (elettronica)
  41. 41. #1 Lavagna: perché è rompighiaccio?Consente di visualizzare in modo nonambiguo il processo produttivo delteam...
  42. 42. #1 Lavagna: perché è rompighiaccio?...e ne evidenzia tutti i problemi
  43. 43. #1 Lavagna: perché è rompighiaccio?...e ne evidenzia tutti i problemitroppe storie in progress
  44. 44. #1 Lavagna: perché è rompighiaccio?...e ne evidenzia tutti i problemitroppe storie in progress storie che tornano indietro a causa di un bug
  45. 45. #1 Lavagna: perché è rompighiaccio? ...e ne evidenzia tutti i problemitroppe storie in progress storie che tornano indietro a causa di un bugstorie bloccate in QA
  46. 46. #1 Lavagna: perché è rompighiaccio? ...e ne evidenzia tutti i problemitroppe storie in progress storie che tornano indietro a causa di un bugstorie bloccate in QA storie bloccate in progress
  47. 47. #1 Lavagna: perché è rompighiaccio?E’ un ottimo punto di partenza per farriflettere il team
  48. 48. #1 Lavagna: perché è rompighiaccio?E’ visibile a tutti
  49. 49. #1 Lavagna: perché è rompighiaccio?Consente di sincronizzare tutti su unworkflow condiviso
  50. 50. #1 Lavagna: quali valori esercita?• Comunicazione • Openness• Feedback • Commitment • Focus
  51. 51. #1 Lavagna: quali altre pratiche attiva?• user stories • whole team• informative • incremental design workspace • simple design• iteration planning• standup meeting
  52. 52. #1 Lavagna: precauzioni d’uso e resistenze• tenerla costantemente aggiornata• introdurre al più presto i principi della pianificazione agile• guardarla• e se il team è distribuito o il cliente è spesso via?• dove l’appendiamo?
  53. 53. Rompighiaccio #2: Standup Meeting• perché è rompighiaccio?• quali valori esercita?• quali altre pratiche attiva?• a cosa stare attenti• resistenze
  54. 54. #2 Standup Meeting: cos’è?
  55. 55. #2 Standup Meeting: cos’è?
  56. 56. #2 Standup Meeting: perché è rompighiaccio?• Maggiore comunicazione tra gli elementi del team• Commitment reciproco (“Oggi farò questo…”)• Rafforzamento del senso di team • “ti aiuto io su questo problema di cui parli…” • imparare a chiedere e offrire aiuto
  57. 57. #2 Standup Meeting: perché è rompighiaccio?• Maggiore reattività agli ostacoli che emergono• C’è subito evidenza se la pianificazione è corretta • ci sono persone che non sanno cosa faranno? • ci sono persone che hanno troppe cose in lavorazione?
  58. 58. #2 Standup Meeting: quali valori esercita?• Comunicazione • Openness• Feedback • Commitment• Rispetto • Focus• Coraggio
  59. 59. #2 Standup Meeting: quali altre pratiche attiva?• pair programming• whole team• collective-code ownership
  60. 60. #2 Standup Meeting: precauzioni d’uso e resistenze• si riporta sempre al team-leader• i manager o stakeholders “dirottano” lo standup meeting• si inizia sempre in ritardo o in un orario diverso
  61. 61. #2 Standup Meeting: precauzioni d’uso e resistenze• va sempre per le lunghe, si scende in dettagli tecnici fuori luogo• le persone sono evasive• le persone non ricordano quello che hanno fatto ieri
  62. 62. Rompighiaccio #3: Retrospettiva• perché è rompighiaccio?• quali valori esercita?• quali altre pratiche attiva?• a cosa stare attenti• resistenze
  63. 63. #3 Retrospettiva: cos’è?
  64. 64. #3 Retrospettiva: cos’è?
  65. 65. #3 Retrospettiva: cos’è?
  66. 66. #3 Retrospettiva: cos’è?
  67. 67. #3 Retrospettiva: cos’è?
  68. 68. #3 Retrospettiva: cos’è?
  69. 69. #3 Retrospettiva: cos’è?
  70. 70. #3 Retrospettiva: perché è rompighiaccio?• è il primo tassello del process improvement• il team ha la possibilità di riflettere sui propri errori e porre azioni correttive• il team ha al suo interno tutte le potenzialità per lavorare meglio
  71. 71. #3 Retrospettiva: quali valori esercita?• Comunicazione • Openness• Rispetto • Commitment • Coraggio
  72. 72. #3 Retrospettiva: quali altre pratiche attiva?• whole team• continuous improvement
  73. 73. #3 Retrospettiva: precauzioni d’uso e resistenze• va preparata per tempo• facilitatore esterno• periodica• time-boxed• spiegare bene il suo scopo
  74. 74. #3 Retrospettiva: precauzioni d’uso e resistenze• alcuni manager potrebbero lamentarsi delleccessivo costo di queste attività• alcuni membri del team potrebbero non partecipare volentieri• decidere prima se coinvolgere o meno esterni al team o manager
  75. 75. #3 Retrospettiva: precauzioni d’uso e resistenze• effetto "vogliamoci bene"• pubblicare in uno spazio visibile a tutti la lista delle azioni correttive scelte• moderare la discussione in modo che non sfoci nel "finger pointing"
  76. 76. Rompighiaccio #4: Build automatica• perché è rompighiaccio?• quali valori esercita?• quali altre pratiche attiva?• a cosa stare attenti• resistenze
  77. 77. #4 Build automatica“Nothing forces us to understand aprocess better than trying to automateit.” Growing Object-Oriented Software, Guided by Tests (S.Freeman, N.Pryce)
  78. 78. #4 Build automatica: perché è rompighiaccio?Si collabora anche con parti "nuove"del team
  79. 79. #4 Build automatica: perché è rompighiaccio?Si affrontano prima problematicheche emergerebbero solo con lamessa in produzione
  80. 80. #4 Build automatica: perché è rompighiaccio?Consente al team di progettare findallinizio il sistema e i suoi rilasci inmodo incrementale
  81. 81. #4 Build automatica: perché è rompighiaccio?Il team impara cosa significa "finito"e ha la possibilità di verificarerealmente il progresso fatto
  82. 82. #4 Build automatica: perché è rompighiaccio?Consente di rilasciare con maggiorefrequenza le features sviluppate
  83. 83. #4 Build automatica: perché è rompighiaccio?Migliora la fiducia nel team da partedel cliente, che vede che il team è ingrado di rilasciare frequentementesenza panico
  84. 84. #4 Build automatica: quali valori esercita?• Feedback• Coraggio
  85. 85. #4 Build automatica: quali altre pratiche attiva?• test automation• test-driven development• refactoring• rilasci incrementali• continuous deployment• devops e configuration management
  86. 86. #4 Build automatica: come si applica?E’ necessario analizzare con cura lasituazione iniziale
  87. 87. #4 Build automatica: come si applica? E’ necessario analizzare con cura la situazione inizialeil codice è sotto controlloversione?
  88. 88. #4 Build automatica: come si applica? E’ necessario analizzare con cura la situazione inizialeil codice è sotto controllo esistono ambienti di test/versione? collaudo?
  89. 89. #4 Build automatica: come si applica? E’ necessario analizzare con cura la situazione inizialeil codice è sotto controllo esistono ambienti di test/versione? collaudo?quanto è facile creare unnuovo ambiente di test?
  90. 90. #4 Build automatica: come si applica? E’ necessario analizzare con cura la situazione iniziale il codice è sotto controllo esistono ambienti di test/ versione? collaudo? quanto è facile creare un nuovo ambiente di test?come vengono effettuati irilasci?
  91. 91. #4 Build automatica: come si applica? E’ necessario analizzare con cura la situazione iniziale il codice è sotto controllo esistono ambienti di test/ versione? collaudo? quanto è facile creare un quante dipendenze da nuovo ambiente di test? sistemi terzi ci sono?come vengono effettuati irilasci?
  92. 92. #4 Build automatica: come si applica? E’ necessario analizzare con cura la situazione iniziale il codice è sotto controllo esistono ambienti di test/ versione? collaudo? quanto è facile creare un quante dipendenze da nuovo ambiente di test? sistemi terzi ci sono?come vengono effettuati i esistono sistemi dirilasci? monitoring della produzione?
  93. 93. #4 Build automatica: come si applica? E’ necessario analizzare con cura la situazione iniziale il codice è sotto controllo esistono ambienti di test/ versione? collaudo? quanto è facile creare un quante dipendenze da conambiente di test? nuovo chi bisogna interagire sistemi terzi ci sono? per avere accesso aglicome vengono effettuati i ambienti di test? esistono sistemi dirilasci? monitoring della produzione?
  94. 94. #4 Build automatica: come si applica? E’ necessario analizzare con cura la situazione iniziale il codice è sotto controllo esistono ambienti di test/ versione? collaudo? come gestisco le dipendenze quanto è facile creare un da sistemi esterni negli quante dipendenze da conambiente di test? nuovo chi bisogna interagire ambienti di test? sistemi terzi ci sono? per avere accesso aglicome vengono effettuati i ambienti di test? esistono sistemi dirilasci? monitoring della produzione?
  95. 95. #4 Build automatica: come si applica?A piccoli passi si deve pianificare unaserie di interventi di automazione ad es partire da uno script che automatizza tutti i processi manuali effettuati per mettere in produzione una nuova versione
  96. 96. #4 Build automatica: a cosa stare attenti?• stabilire una collaborazione positiva con la parte operational / sistemistica dellazienda• procedere a piccoli passi
  97. 97. Rompighiaccio #5: Test di accettazione automatici• perché è una pratica rompighiaccio?• quali valori esercita?• quali altre pratiche attiva?• a cosa stare attenti• resistenze
  98. 98. #5 Test di accettazione automatici: perché è una pratica rompighiaccio?• I test di accettazione mettono in comunicazione stretta analisti, cliente e sviluppatori• Consentono lo switch di mentalità da "code & fix" a "rilascio di feature finita"• Consentono a tutti di chiarire qualè lo scope della feature
  99. 99. #5 Test di accettazione automatici: perché è una pratica rompighiaccio?• Trasmettono fiducia al cliente• Sono propedeutici per lintero tema del testing e del design test-driven
  100. 100. #5 Test di accettazione automatici: come si può applicare?Quando si pianifica una nuovafeature, parte dellanalisi consiste neldescrivere quali sono i criteri diaccettazione della feature
  101. 101. #5 Test di accettazioneautomatici: come si può applicare?Si può iniziare anche solo araccogliere dei test di accettazionemanuali durante il planning dellafeature
  102. 102. #5 Test di accettazioneautomatici: come si può applicare?Si può iniziare anche solo araccogliere dei test di accettazionemanuali durante il planning dellafeaturepoi si passa a proporre la loroautomazione
  103. 103. #5 Test di accettazione automatici: come si può applicare?Si può iniziare anche solo araccogliere dei test di accettazionemanuali durante il planning dellafeaturepoi si passa a proporre la loroautomazionee si mettono i test nella buildautomatica
  104. 104. #5 Test di accettazione automatici: quali valori esercita?• Feedback• Comunicazione
  105. 105. #5 Test di accettazione automatici: quali altre pratiche attiva?• Testing automatico• Test-Driven Development• Continuous integration• Refactoring
  106. 106. #5 Test di accettazione automatici: a cosa stare attenti?• Va bene partire da test manuali, ma non fermarsi a quelli• Fare in modo che i test automatici rimangano verdi• Non devono mentire• Devono essere veramente automatici
  107. 107. #5 Test di accettazione automatici: resistenze• Alcuni test automatici saranno difficili da scrivere • non scoraggiatevi
  108. 108. Effetto cascata :^) A cascata queste pratiche se ne portano dietro altre più difficili da adottare fin da subito...
  109. 109. Effetto cascata...ma più facili da introdurre quando le personeprendono coscienza dei problemi che gliimpediscono di lavorare in modo efficace efanno propri i principi dei metodi agili★ Pair Programming ★ Daily Journal★ Test-Driven Development ★ Collective Code Ownership★ Refactoring ★ ...★ Design Incrementale★ Continuous Integration a piccoli passi, applicando un★ Tecnica del Pomodoro approccio iterativo e incrementale :^)
  110. 110. Come andare avantiProcedere a piccoli passi
  111. 111. Come andare avantiMake things visible
  112. 112. Come andare avantiLearn
  113. 113. Come andare avantiTenere una retrospettiva periodica sulprocesso
  114. 114. Lintegrazione con il resto dellazienda...ovvero, quando un collo di bottiglia in meno ti può strozzare lo stesso :)
  115. 115. Cosa può andare male?
  116. 116. La resistenza al cambiamento
  117. 117. Come andare avanti?Per avere i risultati migliori, si devono valutare esperimentare tutte le pratiche di XP.Ogni pratica XP è sostenuta e rafforzata dalle altre.Adottare solo un subset di pratiche potrebbe causare"asimmetrie" nel processo(alcune pratiche senza pratiche di sostegnofunzionano meno bene, o rischiano di fallire).
  118. 118. Contacts• www.xpeppers.com• info@xpeppers.com• @xpeppers

×