breaking the ice with agile - cinque strade per rompere il ghiaccio e introdurre i metodi agili in...

118
Breaking the ice with agile Agile Day 2012 Milano, 24 Novembre Pietro Di Bello [email protected] www.xpeppers.com cinque strade per rompere il ghiaccio e introdurre i metodi agili in una azienda

Upload: pietro-di-bello

Post on 07-Dec-2014

1.432 views

Category:

Education


2 download

DESCRIPTION

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.

TRANSCRIPT

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

Breaking the ice with agile

Agile Day 2012Milano, 24 Novembre

Pietro Di [email protected]

www.xpeppers.com

cinque strade per rompere il ghiaccio e introdurre i metodi agili in una

azienda

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

Pietro Di Bello

★ 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 di modi migliori di fare le cose

[email protected]@pierodibellogithub.com/xpepper

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

Non è facile...

Introdurre i metodi agili in una azienda è dannatamente difficile

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

Situazioni che abbiamo incontrato

Multitasking

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

Situazioni che abbiamo incontrato

Multitasking

Stress

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

Situazioni che abbiamo incontrato

Settorializzazione delle conoscenze e delle

competenze

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

Situazioni che abbiamo incontrato

Overtime

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

Situazioni che abbiamo incontrato

Overtime

Stress

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

Situazioni che abbiamo incontrato

Processo di sviluppo "opaco" e poco predicibile

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

Situazioni che abbiamo incontrato

Processo di sviluppo "opaco" e poco predicibile

Stress

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

Situazioni che abbiamo incontrato

Processo di sviluppo "opaco" e poco predicibile

StressManager Stressati

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

Situazioni che abbiamo incontrato

Frequenti interruzioni al

lavoro

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

Situazioni che abbiamo incontrato

Frequenti interruzioni al

lavoro

Stress

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

Situazioni che abbiamo incontrato

Fretta

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

Situazioni che abbiamo incontrato

Fretta

Stress

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

Situazioni che abbiamo incontrato

Scarsa attenzione alle buone pratiche di programmazione

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

Situazioni che abbiamo incontrato

Deploy “a mano”

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

Situazioni che abbiamo incontrato

Deploy “a mano”

Stress

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

Situazioni che abbiamo incontrato

Hotfix direttamente in produzione

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

Situazioni che abbiamo incontrato

Hotfix direttamente in produzione

Stress

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

Situazioni che abbiamo incontrato

Mancanza di sistemi di versionamento

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

Situazioni che abbiamo incontrato

Mancanza di sistemi di versionamento

Dropbox non è git

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

Situazioni che abbiamo incontrato

Nascondere i problemihttp://www.slideshare.net/jchyip/lean-software-development-on-radiators-and-refrigerators-presentation

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

Strategie

Quali strategie si adottano per introdurre i metodi agili

in una azienda?

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

Quali strategie si adottano per introdurre metodi agili in un team?

Prima i valori e i principi

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

Quali strategie si adottano per introdurre metodi agili in un team?

Solo pratiche organizzative

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

Le pratiche rompighiaccio

Per prendere coscienza delle problematiche che possono compromettere il successo

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

Le pratiche rompighiaccio

La presa di coscienza di queste problematiche e dinamiche è il primo passo per comprendere e abbracciare valori e principi dei metodi agili.

• coraggio• feedback• semplicità• comunicazione• rispetto

• coraggio• commitment• openness• focus• rispetto

XP Scrum

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

Le pratiche rompighiaccio

...con un costo di introduzione relativamente basso

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

Le pratiche rompighiaccio

★ lavagna

★ standup meeting

★ retrospettiva

★ build automatica

★ test di accettazione automatici

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

Perché cinque?

Per poter equilibrare l'introduzione di

pratiche tecniche con la comprensione

dei valori e dei principi

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

Rompighiaccio #1: Lavagna

• perché è rompighiaccio?• quali valori esercita?• quali altre pratiche attiva?• a cosa stare attenti• resistenze

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

Se vuoi capire come lavora il team,

guarda la sua lavagna

Rompighiaccio #1: Lavagna

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

Se vuoi capire come lavora il team,

guarda la sua lavagna

Se vuoi capire come sta andando il

progetto, guarda la lavagna

Rompighiaccio #1: Lavagna

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

Se vuoi capire come lavora il team,

guarda la sua lavagna

Se vuoi capire come sta andando il

progetto, guarda la lavagna

Se vuoi capire quali problemi ha il

processo di sviluppo, guarda la lavagna

Rompighiaccio #1: Lavagna

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

Rompighiaccio #1: Lavagna

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

Rompighiaccio #1: Lavagna

Lavagna

dell’iterazione

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

Rompighiaccio #1: Lavagna

Lavagna backlog

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

Rompighiaccio #1: Lavagna

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

Rompighiaccio #1: Lavagna (elettronica)

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

Consente di visualizzare in modo non

ambiguo il processo produttivo del

team...

#1 Lavagna: perché è rompighiaccio?

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

...e ne evidenzia tutti i problemi

#1 Lavagna: perché è rompighiaccio?

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

...e ne evidenzia tutti i problemi

#1 Lavagna: perché è rompighiaccio?

troppe storie in progress

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

...e ne evidenzia tutti i problemi

#1 Lavagna: perché è rompighiaccio?

troppe storie in progress

storie che tornano indietro a causa

di un bug

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

...e ne evidenzia tutti i problemi

#1 Lavagna: perché è rompighiaccio?

troppe storie in progress

storie che tornano indietro a causa

di un bugstorie bloccate in QA

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

...e ne evidenzia tutti i problemi

#1 Lavagna: perché è rompighiaccio?

troppe storie in progress

storie che tornano indietro a causa

di un bugstorie bloccate in QA

storie bloccate in progress

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

E’ un ottimo punto di partenza per far

riflettere il team

#1 Lavagna: perché è rompighiaccio?

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

E’ visibile a tutti

#1 Lavagna: perché è rompighiaccio?

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

Consente di sincronizzare tutti su un

workflow condiviso

#1 Lavagna: perché è rompighiaccio?

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

#1 Lavagna: quali valori esercita?

• Comunicazione

• Feedback•Openness

• Commitment

• Focus

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

#1 Lavagna: quali altre pratiche attiva?

• user stories

• informative workspace

• iteration planning

• standup meeting

• whole team

• incremental design

• simple design

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

#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?

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

Rompighiaccio #2: Standup Meeting

• perché è rompighiaccio?• quali valori esercita?• quali altre pratiche attiva?• a cosa stare attenti• resistenze

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

#2 Standup Meeting: cos’è?

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

#2 Standup Meeting: cos’è?

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

#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

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

#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?

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

#2 Standup Meeting: quali valori esercita?

• Comunicazione

• Feedback

• Rispetto

• Coraggio

•Openness

• Commitment

• Focus

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

#2 Standup Meeting: quali altre pratiche attiva?

• pair programming

• whole team

• collective-code ownership

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

#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

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

#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

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

Rompighiaccio #3: Retrospettiva

• perché è rompighiaccio?• quali valori esercita?• quali altre pratiche attiva?• a cosa stare attenti• resistenze

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

#3 Retrospettiva: cos’è?

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

#3 Retrospettiva: cos’è?

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

#3 Retrospettiva: cos’è?

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

#3 Retrospettiva: cos’è?

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

#3 Retrospettiva: cos’è?

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

#3 Retrospettiva: cos’è?

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

#3 Retrospettiva: cos’è?

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

#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

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

#3 Retrospettiva: quali valori esercita?

• Comunicazione

• Rispetto•Openness

• Commitment

• Coraggio

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

#3 Retrospettiva: quali altre pratiche attiva?

• whole team

• continuous improvement

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

• va preparata per tempo

• facilitatore esterno

• periodica

• time-boxed

• spiegare bene il suo scopo

#3 Retrospettiva: precauzioni d’uso e resistenze

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

#3 Retrospettiva: precauzioni d’uso e resistenze

• alcuni manager potrebbero lamentarsi dell'eccessivo costo di queste attività

• alcuni membri del team potrebbero non partecipare volentieri

• decidere prima se coinvolgere o meno esterni al team o manager

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

#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"

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

Rompighiaccio #4: Build automatica

• perché è rompighiaccio?• quali valori esercita?• quali altre pratiche attiva?• a cosa stare attenti• resistenze

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

“Nothing forces us to understand a

process better than trying to automate

it.”Growing Object-Oriented Software, Guided by Tests (S.Freeman, N.Pryce)

#4 Build automatica

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

#4 Build automatica: perché è rompighiaccio?

Si collabora anche con parti "nuove" del team

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

#4 Build automatica: perché è rompighiaccio?

Si affrontano prima problematiche che emergerebbero solo con la messa in produzione

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

#4 Build automatica: perché è rompighiaccio?

Consente al team di progettare fin dall'inizio il sistema e i suoi rilasci in modo incrementale

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

#4 Build automatica: perché è rompighiaccio?

Il team impara cosa significa "finito"

e ha la possibilità di verificare realmente il progresso fatto

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

#4 Build automatica: perché è rompighiaccio?

Consente di rilasciare con maggiore frequenza le features sviluppate

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

#4 Build automatica: perché è rompighiaccio?

Migliora la fiducia nel team da parte del cliente, che vede che il team è in grado di rilasciare frequentemente senza panico

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

• Feedback

• Coraggio

#4 Build automatica: quali valori esercita?

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

#4 Build automatica: quali altre pratiche attiva?

• test automation

• test-driven development

• refactoring

• rilasci incrementali

• continuous deployment

• devops e configuration management

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

#4 Build automatica: come si applica?

E’ necessario analizzare con cura la

situazione iniziale

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

#4 Build automatica: come si applica?

E’ necessario analizzare con cura la

situazione iniziale

il codice è sotto controllo

versione?

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

#4 Build automatica: come si applica?

E’ necessario analizzare con cura la

situazione iniziale

il codice è sotto controllo

versione?esistono ambienti di test/

collaudo?

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

#4 Build automatica: come si applica?

E’ necessario analizzare con cura la

situazione iniziale

il codice è sotto controllo

versione?esistono ambienti di test/

collaudo?

quanto è facile creare un

nuovo ambiente di test?

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

#4 Build automatica: come si applica?

E’ necessario analizzare con cura la

situazione iniziale

il codice è sotto controllo

versione?esistono ambienti di test/

collaudo?

quanto è facile creare un

nuovo ambiente di test?

come vengono effettuati i

rilasci?

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

#4 Build automatica: come si applica?

E’ necessario analizzare con cura la

situazione iniziale

il codice è sotto controllo

versione?esistono ambienti di test/

collaudo?

quanto è facile creare un

nuovo ambiente di test?

come vengono effettuati i

rilasci?

quante dipendenze da

sistemi terzi ci sono?

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

#4 Build automatica: come si applica?

E’ necessario analizzare con cura la

situazione iniziale

il codice è sotto controllo

versione?esistono ambienti di test/

collaudo?

quanto è facile creare un

nuovo ambiente di test?

come vengono effettuati i

rilasci?

quante dipendenze da

sistemi terzi ci sono?

esistono sistemi di

monitoring della produzione?

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

#4 Build automatica: come si applica?

E’ necessario analizzare con cura la

situazione iniziale

il codice è sotto controllo

versione?esistono ambienti di test/

collaudo?

quanto è facile creare un

nuovo ambiente di test?

come vengono effettuati i

rilasci?

quante dipendenze da

sistemi terzi ci sono?

esistono sistemi di

monitoring della produzione?

con chi bisogna interagire

per avere accesso agli

ambienti di test?

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

#4 Build automatica: come si applica?

E’ necessario analizzare con cura la

situazione iniziale

il codice è sotto controllo

versione?esistono ambienti di test/

collaudo?

quanto è facile creare un

nuovo ambiente di test?

come vengono effettuati i

rilasci?

quante dipendenze da

sistemi terzi ci sono?

esistono sistemi di

monitoring della produzione?

con chi bisogna interagire

per avere accesso agli

ambienti di test?

come gestisco le dipendenze

da sistemi esterni negli

ambienti di test?

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

#4 Build automatica: come si applica?

A piccoli passi si deve pianificare una

serie di interventi di automazione

ad es partire da uno script che automatizza tutti i

processi manuali effettuati per mettere in

produzione una nuova versione

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

#4 Build automatica: a cosa stare attenti?

• stabilire una collaborazione positiva con la parte operational / sistemistica dell'azienda

• procedere a piccoli passi

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

Rompighiaccio #5: Test di accettazione automatici

• perché è una pratica rompighiaccio?• quali valori esercita?• quali altre pratiche attiva?• a cosa stare attenti• resistenze

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

#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

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

#5 Test di accettazione automatici: perché è una pratica rompighiaccio?

• Trasmettono fiducia al cliente

• Sono propedeutici per l'intero tema del testing e del design test-driven

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

#5 Test di accettazione automatici: come si può applicare?

Quando si pianifica una nuova feature, parte dell'analisi consiste nel descrivere quali sono i criteri di accettazione della feature

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

Si può iniziare anche solo a raccogliere dei test di accettazione manuali durante il planning della feature

#5 Test di accettazione automatici: come si può applicare?

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

Si può iniziare anche solo a raccogliere dei test di accettazione manuali durante il planning della feature

poi si passa a proporre la loro automazione

#5 Test di accettazione automatici: come si può applicare?

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

Si può iniziare anche solo a raccogliere dei test di accettazione manuali durante il planning della feature

poi si passa a proporre la loro automazione

e si mettono i test nella build automatica

#5 Test di accettazione automatici: come si può applicare?

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

#5 Test di accettazione automatici: quali valori esercita?

• Feedback

• Comunicazione

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

#5 Test di accettazione automatici: quali altre pratiche attiva?

• Testing automatico

• Test-Driven Development

• Continuous integration

• Refactoring

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

#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

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

#5 Test di accettazione automatici: resistenze

• Alcuni test automatici saranno difficili da scrivere

• non scoraggiatevi

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

Effetto cascata :^)

A cascata queste pratiche

se ne portano dietro altre

più difficili da adottare fin

da subito...

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

Effetto cascata

...ma più facili da introdurre quando le persone

prendono coscienza dei problemi che gli

impediscono di lavorare in modo efficace e

fanno propri i principi dei metodi agili

★Pair Programming

★Test-Driven Development

★Refactoring

★Design Incrementale

★Continuous Integration

★Tecnica del Pomodoro

★Daily Journal

★Collective Code Ownership

★ ...

a piccoli passi, applicando un

approccio iterativo e incrementale :^)

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

Come andare avanti

Procedere a piccoli passi

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

Come andare avanti

Make things visible

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

Come andare avanti

Learn

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

Come andare avanti

Tenere una retrospettiva periodica sul

processo

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

L'integrazione con il resto dell'azienda

...ovvero, quando un collo di bottiglia in meno ti può strozzare lo stesso :)

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

Cosa può andare male?

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

La resistenza al cambiamento

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

Come andare avanti?

Per avere i risultati migliori, si devono valutare e

sperimentare 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 sostegno

funzionano meno bene, o rischiano di fallire).