Agile project management 1 giornata - board game - v2

140
Agile Project Management Un giornata di workshop con il gioco Agile: The Board Game e non solo Giulio Roggero - Scrum Master,PMI-ACP, PMP, Prin

Transcript of Agile project management 1 giornata - board game - v2

Page 1: Agile project management   1 giornata - board game - v2

Agile Project Management Un giornata di workshop con il gioco Agile: The Board Game e non solo

Giulio Roggero - Scrum Master,PMI-ACP, PMP, Prince2

Page 2: Agile project management   1 giornata - board game - v2

E’ un processo Agile?

Requisito 1

Requisito 2

Requisito 3

Requisito 4

Analisi Design Sviluppo Test Rilascio

Page 3: Agile project management   1 giornata - board game - v2

E’ un processo Agile?

Requisito 1

Requisito 2

Requisito 3

Requisito 4

Analisi Design Sviluppo Test Rilascio

Sviluppo Test

Sviluppo Test

Iterazione 2

Iterazione n

Page 4: Agile project management   1 giornata - board game - v2

E’ un processo Agile?

Requisito 1

Requisito 2

Requisito 3

Requisito 4

Analisi Design Sviluppo Test Rilascio

Design Sviluppo Test

Design Sviluppo Test

Iterazione 2

Iterazione n

Page 5: Agile project management   1 giornata - board game - v2

E’ un processo Agile?

Refactoring

Refactoring

Refactoring

Analisi Design Sviluppo Rilascio

Analisi Design Sviluppo Refactoring Rilascio

Analisi Design Sviluppo Rilascio

Analisi Design Sviluppo Rilascio

Requisito 1

Requisito 2

Requisito 3

Requisito 4

Test

Test

Test

Test

Page 6: Agile project management   1 giornata - board game - v2

E’ un processo Agile?

Refactoring

Refactoring

Refactoring

Test Analisi Sviluppo Rilascio

Test Analisi Sviluppo Refactoring Rilascio

Test Analisi Sviluppo Rilascio

Test Analisi Sviluppo Rilascio

Requisito 1

Requisito 2

Requisito 3

Requisito 4

Design

Design

Design

Design

Page 7: Agile project management   1 giornata - board game - v2

Benvenuti al CORSO AGILE!

Page 8: Agile project management   1 giornata - board game - v2

Temi

• I Introduzione generale: framework e processi per il Project Management.

• Lean e Agile: valori e principi. Gemba. Definition of Done. Time Boxing. Kaizen. Kanban.

• Scrum: Lean, Agile applicati. Le tre gambe di Scrum. Overview, Ruoli e Workflow.

• XP: Ruoli, Attività e Pratiche.• Stimare Costi e Tempi: User Stories, Story Point e Poker Game.• Risk Management e Communication Management• eXtreme Programming: Pair Programming, TDD, Refactoring, CI• Da PMP ad Agile: un modo pratico per introdurre Agile nel team.• Tool Software per Agile: Wiki, Issue Tracker e Continuous

Integration.• Agile Scaling. Agile in micro-team. Le certificazioni Agile.

Page 9: Agile project management   1 giornata - board game - v2

Chi sei?

Cosa fai?

Cosa farai dopo il corso?

Cosa ti piacerebbe fare tra cinque anni?

Cosa ti aspetti dal corso?

Page 10: Agile project management   1 giornata - board game - v2

Approcci di PM - Predittivo

Alcuni esempi•Waterfall•Spirale•Unified Process (RUP)•PMBoK

Page 11: Agile project management   1 giornata - board game - v2

Predittivo – Si / No

Pro• Logico e sensato• Pianifica prima di fare• Mantiene una

documentazione scritta• Segue un piano• Mantiene le attività

organizzate

Contro• Sono coinvolte le

persone!– Cambiano idea– Difficile esprimere e

comunicare l’intangibile e i bisogni

– Empatia• Prodotto solo alla fine

Page 12: Agile project management   1 giornata - board game - v2

Approcci di PM - AdattivoAlcuni esempi

•XP•Scrum•FDD•TDD•Lean

Adattivi

Predittivi

Page 13: Agile project management   1 giornata - board game - v2

Adattivo – Si / No

Pro• Segue le persone• Apporta valore• Aiuta la

collaborazione• Riduce le barriere

Contro• Difficile da

introdurre• Senza uno sponsor

non decolla• Difficile coinvolgere

il cliente

Page 14: Agile project management   1 giornata - board game - v2

Quale scegliere?

Negli ultimi 30 anni si sono

alternati approcci differenti

WaterfallRUP

XP

Kanban

Agile

Tutti hanno avuto successi e insuccessi

Page 15: Agile project management   1 giornata - board game - v2
Page 16: Agile project management   1 giornata - board game - v2

Problemi nei progetti

• Mancanza della gestione del cambiamento dei requisiti• Cattiva comunicazione• Inadeguatezza del Team• Requisiti non ben definiti• Stime non accurate• Mancanza di un piano di gestione dei Rischi• Cattiva definizione di cosa significa “Finito”• Non dedicare il giusto tempo alla gestione del progetto• Mancanza della conoscenza di come si gestisce un

progetto• Essere sempre troppo ottimisti!

Page 17: Agile project management   1 giornata - board game - v2

Ottimismo!

Page 18: Agile project management   1 giornata - board game - v2

COCOMO II

SOFTWARESEPTEMBER/OCTOBER 2000 (Vol. 17, No. 5) pp. 14-

170740-7459/00/$26.00 © 2000 IEEE 

Published by the IEEE Computer SocietySafe and Simple Software Cost Analysis

Fattori che influenzano la produttività nel

software su prj da 100 KSLOC.

Migliorare i sw tools tipicamente migliora del

50% la produttività.

Migliorare il team il 353%!

Page 19: Agile project management   1 giornata - board game - v2

Principali fattori di Successo

Team + Sponsorship + Cliente

Page 20: Agile project management   1 giornata - board game - v2

Definizione di Successo

Page 21: Agile project management   1 giornata - board game - v2

Successo

Il valore dipende dal contesto del progetto ed è definito con il Cliente

Il successo in Agile e’

misurato sul valore

generato dal progetto

Page 22: Agile project management   1 giornata - board game - v2

I requisiti non si toccano! Il valore non si tocca!

Da PM ad Agile

Page 23: Agile project management   1 giornata - board game - v2

Cercate produttività?Agile non fa per voi!

Agile è per:•Apportare facilmente cambiamenti•Creare velocemente valore•Aumentare la trasparenza

Page 24: Agile project management   1 giornata - board game - v2

Agile non e’

•Poca o nessuna documentazione•Requisiti di massima•Nessuna pianificazione•Nessun controllo di progetto•Fare e poi pensare•Un waterfall interattivo

Page 25: Agile project management   1 giornata - board game - v2

Agile Manifesto

www.agilemanifesto.org• Individuals and interactions 

over processes and tools• Working software 

over comprehensive documentation• Customer collaboration 

over contract negotiation• Responding to change

over following a plan

Page 26: Agile project management   1 giornata - board game - v2

Agile Manifesto

www.agilemanifesto.org• Individuals and interactions 

over processes and tools• Working software 

over comprehensive documentation• Customer collaboration 

over contract negotiation• Responding to change

over following a plan

Page 27: Agile project management   1 giornata - board game - v2

Tools e Processi

• Quale tool usiamo per tracciare lo stato del progetto?

• Che processo adottiamo per rilasciare una versione?

• Come tracciamo i bugs?• Come tracciamo le ore su un progetto?• Come misuriamo le performance delle persone sul

progetto?• Come formalizziamo con il cliente la chiusura del

progetto?

• Tutte domande che vi siete fatti almeno una volta …

• … che soluzioni avete trovato e adottato?

Page 28: Agile project management   1 giornata - board game - v2
Page 29: Agile project management   1 giornata - board game - v2

Individui e Interazioni

Comunicare, comunicare, comunicare!• Tanti documenti, anche ben scritti e

formalizzati non servono se non sonoletti e compresi

• Presentazioni senza coinvolgere i partecipanti non sono efficaci se non si ha la sicurezza che il messaggio sia compreso

Team building• Pensare “al proprio orticello” non aiuta il progetto• Molto spesso lavori complessi hanno bisogno di più occhi• Lavorare in un ambiente armonioso aiuta il progetto

Ottimizzare il globale e non il singolo• Misurare il singolo spinge a non collaborare• Non è detto che se tutti sono ottimali il progetto è

ottimale

Page 30: Agile project management   1 giornata - board game - v2

Esercizio

camminiamo

Page 31: Agile project management   1 giornata - board game - v2

Agile Manifesto

www.agilemanifesto.org• Individuals and interactions 

over processes and tools• Working software 

over comprehensive documentation• Customer collaboration 

over contract negotiation• Responding to change

over following a plan

Page 32: Agile project management   1 giornata - board game - v2

Documentazione?

In un progetto software qual’è il documento che rispecchia meglio la realtà?

• La documentazione è importante, molto importante

• E ’ importante se è vera• Il progetto evolve la documentazione

non sempre!• E’ un costo molto alto tenere

aggiornata la documentazione

Page 33: Agile project management   1 giornata - board game - v2

Software!

Software funzionante? Si/No/Forse/A volte si/Solo in questo caso no!

Page 34: Agile project management   1 giornata - board game - v2

Agile Manifesto

www.agilemanifesto.org• Individuals and interactions 

over processes and tools• Working software 

over comprehensive documentation• Customer collaboration 

over contract negotiation• Responding to change

over following a plan

Page 35: Agile project management   1 giornata - board game - v2

Contratto

Firma e approvazione 16/06/2011

• Oggetto del contratto• Elenco Specifiche: A, B, C• Dettaglio Specifiche• Assunzioni e Limiti• Tempi: 3 mo• Costi: 100.000$• Modalita’ di approvazione del prodotto/servizio• Pagamento• Diritti di recesso• Penali

Page 36: Agile project management   1 giornata - board game - v2

… e dopo un mese?

Firma e approvazione 16/06/2011

e ora chi paga?

• Oggetto del contratto: OK• Elenco Specifiche: A, B, C, D, E• Dettaglio Specifiche: in realtà C è D+E• Assunzioni e Limiti• Tempi: 4 mo• Costi: 120.000$• Modalita’ di approvazione del

prodotto/servizio• Pagamento• Diritti di recesso• Penali

Page 37: Agile project management   1 giornata - board game - v2

Esercizio

Come procedete?• 10’ per discussione• 5’ per gruppo di incontro con il signor White

• L’azienda My Oil S.p.A. deve aggiornare il sistema di monitoraggio delle trivellazioni petrolifere secondo la norma che entrera’ in vigore fra un mese da oggi

• Il signor White è l’incaricato di My Oil per fornirvi tutte le informazioni necessarie, l’importante è che il nuovo sistema sia operativo in tutte le 100 sedi entroun mese

• Non ci sono limiti di budget

Page 38: Agile project management   1 giornata - board game - v2

Esempi di contratti “Agili”

•A forchetta minima e massima (PERT aiuta)

•A condivisione del rischio: 50%-50% sul budget risparmiato

•A bande: si concorda il budget, si fissa di volta in volta lo step a prezzo fisso

•Time and material classico

Page 39: Agile project management   1 giornata - board game - v2

Agile Manifesto

www.agilemanifesto.org• Individuals and interactions 

over processes and tools• Working software 

over comprehensive documentation• Customer collaboration 

over contract negotiation• Responding to change

over following a plan

Page 40: Agile project management   1 giornata - board game - v2

Quindi? Piano o Valore?

Una pianificazione è fondamentale

Ma la pianificazione deve poter variare senza impattare sul progetto

Rispondere ai cambiamenti permette di tenere sotto controllo il vero progetto:

•Quello che apporta valore •Soddisfa le aspettative

Agile è pianificazione con un controllore retroattivo

VS

Page 41: Agile project management   1 giornata - board game - v2
Page 42: Agile project management   1 giornata - board game - v2

StoriaJeff Sutherland introdusse nel 1995 l’idea che

i team si muovessero sull’orlo del caos e si auto-controllassero come succede in natura.

Ken presento’ con Jeff al OOPSLA95 il primo paper su SCRUM.

L’ultima edizione e’ del gennaio 2011 http://jeffsutherland.com/ScrumPapers.pdf

Gli autori affermano che:“Scrum non e’ una metodologia o un processo formale ma un algoritmo di compressione delle migliori abitudini in ambito dello sviluppo del software osservate in tutto il mondo negli ultimi 50 anni”

jeffsutherland.com

kenschwaber.wordpress.com

Page 43: Agile project management   1 giornata - board game - v2
Page 44: Agile project management   1 giornata - board game - v2

Scrum Roles

Page 45: Agile project management   1 giornata - board game - v2

Product Owner

Cosa fa Massimizza il valore di

ogni Sprint Decide quali sono gli item

piu’ importanti di ogni Sprint

Puo’ cambiare le priorita’ di volta in volta

Raffina i backlog Prende le decisioni che

impattano sul prodotto

Cosa non dovrebbe fare Il project manager Sviluppare Decidere tecnologie e

processi

Page 46: Agile project management   1 giornata - board game - v2

Team (pigs)

FOCUS!

7 persone ± 2Cross-funzionale: non solo sviluppatori ma anche tester,

interaction design, content managers e tutte le figure professionali necessarie per sviluppare un prodotto di valore

Preferibilmente co-located: riduce i tempi di comunicazione e migliora i rapporti del team

Full-time sul progetto: le “abitudini” di Scrum prevedono una dedizione al progetto giorno per giorno e un ritmo sostenibile difficilmente da parte di membri del team “multi-tasking”

Page 47: Agile project management   1 giornata - board game - v2

Team (pigs)

Cosa fa Sviluppa il prodotto

indicato dal product owner Da idee al Product Owner

su come migliorare il prodotto

Si auto-organizza all’interno dello sprint

Tiene traccia degli item di backlog completati

Stima gg per gg il backlog rimanente

Cosa non dovrebbe fare Implementare item che non

sono nell sprint backlog Aggiungere item allo sprint

backlog Cambia spesso i suoi

membri

Page 48: Agile project management   1 giornata - board game - v2

Stakeholders (chickens)• Sono tutti gli appartenenti all’organizzazione che possono essere impattati dal progetto.• Possono partecipare ai meetings ma senza diritto di parola

Page 49: Agile project management   1 giornata - board game - v2

Le persone del team

belbin.com

• “Plant”: creativa e brava a risolvere i problemi in modi non convenzionali. Uno per team.

• Monitor Evaluator: il logico, prende decisioni imparziali e pesa in modo razionale le opzioni del team.

• Co-ordinators: aiuta a mantenere il focus del team, fa emerge i membri del team e delega in modo appropriato.

• Resource Investigators: migliora i processi e porta la voce del team fuori.• Implementers: il motore che pianifica strategie efficaci e le porta a

compimento.• Completer Finishers: intervengo alla fine per completare il task

rimuovendo errori e ottimizzando la qualita’.• Teamworkers: sono il collante del team, si identificano con il team e

aiutano nel lavoro di squadra.• Shapers: il leader, fa in modo che il team non perda focus e spinta. • “Specialist”: ha una conoscenza molto specifica nella key area del progetto.

emerged.

Page 50: Agile project management   1 giornata - board game - v2

Scrum Master

Favorire l’auto-organizzazione!

•Una persona con backgroud differenti, es: Engineering, Testing, Quality Control, Product Management, Project Management

•Energica e umile•Dedicata full-time su grossi progetti•In Team piccoli può essere un membro

del Team•ATTENZIONE PM o Team Leaders che

diventate Scrum Master: dovete cambiare molto il vostro approccio,è un lavoro completamente diverso!

Page 51: Agile project management   1 giornata - board game - v2

Scrum Master

Cosa fa Tutor del team Aiuta Team e PO ad avere

successo nel progetto Protegge il Team dai fattori

esteri Facilita le relazioni Toglie gli impedimenti E’ al servizio del Team Aiuta a capire il flow-value

dello Scrum

Cosa non dovrebbe fare Il project manager Il team leader Il product owner Assegna Task Dice alle persone cosa fare

Page 52: Agile project management   1 giornata - board game - v2

Scrum roles – note importanti

• Scrum Master e Productr Owner NON possono essere lo stesso individuo

• E il Project Manager? NON ESISTE!• I ruoli di PM sono divisi tra i tre ruoli di Scrum:

• Scrum Master• Product Owner• Team

• Un cambio di approccio è fondamentale!

Passare da assegnare attività everificare lo stato (SAL) a Aiutare, supportare, fare coaching e mentoring,

rimuovere gli impedimenti Essere al servizio del team!

Page 53: Agile project management   1 giornata - board game - v2

Scrum Artifacts

Page 54: Agile project management   1 giornata - board game - v2
Page 55: Agile project management   1 giornata - board game - v2

Product Backlog

• Lista di features con priorita’• Roadmap del prodotto• Responsabilita’ del Product Owner• Tutto quello che e’ nel Product backlog e’ il

prodotto• Quello fuori NON ESISTE!• Il product backlog evolve nel tempo:

• Priorita’• Descrizione e dettagli (raffinamento del Product

Backlog)• Stime

• NE ESISTE UNO SOLO

Page 56: Agile project management   1 giornata - board game - v2

Esempio – Product backlog

Page 57: Agile project management   1 giornata - board game - v2

Cosa include

•Funzionalità/requisiti cliente•Miglioramenti

tecnici/tecnologici•Esplorazioni su nuovi aspetti

del prodotto/del software•Bugs conosciuti

Page 58: Agile project management   1 giornata - board game - v2

Come viene descritto• Scrum non definisce un metodo• Le user stories sono uno dei metodi piu’

usati• Si possono usare anche Work Breakdown

Structure (WBS)• A volte viene creato un Release Backlog

come sottoinsieme del BP per definire l’ambito della release del prodotto

Page 59: Agile project management   1 giornata - board game - v2

User Story

"As a <role>, I want <goal/desire> so that <benefit>"

Page 60: Agile project management   1 giornata - board game - v2
Page 61: Agile project management   1 giornata - board game - v2

Una user story su excel

alarm.search

"As a User I want to search alarms by name, type, application, date, range of dates and free text search so that I can analyze problems on the system"

filters are automatically added looking at column names and can be combined in OR and AND (like workflow in console)

TBD VH 5

User Story ID Front Back Business Value

Priority

Estimated Story Point

Page 62: Agile project management   1 giornata - board game - v2

Sprint Backlog• L’insieme di task da completare in uno sprint• Uno o piu’ task sono relativi a un item del

Product Backlog• Ogni task ha una stima in ore• Ogni task e’ assegnato a una persona che lo

richiede in modo volontario

Page 63: Agile project management   1 giornata - board game - v2
Page 64: Agile project management   1 giornata - board game - v2

Definition of Done

• Definizione di completato• Tipicamente e’ una regola di backgroud di tutto il progetto• Es: una feature si considera completata se:

• Codificata• Gli unit test sono tutti passed• Il codice e’ commentato• La funzionalita’ e’ utilizzabile dall’utente e soddisfa i requisiti di

usabilita’ definiti nella sua user story• E’ integrata nel setup/ambiente di deploy• E’ taggata sotto repository• Ha la documentazione utente

La definition of done NON deve variare di volta in volta, e’ fissa! Una volta che e’ decisa si segue sempre quella.

Page 65: Agile project management   1 giornata - board game - v2

PSPI

Chiudere sempre secondo la Definition of Done concordata!

Potentially Shippable Product Increment• Ogni Sprint idealmente finisce con un

prodotto potenzialmente rilasciabile• MAI lasciare le cose a meta’: meglio

chiudere una cosa in meno e spostarla nel prossimo sprint che lasciare le cose aperte a fine sprint

Page 66: Agile project management   1 giornata - board game - v2

Motivazioni del PSPI

•Permette di raccogliere i feedback velocemente

•Riduce i rischi (bugs non alla fine)

•Aiuta il cliente finale a prendere confidenza del prodotto

•Migliora l’apprendimento

Page 67: Agile project management   1 giornata - board game - v2

Previsioni e Stime

1.Una previsione metereologica e’ valida 1-2 giorni

2.Al terzo giorno e’ gia’ molto incerta

3.Oltre il terzo e’ una speculazione

Page 68: Agile project management   1 giornata - board game - v2

Scrum Planning

Page 69: Agile project management   1 giornata - board game - v2

Pianificare in Agile???•Si pianifica di piu’ e piu’ spesso!•Me tenere sotto controllo il flusso del valore (Value Flow) la pianificazione e la stima sono fondamentali

•Riflettere sulle sitme a posteriori aiuta a stimare meglio la volta dopo

Page 70: Agile project management   1 giornata - board game - v2

Stime• Il Product Owner e’ responsabile per assegnare

il business value di ogni item del BP• Il Team e’ responsabile per stimare l’effort di

sviluppo di ogni item del PB• Il Team e il Product Owner fanno un’analisi di

rischio• Lo Scrum Master aiuta in questa fase

• Scrum non definisce tecniche di stima• Story Points e Ideal Time• Range Estimation• PERT

Page 71: Agile project management   1 giornata - board game - v2

Stime – Planning Poker• Ogni membro del team si crea delle carte con la

sequenza di Fibonacci: 1, 2, 3, 5, 8, 13, 21, BIG• Le user stories sono visibili a muro o sul pavimento o su

un tavolo• Lo scrum master sceglie una User Story rappresentativa

della quale si conoscono abbastanza dettagli e che sia piccola

• Il team concorda che quella vale 1• Lo Scrum Master scegli un’altra User Story• Ogni membro del team di nascosto sceglie una carta• Quanto tutti hanno scelto scoprono la carta• La maggioranza vince, si discute sulle differenze se ci

sono disaccordi e si rivota• Si itera il processo fino a quando non sono finite le User

Stories selezionate

Page 72: Agile project management   1 giornata - board game - v2

Eserciziowww.agilemanifesto.org

I…and i…  over p…and t..W… s… over d…C… c… over c…R.. To c… over p…

Page 73: Agile project management   1 giornata - board game - v2

Esercizio

Creare il product backlog con

Agile: The Board Game

Page 74: Agile project management   1 giornata - board game - v2

Lo SPRINTTimeboxing e non solo

Page 75: Agile project management   1 giornata - board game - v2

Il tempo non basta mai

sett 1 sett 2 sett 3 sett 4 sett 5

Done

Done

Done

Page 76: Agile project management   1 giornata - board game - v2

Funziona?

Pro Si pensa di essere piu’

produttivi Diversificare aiuta a non

annoiarsi Si puo’ star dietro a piu’

clienti Si possono sfruttare i

“tempi morti”

Contro Sotto stress Ore piccole Tempo perso nel cambio di

contesto

Page 77: Agile project management   1 giornata - board game - v2

… e se fossimo monotasking?

sett 1 sett 2 sett 3 sett 4 sett 5

Done

Done

Done

Page 78: Agile project management   1 giornata - board game - v2

Pomodoro Technique

www.pomodorotechnique.com

• Scegli il task da completare• Imposta il Pomodoro a 25 minuti

(Il Pomodoro è il timer)• Lavora sul task senza distrazioni o

interruzioni fino a che il Pomodoro non suona, dopo metti una spunta nel tuo foglio della To Do List

• Prenditi un piccolo break (5 minuti vanno bene)• Ogni 4 pomodori prenditi una pausa un po' più

lunga

Page 79: Agile project management   1 giornata - board game - v2

L’importanza del time-boxing•Aiuta a concentrarsi su una singola attivita’•Da quell’adrenalina positiva per portare a termine un

compito•Permette di semplificare i task•Riduce il lavoro inutile•Incrementa la concretezza (stare con i piedi per terra)•Permette di avere un ritmo nel lavoro (non ci sono piu’

riunioni senza fine che finiscono con un ‘?’)•Aiuta a trovare accordi con se stessi e con il team•Permette di pianificare meglio le attivita’ e stimarne il

costo

Page 80: Agile project management   1 giornata - board game - v2
Page 81: Agile project management   1 giornata - board game - v2

Sprint Planning – Part 1

• Durata: 2-4 ore• Partecipanti: Product Owner, Scrum Master, Team• Strumenti: Product Backlog a muro, Definition of

Done• Obiettivo: estrazione degli item per lo sprint

Page 82: Agile project management   1 giornata - board game - v2

Sprint Planning – Part 2

• Durata: 2-4 ore• Partecipanti: Scrum Master, Team• Strumenti: Sprint Backlog a muro• Obiettivo: definizione e stima dei task per lo Sprint

Backlog

Page 83: Agile project management   1 giornata - board game - v2

Running the Sprint

• Durata: 1-4 settimane (2 consigliate)• Partecipanti: Product Owner,

Scrum Master, Team• Strumenti: Product & Sprint Backlog a muro, Definition of Done• Attivita’:

• Sviluppo• Rifinitura del Product Backlog (5-10%)• Ri-Stima degli item del backlog• Ri-Prioritizzazione del product backlog• Analisi di dettaglio

Page 84: Agile project management   1 giornata - board game - v2

Daily Meeting

• Durata: 15’, ogni gg, alla stessa ora, nello stesso posto (possibilmente in piedi davanti allo Sprint Backlog)

• Partecipanti: Scrum Master, Team• Strumenti: Sprint Backlog a muro• Attivita’:

• Ogni team member dice: cosa ha fatto, cosa fara’, che impedimenti ha

• Si fissano le riunioni

Page 85: Agile project management   1 giornata - board game - v2

Sprint Review

• Durata: 2-4 ore• Partecipanti: Product Owner, Scrum Master, Team• Strumenti: PSPI• Obiettivo: validare con il Product Owner la chiusura

dello Sprint

Page 86: Agile project management   1 giornata - board game - v2

Agile metricsMisurare in agile

Page 87: Agile project management   1 giornata - board game - v2

Quanto?

Misurare solo il necessarioe non di più!

Vale lo stesso concetto di semplicità che si usa per scrivere

il codice

Tenere lo storico delle misurazioni

Page 88: Agile project management   1 giornata - board game - v2

Effetti collaterali di metriche errate

Page 89: Agile project management   1 giornata - board game - v2

Misura del progresso

“Our highest priority is to satisfy the customer through early and

continuous delivery of valuable software”

Il working software è la principale misura del progresso

Page 90: Agile project management   1 giornata - board game - v2

Running Tested Features

Misura diretta del risultato

Se non cresce c’è un problema

Se cresce è motivante per il team

1 2 3 4 5 6 7 8 9 10 11 12 13 140

2

4

6

8

10

12Running Tested Features

RTF

Iteration

Feat

ures

Page 91: Agile project management   1 giornata - board game - v2

Misurare il business value

RevenueCost savingsMarket share

Customer relationsReputation

Page 92: Agile project management   1 giornata - board game - v2

Financial value

Baseline Release 1 Release 2 Release 3 Release 40

20000

40000

60000

80000

100000

120000

140000

160000

180000

Hard Value Delivered per Release

Total RevenueTotal CostsProfitabilityProfitability Change

Page 93: Agile project management   1 giornata - board game - v2

Un’idea da Lean Startup

Vado a fare un test sperimentale

Al 50% degli utenti fornisco il prodotto vecchio

All’altro 50% fornisco il prodotto con una nuova feature

Misuro entrambi

Se ci sono variazioni allora l’introduzione della feature

ha influito sul business, altriumenti è indifferente

split-test

Page 94: Agile project management   1 giornata - board game - v2

Report in Scrum• Product Burndown Chart• Sprint Burndown Chart• Test reports• Architecture diagram status

Page 95: Agile project management   1 giornata - board game - v2

Burn down chart

Page 96: Agile project management   1 giornata - board game - v2

Velocity = 43 points in 10 days

Page 97: Agile project management   1 giornata - board game - v2

Velocity

Page 98: Agile project management   1 giornata - board game - v2

Velocity (misura del team per il team)

Osservazione empirica della corrente capacità del team di svolgere il lavoro

Quantità di lavoro prodotta in un dato periodo

Molto utile per prevedere quando verrà completato un lavoro per una derminata

quantità di funzionalità

Utile per stimare quanti requisiti saranno rilasciati entro

una data prefissata

Page 99: Agile project management   1 giornata - board game - v2

Velocity attenzione a…

Basata sulle metriche relative ad un particolare team

La dimensione è definita dal team stessoStories, points, ideal time

Non utile al di fuori dell’ambitoSolo per un dato team in un dato progetto!

Prende in cosiderazione solo il lavoro completato

Il team è contento se ha una velocità alta e mantenuta Non solo questo fattore è importante!

Page 100: Agile project management   1 giornata - board game - v2

Esercizio

Rilasciare con Scrum il primo PSPI

Agile: The Board Game

Page 101: Agile project management   1 giornata - board game - v2

KAIZENMiglioramento continuo

Page 102: Agile project management   1 giornata - board game - v2

Lean

•Ha origini dal TPS (Toyota Production System) sviluppato tra il 1948-1975•TPS si basa su

• Continuo miglioramento - Kaizen• Rispetto per le persone• Una vision a lungo termine• Il giusto processo crea i giusti risultati• Creare valore attraverso lo sviluppo delle persone• Risolvere subito i problemi

•Ha due pilastri• Just-in-time• Automation

•Due scopi• Ridurre gli sprechi• Dare valore subito al cliente

Page 103: Agile project management   1 giornata - board game - v2

Value Stream Mapping

Fresare Saldare Verniciare Assemblare

Page 104: Agile project management   1 giornata - board game - v2

10 maggiori cause di spreco

Qualsiasi cosa che non aggiunge valore al clientefinale e’ considerata uno spreco:

1. Produzione di cose non necessarie2. Attesa3. Delegare il lavoro4. Processi non necessari5. Lavoro non completato6. Cambio continuo di attivita’7. Evidenziare i difetti alla fine del progetto8. Team che non lavora al suo potenziale9. Perdita di conoscenza10.Assecondare i desideri piu’ che le necessita’

razionali

Page 105: Agile project management   1 giornata - board game - v2

Inbox

Google ha proposto la priority inbox e funziona!Oppure cancellate la posta che non vi serve

La posta non letta e’ un esempio di spreco:• Aumento consistente di giorno in giorno

della posta non letta (“teoria del vetro rotto”)

• Mancanza di evidenza dell’importanza dei vari messaggi

• Maggior tempo per discriminare la posta importante da quella meno importante

• Lentezza del client di posta!

Page 106: Agile project management   1 giornata - board game - v2

A3

Page 107: Agile project management   1 giornata - board game - v2

Title: What you are talking about.Background

Current Situation

Goal

Analysis

Recommendations

Plan

Follow - up

Why are you talking about it?

Where do we stand?

Where we need to be?What is the specific change you want to accomplish now?

-What is the root cause(s) of the problem?-

What is your proposed countermeasure(s)?

What activities will be required for implementation and who will be responsible for what and when?

How we will know if the actions have the impact needed? What remaining issues can be anticipated?

A3 -Verble/Shook

What’s the problem?

Page 108: Agile project management   1 giornata - board game - v2

Esercizio

Page 109: Agile project management   1 giornata - board game - v2

Sprint Retrospective

• Durata: 1.5-3 ore• Partecipanti: Scrum Master, Team• Strumenti: Sprint Backlog, PSPI• Obiettivo: evidenziare le cose positive dello sprint e

ricercare i motivi degli errori, metabolizzare il processo

Page 110: Agile project management   1 giornata - board game - v2

Com’è organizzato

• Impostare il meeting – 5% del tempo• Raccogliere i dati – 30-50% del tempo• Approfondire i motivi – 20-30% del tempo• Decidere cosa fare – 15-20% del tempo• Chiudere la retrospettiva – 10% del tempo

Page 111: Agile project management   1 giornata - board game - v2

Esempio di meeting retrospective

• Impostare il meeting – ESVP (Esploratore, Shopper, Vacanziere, Prigioniero)

• Raccogliere i dati – Timeline• Approfondire i motivi – 5Whys• Decidere cosa fare – SMART Goals

(deve essere: Specific, Measurable, Attainable (raggiungibile), Relevant, Timely)

• Chiudere la retrospettiva – ROTI (Return of Time Invested) (0-5)

Maggiori dettagli su Agile Retrospectives (Derby, Larsen)

Page 112: Agile project management   1 giornata - board game - v2

Esercizio

Fare il meeting retrospective

Agile: The Board Game

Page 113: Agile project management   1 giornata - board game - v2
Page 114: Agile project management   1 giornata - board game - v2

XP, LEAN E KANBANnon solo SCRUM

Page 115: Agile project management   1 giornata - board game - v2

Limiti di Scrum

• Si tende a pianificare solo lo sprint successivo.• Si tende ad isolare il team dal management.• Si tende ad applicare prima di avere software di

qualita’ e testato in modo automatico.• Scrum non dice come fare le cose• Si pensa che i team auto-organizzati, da soli,

possano migliorare il processo. Non basta! Il middle-management ha un ruolo findamentale.

• La colocation e il single project sono molto utopici.

Page 116: Agile project management   1 giornata - board game - v2

XP - eXtreme programming

Page 117: Agile project management   1 giornata - board game - v2

• Pair Programming: sviluppare le parti piu’ critiche insieme sullo stesso pc condividendo le scelte e il codice

• Test Driven Development: scrivere il test e poi sviluppare la funzionalita’

• Continuos Integration: integrare in modo continuo tutti i componenti software riducendo il rischio di integrazione posticipata

• Refactoring: rivedere periodicamente il codice migliorandolo e rendendolo piu’ mantenibile

• Collective Code Ownership: il codice sorgente e’ di tutti e tutti sanno metterci le mani

• Simple design: tenere sempre il sistema semplice

Pratiche XP

Page 118: Agile project management   1 giornata - board game - v2

WIP

Ridurre il Work In Progress aiuta a:•Aumetare la qualita’ del lavoro finito•Semplificare processi e procedure•Aumentare la reattivita’ a richieste spot•Migliorare la vita in azienda

Page 119: Agile project management   1 giornata - board game - v2

Kanban Board

Page 120: Agile project management   1 giornata - board game - v2

- WIP limitato- Persone assegnate solo quando server- Continua revisione priorita’- Piu’ progetti insieme, anche di diversa natura

Questa e’ molto molto semplice. Tipicamente si mettono le fasi di progetto e le code di attesa.

Page 121: Agile project management   1 giornata - board game - v2

Altro esempio di Kanban board

Page 122: Agile project management   1 giornata - board game - v2
Page 123: Agile project management   1 giornata - board game - v2

Una ricetta per Kanban

da “Kanban: Successful Evolutionary Change for Your Technology Business”

• Concentrarsi a rilasciare sempre software di Qualità: TDD, Code Inspection, Architecture and Design Patterns e Software Factories

• Ridurre il Work-in-Progress (WIP)• Rilasciare spesso

• Bilanciare la domanda di nuove funzionalità con il lavoro che si riesce a smaltire

(Throughput)• Dare priorità alle cose

• Ridurre le cause di variabilità migliorando la predicibilità

Page 124: Agile project management   1 giornata - board game - v2

http://www.slideshare.net/marcusoftnet/kanbanboards

Page 125: Agile project management   1 giornata - board game - v2

Scrum Scaling

Page 126: Agile project management   1 giornata - board game - v2

Scrum di Scrum• Ogni team lavora con un suo Scrum• Ogni settimana un membro del team si

incontra con gli altri membri degli altri team per fare un Daily meeting

• Puo’ essere scalato in modo indefinito• I rappresentanti possono cambiare di volta in

volta

Page 127: Agile project management   1 giornata - board game - v2

Team Virtuali

• E’ possibile applicare Scrum da remoto su team dislocati geograficamenti

• E’ difficile farlo funzionare• I tools di comunicazione sono fondamentali, devono

permettere un editing live degli oggetti (es: Google Docs)

• Chat, Call e Video Call devono essere sempre accessibili

• Il repository del codice sempre condiviso• I server di test e di continuos integration hanno un

ruolo molto importante perche’ evidenziano i problemi che di solito non emergono naturalmente nei team co-located

Page 128: Agile project management   1 giornata - board game - v2

Cosa evitare

Feature Teams! SI’!

• Fare Scrum Team per componenti• Il codice e’ di tutti, non del Team singolo,

NO CODICE PRIVATO• Non esistono gruppi speciali: il gruppo

degli architect, il gruppo dei designer ecc I gruppi sono Cross Funzionali

Page 129: Agile project management   1 giornata - board game - v2

Introdurre Agile in Azienda

Page 130: Agile project management   1 giornata - board game - v2

Introdurre una metodologia Agile in Azienda

Page 131: Agile project management   1 giornata - board game - v2

Fasi dell’introduzione

Page 132: Agile project management   1 giornata - board game - v2

Come aiutare• Fare un A3 della situazione con Value Stream

Mapping• Affrontare un problema alla volta• Non cercare di ottimizzare tutto subito• Avere una spinta molto forte dai top-manager• Cercare consenso dal basso• Introdurre un Changing Agent• Chiedere la consulenza di un Coach. Il Coach e’

una persona che riduce di molto la fase di caos e poi se ne va.

Page 133: Agile project management   1 giornata - board game - v2

Conclusioni

Page 134: Agile project management   1 giornata - board game - v2

La chiusura di un progettoRaccogliere le lesson learnedCelebrare il successo e imparare degli erroriNon disperdere il know-how

http://www.svgopen.org/2008/papers/47-Real_time_monitor_in_SVG_a_use_case_in_Machining_Technology_HMI/

Page 135: Agile project management   1 giornata - board game - v2

Le certificazioni Agile•SCRUM -

www.scrumalliance.org• Master• Practitioner• Coach• Trainer

•PMI-ACP - www.pmi.org•Atern DSDM - www.dsdm.org

Page 136: Agile project management   1 giornata - board game - v2

Links e tools utili

casi d'uso: www.scrumalliance.org/resources?tag=experience+reportlibri consigliati: www.scrumalliance.org/pages/scrum_student_resourcespresentazioni: www.scrumalliance.org/resources?tag=Presentationsdocs: www.scrumalliance.org/resources?tag=2010+Shanghai+Gatheringfumetti: www.implementingscrum.com/section/blog/cartoons/contratti: agile rfp - www.methodsandtools.com/archive/archive.php?

id=84agile manifesto: agilemanifesto.org/iso/it/principles.htmlpmi: pmi.orglean: www.lean.orgscrum alliance: www.scrumalliance.orgpecha-kucha: www.pecha-kucha.org/

Page 137: Agile project management   1 giornata - board game - v2

Letture consigliate

Page 138: Agile project management   1 giornata - board game - v2

Progetti Complessi Persone

Mercato e Requisiti dinamici

Controllare il Progetto

Motivare il Team

Prodotti/Servizi di Qualita’ e Valore

AGILE!

Agile quando?

Page 139: Agile project management   1 giornata - board game - v2

Riferimenti

Giulio Roggero

[email protected]

http://it.linkedin.com/in/giulioroggero

Page 140: Agile project management   1 giornata - board game - v2

Diritti

Tutti i cartoon sono di Michael Vizdos - www.implementingscrum.com.

Potete usare questo materiale come meglio ritenete opportuno secondo la licenza Creative Common Attribution-ShareAlike 3.0http://creativecommons.org/licenses/by-sa/3.0/

Trovate altro materiale su http://www.slideshare.net/GiulioRoggero/

I giochi qui utilizzati sono di mia concezione, li trovate Open Source:•http://code.google.com/p/agile-the-board-game/•http://code.google.com/p/a3-airplane-game/feeds