Agile Project Management

194
Agile Project Management Metodologie nuove per gestire progetti complessi Sunday, February 5, 12

Transcript of Agile Project Management

Agile Project Management

Metodologie nuove per gestire progetti complessi

Sunday, February 5, 12

Wallenstein VS Giants

Sunday, February 5, 12

Wallenstein

Ci troviamo nel 1618, alla vigilia della Guerra dei Trent’Anni, i cinque più potenti mercenari dell’epoca si sfidano nella conquista dell’europa centrale.

Vince chi totalizza piu’ punti•1 punto viene assegnato per ogni territorio in proprio possesso.•1 punto viene assegnato per ogni edificio costruito sui territori posseduti.•1 punto viene assegnato al giocatore con più Mercati in ognuna delle cinque regioni.•2 punti vengono assegnati al giocatore con più Cattedrali in ognuna delle cinque regioni.•3 punti vengono assegnati al giocatore con più Castelli in ognuna delle cinque regioni

Sunday, February 5, 12

Wallenstein – durante il gioco

Sunday, February 5, 12

Wallenstein - meccanica

Tutti i giocatori hanno, nel turno (tranne in inverno), queste dieci azioni da compiere, una sola per ogni territorio posseduto:1. Costruire un Mercato2. Costruire una Cattedrale3. Costruire un Castello4. Primo Movimento (spostamento o attacco)5. Secondo Movimento (spostamento o attacco)6. Raccogliere le tasse*7. Raccogliere il grano *8. Assoldare cinque armate9. Assoldare tre armate10. Assoldare un armata e fare uno spostamento*Il raccogliere tasse e grano causa lo scontento della popolazione che potrebbe rivoltarsi

Tutti i giocatori sceglieranno, contemporaneamente dove e quali azioni esercitare.Successivamente verrà stabilito l’ordine di gioco, verrà deciso mischiando e posando sul tavolo di gioco le carte giocato.

Sunday, February 5, 12

Giants

Ci troviamo sull’Isola di Pasqua tra ul V e il XVII secolo. La civita’ RapaNui costruisce degli incredibili monumenti funerari, gli Ahus (ahoo). Questi monoliti sono scolpiti da una sola pietra vulcanica ed eretti sulle sponde dell’isola.

Il gioco consiste nel costruire i monumenti funerari in modo collaborativo. Chi mette a disposizione piu’ risorse e/o manodopera e/o erige piu’ Ahus vince.

Sunday, February 5, 12

Giants - meccanica

Ogni giocatore puo’ compiere piu’ azioni per turno:• Piazzare un lavoratore, uno stregone o un capo• Fare una stregoneria• Erigere un Ahus

I giocatori possono usare i lavoratori e i pali di legno piazzati dali altri giocatori per trasportare gli Ahus vicino alla sponda dell’Isola. Ogni volta che viene usato il lavoratore di un altro giocatore questo guadagna dei punti

Sunday, February 5, 12

E’ un processo Agile?

Requisito 1

Requisito 2

Requisito 3

Requisito 4

Analisi Design Sviluppo Test Rilascio

Sunday, February 5, 12

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

Sunday, February 5, 12

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

Sunday, February 5, 12

Refactoring

Refactoring

Refactoring

Analisi Design Sviluppo Rilascio

Analisi Design Sviluppo Refactoring Rilascio

Analisi Design Sviluppo Rilascio

Analisi Design Sviluppo Rilascio

E’ un processo Agile?

Requisito 1

Requisito 2

Requisito 3

Requisito 4

Test

Test

Test

Test

Sunday, February 5, 12

Benvenuti al CORSO SU AGILE!

Sunday, February 5, 12

Chi sei?Cosa fai?Cosa farai dopo il corso?Cosa ti piacerebbe fare tra cinque anni?Cosa ti aspetti dal corso?

Sunday, February 5, 12

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, Attivita’ e Pratiche.Stimare Costi e Tempi: User Stories, Story Point e

Poker Game.Risk Management e Communication ManagementDa PMP ad Agile: un modo pratico per introdurre

Agile nel team.Sunday, February 5, 12

ApprofondimentiAgile and Scrum Anti-Patterns: cosa si pensa

comunemente di Agile e Scrum che in realta’ non e’ vero

Self organizing teams: esempi reali di aziende auto organizzate

Pomodoro: tecnica di gestione del tempo e dei task day by day

Gemba, Kaizen e Kanban: alcuni metodi introdotto in Toyota e riadattato a diverse realta’ industriali e di servizi

Forme contrattuali agili: se vogliamo essere agili dobbiamo esserlo anche nei contratti

Mindmaps

Sunday, February 5, 12

Una sorpresa...

Sunday, February 5, 12

Obiettivi1. Diventare Agile Project Manager2. Conoscere i 4 Valori e i 12 Principi di Agile3. Definire e riconoscere le 10 ragioni di spreco

secondo Lean4. Conoscere e fare coaching di

Uno Scrum WorkflowDegli Scrum RolesDelle fasi di stima e pianificazione Agile

5. Creare e mantenere un Product Backlog6. Spiegare le ragioni di perche’ adottare Agile7. Analizzare e spiegare perche’ un’azienda non

riesce ad applicare Agile

Sunday, February 5, 12

Altri temi? Vostre proposte

....

....

....

....

....

Sunday, February 5, 12

Introduzione

Sunday, February 5, 12

Approcci di PM - Predittivo

Alcuni esempiWaterfallSpiraleUnified Process (RUP)PMBoK

Sunday, February 5, 12

Predittivo – Si’/No

Pro• Logico e sensato

• Pianifica prima di fare

• Mantiene una documentazione scritta

• Segue un piano

• Mantiene le attivita’ organizzate

Contro• Sono coinvolte le

persone!– Cambiano idea– Difficile esprimere e

comunicare l’intangibile e i bisogni

– Empatia

• Prodotto solo alla fine

Sunday, February 5, 12

Approcci di PM - AdattivoAlcuni esempi

XPScrumFDDTDDLean

Predittivi

Sunday, February 5, 12

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

Sunday, February 5, 12

Wallenstein VS Giants

Predittivo Adattivo

Sunday, February 5, 12

Quale scegliere?

Negli ultimi 30 anni si sono alternati approcci differenti

Waterfall

RUP

XP

Kanban

Agile

Tutti hanno avuto successi e insuccessi

Sunday, February 5, 12

OsservareAssimilare

RiealaborareMigliorare Continuamente

Sunday, February 5, 12

3 lavori predittivi3 lavori adattivi

Sunday, February 5, 12

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!

Sunday, February 5, 12

Ottimismo!

Sunday, February 5, 12

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 produttivita’ nel software su prj da 100 KSLOC.

Migliorare i sw tools tipicamente migliora del 50% la produttivita’.

Migliorare il team il 353%!

Sunday, February 5, 12

Principali fattori di Successo

Team + Sponsorship + Cliente

Sunday, February 5, 12

Definizione di Successo

Sunday, February 5, 12

Successo

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

Il successo in Agile e’ misurato sul valore generato dal progetto

Sunday, February 5, 12

Cercate produttuvita’?

Agile non fa per voi!

Agile e’ per:•Apportare facilmente cambiamenti

•Creare velocemente valore•Aumentare la transparenza

Sunday, February 5, 12

Agile non e’

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

Sunday, February 5, 12

Agile e’

• Uno specchio della realta’• Un processo guidato dal valore• Un continuo adattamento agli

input esterni (requisiti, aspettative, ambito) con lo scopo di massimizzare il valore globale dell’output (prodotto/servizio/qualita’/soddisfazione)

Sunday, February 5, 12

Lean e Agile

Sunday, February 5, 12

Agile Manifesto

www.agilemanifesto.orgIndividuals and interactions

over processes and toolsWorking software

over comprehensive documentationCustomer collaboration

over contract negotiationResponding to change

over following a plan

Sunday, February 5, 12

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?

Sunday, February 5, 12

Teoria della comunicazione

CC Einar Faanes

funzione referenziale (contesto)funzione emotiva (mittente)funzione conativa (destinatario)funzione fàtica (contatto)funzione poetica (messaggio)funzione metalinguistica (codice)

Feedback

Sunday, February 5, 12

Teoria dell’ottimizzazione

Ottimizzazione molti-obiettivi conflittuali

Diverse alternative, diversi decisori, diversi criteri

Non esiste l’ottimo assoluto ma un compromesso

L’ottimizzazione locale dei singoli criteri non porta

Sunday, February 5, 12

Esempio di analisi multi-criteri

criteriaalternatives

Sunday, February 5, 12

Sunday, February 5, 12

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 buildingPensare “al proprio orticello” non aiuta il progettoMolto spesso lavori complessi hanno bisogno di piu’ occhiLavorare in un ambiente armonioso aiuta il progetto

Ottimizzare il globale e non il singoloMisurare il singolo spinge a non collaborareNon e’ detto che se tutti sono ottimali il progetto e’ ottimale

Sunday, February 5, 12

Interazioni VS Tools?

VS

CONSIGLIO: prima capire le persone e come lavorano poi scegliere i tools di supporto.

NO!I tool sono importanti se rispecchiano il modo di

lavorare del teamDevono ridurre quasi a zero il tempo e il costo

delle operazioni ripetitiveAgevolare la comunicazione remotaRendere trasparente il progetto

Sunday, February 5, 12

esercizio

camminiamo

Sunday, February 5, 12

Agile Manifesto

www.agilemanifesto.orgIndividuals and interactions

over processes and toolsWorking software

over comprehensive documentationCustomer collaboration

over contract negotiationResponding to change

over following a plan

Sunday, February 5, 12

Documentazione?

In un progetto software qual’e’ il documento che rispecchia meglio la realta’?

La documentazione e’ importante, molto importante

E’ importante se e’ veraIl progetto evolve la documentazione non sempre!E’ un costo molto alto tenere aggiornata la

documentazione

Sunday, February 5, 12

Software!

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

Sunday, February 5, 12

Metodi di Testing

TDD Test driver development

Unit TestingIntegration TestingUser TestingInteraction Testing

Sunday, February 5, 12

Contratto

Firma e approvazione

16/06/2011

Oggetto del contrattoElenco Specifiche: A, B, CDettaglio SpecificheAssunzioni e LimitiTempi: 3 moCosti: 100.000$Modalita’ di approvazione del prodotto/servizioPagamentoDiritti di recessoPenali

Sunday, February 5, 12

… e dopo un mese?

Firma e approvazione

16/06/2011

e ora chi paga?

Oggetto del contratto: OKElenco Specifiche: A, B, C, D, EDettaglio Specifiche: in realta’ C e’ D+EAssunzioni e LimitiTempi: 4 moCosti: 120.000$Modalita’ di approvazione del prodotto/servizioPagamentoDiritti di recessoPenali

Sunday, February 5, 12

esercizio

Come procedete?

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

L’azienda Trivellazioni Felici 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 e’ l’incaricato di Trivellazioni Felici per fornirvi tutte le informazioni necessarie, l’importante e’ che il nuovo sistema sia operativo in tutte le 100 sedi entro un mese

Non ci sono limiti di budget

Sunday, February 5, 12

Collaborazione con il cliente

Domande di difficile risposta

1. Lavorare a stretto contatto con il cliente2. Respirare la stessa “aria”3. Avere le stesse aspettative

Fa superare piu’ facilmente la conflittualita’ intrinseca dei contratti

Che bisogni ha il cliente?Come lavora il cliente?Cosa vede il cliente?Come comunicare con lui?Quali aspettative ha?

Sunday, February 5, 12

Esempi di contratti “Agili”

•A forchetta minima e massima (PERT aiuta)

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

•Time and material classico

Sunday, February 5, 12

Piano

Quante volte questi piani sono stravolti il giorno dopo che sono stati scritti?

Gantt?PERT?Milestones?Project Management Plan?Analisi dei Requisiti?

Sunday, February 5, 12

Valore?

Questi valori sono scolpiti nella pietra o variano nel tempo?

Cos’e’ per il Cliente il valore?Un servizio/un prodotto che apporta valore al

proprio businessAumenta la competitivita’Riduce i costiAumenta i ricaviAumenta la penetrazione di mercatoAlza le barriere di ingresso ai competitorCrea nuovi mercatiEcc…

Sunday, February 5, 12

Progetti falliti* ma di valore

* nella accezzione di Scope-Cost-Schedule

Progetto falliti (fuori budget, scope o time) hanno portato valore in azienda. Ecco alcuni esempi:Post-itFacebookGMail

Sunday, February 5, 12

Teoria del controllo

Misurare l’output per calibrare gli input

Verificare il software funzionante per validare i requisiti implementati e pianificati

Sunday, February 5, 12

Quindi? Piano o Valore?

Agile e’ pianificazione con un controllore retroattivo

VS•Una pianificazione e’ 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

Sunday, February 5, 12

Eserciziowww.agilemanifesto.org

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

Sunday, February 5, 12

Scrum

Sunday, February 5, 12

Cosa non e’ scrum

Scrum != Ad Hoc

Scrum non e’ una scusa per far meno e costare meno:- “Non abbiamo bisogno di analisi dei requisiti”- “Non abbiamo bisogno di stime”- “Siamo agili!”

FALSO!

Sunday, February 5, 12

Una formula per Scrum?

Scrum = timeboxed iteration + backlogs + meeting giornalieri

NON BASTA SOLO QUESTO!

Implemetare Agile? NO

Implementare Scrum ed essere Agili SI’

Sunday, February 5, 12

Ambito

Lean

Agile

• 5 Principici• 10 Cause di Spreco

• 4 Valori• 12 Principi

Team

Necessita e Bisogni

Cliente

Aspettative

Valore

Sunday, February 5, 12

Storia

jeffsutherland.com

kenschwaber.wordpress.com

Jeff 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”

Sunday, February 5, 12

Sunday, February 5, 12

Most common methodologies

Dic 2008

Sunday, February 5, 12

2008

Sunday, February 5, 12

Obiettivi di Scrum

Auto organizzarsi! INSIEME!

1. Energia2. Concentrazione sugli obiettivi3. Chiarezza4. Transparenza

Sunday, February 5, 12

Aiuta a

•Aumentare la velocita’ di sviluppo•Allineare il progetto con le esigenze

del business•Creare valore in azienda•Comunicare in modo costante e trasparente

a tutti i livelli aziendali•Migliorare l’ambiente di lavoro delle persone

Sunday, February 5, 12

Le tre gambe di Scrum

TrasparenzaIspezioneAdattamento

Sunday, February 5, 12

Dove si inserisce Scrum

Sunday, February 5, 12

Sunday, February 5, 12

Scrum Roles

Sunday, February 5, 12

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

Sunday, February 5, 12

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”

Sunday, February 5, 12

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

Cosa non dovrebbe fare Implementare item che

non sono nell sprint backlog

Aggiungere item allo sprint backlog

Cambia spesso i suoi membri

Sunday, February 5, 12

Stakeholders (chickens)

Sono tutti gli appartenenti all’organizzazione che

Sunday, February 5, 12

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. Sunday, February 5, 12

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 puo’ essere un membro del Team•ATTENZIONE PM o Team Leaders che diventate

Scrum Master: dovete cambiare molto il vostroapproccio, e’ un lavoro completamente diverso!

Sunday, February 5, 12

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

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

fare

Sunday, February 5, 12

Scrum roles – note importantiScrum Master e Productr Owner NON possono essere lo stesso

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

Scrum MasterProduct OwnerTeam

Un cambio di approccio e’ fondamentale!

Da assegnare attivita’, verificare lo stato a Aiutare, supportare, fare coaching e mentoring, rimuovere

gli impedimenti Essere al servizio del team!

Sunday, February 5, 12

Scrum Artifacts

Sunday, February 5, 12

Sunday, February 5, 12

Product BacklogLista di features con priorita’Roadmap del prodottoResponsabilita’ del Product OwnerTutto quello che e’ nel Product backlog e’ il prodottoQuello fuori NON ESISTE!Il product backlog evolve nel tempo:

Priorita’Descrizione e dettagli (raffinamento del Product

Backlog)Stime

NE ESISTE UNO SOLO

Sunday, February 5, 12

Esempio – Product backlog

Sunday, February 5, 12

Cosa include

Funzionalita’/requisiti clienteMiglioramenti tecnici/tecnologiciEsplorazioni su nuovi aspetti del

prodotto/del softwareBugs conosciuti

Sunday, February 5, 12

Come viene descrittoScrum non definisce un metodoLe user stories sono uno dei metodi piu’

usatiSi 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

Sunday, February 5, 12

User Story

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

Sunday, February 5, 12

Sunday, February 5, 12

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

Sunday, February 5, 12

Sprint Backlog

L’insieme di task da completare in uno sprintUno o piu’ task sono relativi a un item del Product

BacklogOgni task ha una stima in oreOgni task e’ assegnato a una persona che lo

richiede in modo volontario

Sunday, February 5, 12

Product Backlog a muro

Sunday, February 5, 12

Sunday, February 5, 12

Definition of Done

Definizione di completatoTipicamente e’ una regola di backgroud di tutto il progettoEs: una feature si considera completata se:

CodificataGli unit test sono tutti passedIl codice e’ commentatoLa funzionalita’ e’ utilizzabile dall’utente e soddisfa i

requisiti di usabilita’ definiti nella sua user storyE’ integrata nel setup/ambiente di deployE’ taggata sotto repositoryHa la documentazione utente

Sunday, February 5, 12

PSPI

Chiudere sempre secondo la Definition of Done concordata!

Potentially Shippable Product IncrementOgni Sprint idealmente finisce con un prodotto

potenzialmente rilasciabileMAI lasciare le cose a meta’: meglio chiudere una

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

Sunday, February 5, 12

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

Sunday, February 5, 12

Un momento di analisi del Product

Sunday, February 5, 12

Architettura emergente

Sunday, February 5, 12

Esercizio

Creare il product backlog per la presentazione di un’idea di applicazione iPad che favorisca la diffusione di Agile e di Scrum

Sunday, February 5, 12

Scrum Workflow

Sunday, February 5, 12

Overview

Sunday, February 5, 12

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

Sunday, February 5, 12

Sprint Planning – Part 2Durata: 2-4 orePartecipanti: Scrum Master, TeamStrumenti: Sprint Backlog a muroObiettivo: definizione e stima dei task per lo Sprint

Backlog

Sunday, February 5, 12

Sunday, February 5, 12

Running the Sprint

Durata: 1-6 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

Sunday, February 5, 12

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

Sunday, February 5, 12

Sprint Review

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

dello Sprint

Sunday, February 5, 12

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

Sunday, February 5, 12

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

Sunday, February 5, 12

Scrum Planning

Sunday, February 5, 12

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

Sunday, February 5, 12

Poker game con Fibonacci

Sunday, February 5, 12

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

Sunday, February 5, 12

Stime – Poker Game• 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 selezionateSunday, February 5, 12

Stime - PERT

ID     Days --> optimum

likely worst pert var1 Global

AnalysisGlobal Analysis

           1.1 Analysi

s1,00 1,00 1,00 1,00 0,00

1.2 Design 2,00 2,00 2,00 2,00 0,002 Codin

g             

2.1 Desktop containerDesktop container

     2.1.1 Window Manager 1,00 2,00 2,00 1,83 0,172.1.2 Background 0,20 0,50 1,00 0,53 0,132.1.3 Screen resize 0,20 0,20 0,50 0,25 0,052.1.4 HTML Integration 0,10 0,20 0,50 0,23 0,072.1.5 Unit Testing 0,50 1,00 1,00 0,92 0,08

Sunday, February 5, 12

Re-stimare

Sunday, February 5, 12

Risk analysis

Tenere un registro dei rischi del progettoStimare un peso dell’impattoStimare una probabilita’ che il rischio possa

manifestarsiDefinire dei piani di contigencyAttribuire dei responsabili ad ogni rischioSi possono usare analisi di Montecarlo (vedi Riskology

- http://www.systemsguild.com/riskology)

Tutte le attivita’ di risk vanno nello Sprint Backlog

Sunday, February 5, 12

Esempio di Risk register

Risk Category Risk Name Risk

NumberProbability

(1-3)Impact (1-3) Risk Score Mitigation Contingency Action By Action When

GuestsThe guests find the party boring

1.1. 2 2 4

Invite crazy friends, provide sufficient liquor

Bring out the karaoke Mack within 2hrs

Guests Drunken brawl 1.2. 1 3 3

Don’t invite crazy friends, don't provide too much liquor

Bring in the guards Jerry Now

*da wikipedia

Sunday, February 5, 12

Priorita’!

Costo Valore Rischio

Priorita’

Priorita’ massima: minor costo, maggior valore (rischio minimo)

3 variabili

Product Owner

Sunday, February 5, 12

Esercizio

Fare la stima del vostro product backlog

Sunday, February 5, 12

Scrum Reporting

Sunday, February 5, 12

Report in Scrum

Product Burndown ChartSprint Burndown ChartTest reportsArchitecture diagram status

Sunday, February 5, 12

Trasparenza a diversi livelliI Chicken NON devono vedere lo Sprint

BurndowchartLa trasparenza e’ sulle features completateNON su come il team si auto organizza

Lo sprint backlog e’ per il team, meglio su carta!

Sunday, February 5, 12

Velocity = 43 points in 10 days

Sunday, February 5, 12

Velocity

Sunday, February 5, 12

Alcuni scrum anti-patterns•Ottimizzazione prematura del processo

Scrum•Accumulare lavoro non fatto e continuare a

farne di nuovo•Lavorare come singoli paladini e non in

Team•Piu’ di un Product Owner•Nessun Stakeholder•“Copiate e migliorate quello che c’era prima”•Nuove storie sono aggiunte allo Sprint

backlog durante lo sprint (con la scusa

Sunday, February 5, 12

12 Principi di Agile

http://agilemanifesto.org/iso/it/principles.html

Sunday, February 5, 12

“La nostra massima priorità è soddisfare il clienterilasciando software di valore, fin da subitoe in maniera continua.”

Unit Tesing + Continuos Integration

Jenkins-CI

Sunday, February 5, 12

Esercizio

Sunday, February 5, 12

“Accogliamo i cambiamenti nei requisiti,anche a stadi avanzati dello sviluppo.I processi agili sfruttano il cambiamentoa favore del vantaggio competitivo del cliente.”

Prendere le decisioni architetturali il piu’ tardi possibile per poterle cambiare quando serve. Prendere le decisioni di valore.

Semplicita’!!!!

Sunday, February 5, 12

“Consegnamo frequentemente software funzionante, con cadenza variabile da un paio di settimane a un paio di mesi,preferendo i periodi brevi.”

Ritmo e buone abitudini

Sunday, February 5, 12

“Committenti e sviluppatori devono lavorare insiemequotidianamente per tutta la durata del progetto.”

Stesso ufficio openspace

oppure

Video conferenze

Sunday, February 5, 12

“Fondiamo i progetti su individui motivati.Diamo loro l'ambiente e il supporto di cui hanno bisognoe confidiamo nella loro capacità di portare il lavoro a termine.”

No incentivi singoliIncentivi sul teamTrasparenzaComunicazioneAutonomiaFiducia

Sunday, February 5, 12

“Una conversazione faccia a facciaè il modo più efficiente e più efficace per comunicarecon il team ed all'interno del team.”

Non dire le cose per email quando si possono dire di persona

Sunday, February 5, 12

“Il software funzionante è il principale metro di misura di progresso.”

I feedback del cliente sono la piu’ grande misura del successo del progetto

Sunday, February 5, 12

“I processi agili promuovono uno sviluppo sostenibile.Gli sponsor, gli sviluppatori e gli utenti dovrebbero essere in gradodi mantenere indefinitamente un ritmo costante.” Ritmo sostenibile

Sunday, February 5, 12

“La continua attenzione all'eccellenza tecnicae alla buona progettazione esaltano l'agilità.” Eccellenza e

progettazione portano alla semplicita’

Sunday, February 5, 12

“La semplicità - l'arte di massimizzare la quantitàdi lavoro non svolto - è essenziale.”

"

Imports System.ConsoleClass HelloWorld Public Shared Sub Main() WriteLine("Hello, world!") End Sub End Class

Sunday, February 5, 12

ANTI-IF CAMPAGN

esercizio

Sunday, February 5, 12

“Le architetture, i requisiti e la progettazionemigliori emergono da team che si auto-organizzano.”

No micro gestioneSi’ ritmo e abitudini

No best practicesSi’ preferred practices

Sunday, February 5, 12

“A intervalli regolari il team riflette su comediventare più efficace, dopodiché regola e adattail proprio comportamento di conseguenza.”

Essere leali e obiettiviSaper gioire per i successiSaper riconoscere gli sbagli

Non vivere con l’incubo dell’errore ma con la consapevolezza di saper riconoscere e correggere gli errori

Sunday, February 5, 12

5 WHYs

esercizio

Sunday, February 5, 12

Esercizio

A coppie scrivere su un foglio a muro• 4 valori di Agile• 12 principi sottostanti ad Agile

Sunday, February 5, 12

Simuliamo un progetto Agile

Agile: The Board Game

Sunday, February 5, 12

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.

Sunday, February 5, 12

XP - eXtreme programming

Sunday, February 5, 12

• 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

Sunday, February 5, 12

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

•Uno scopo•Ridurre gli sprechi•Dare valore subito al cliente

Sunday, February 5, 12

Lean Flow

http://www.lean.org/WhatsLean/Principles.cfm

Spostare l’attenzione dalla creazione del prodotto al processo produttivo: “the production flow”

Sunday, February 5, 12

5 principi di Lean1.Definire il valore, per ogni famiglia di prodotto, dal punto di

vista del cliente finale.2.Identificare i passi del value stream, per ogni famiglia di

prodotto, eliminando possibilmente tutti gli step che non creano valore.

3.Assicurarsi che i vari passi del value siano vicini e possano creare un flusso veloce verso il cliente finale.

4.Una volta che il value stream e’ attivato favorire l’intervento del cliente per atto ad aumentare il valore degli step.

5.Una volta che il valore e’ definito, il value stream identificato, gli sprechi rimossi e il flusso introdotto ricominciare di nuovo il processo fino a quando il valore e’ prodotto senza sprechi.

Sunday, February 5, 12

Value Stream Mapping

Fresare Saldare Verniciare Assemblare

Sunday, February 5, 12

Esercizio

Sunday, February 5, 12

10 maggiori cause di sprecoQualsiasi cosa che non aggiunge valore al cliente

finale 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

Sunday, February 5, 12

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

messaggiMaggior tempo per discriminare la posta importante da

quella meno importanteLentezza del client di posta!

Sunday, February 5, 12

Bugs

Meglio mettere nel cassetto i bugs e riaprire il cassetto quandosi avra’ il tempo

Meglio non avere bugs!

Una lista molto lunga di bugs “vecchi” non aiuta a mantenere il flusso di valore:Se un bug e’ piu’ vecchio di X mesi significa che non

e’ importante (altrimenti sarebbe venuto giu’ il mondo!)

Avere tanti bugs e non risolverli non aiuta a dare le giuste priorita’

Sunday, February 5, 12

Gemba

Nei progetti software cos’e’ il Gemba?

In Toyota e’ la pratica di andare a vedere la linea di produzione

I manager non guardano email, grafici, report, ma direttamente la linea di produzione

I problemi sono vissuti sul campo, ci si rende conto della complessita’ e delle persone.

Sunday, February 5, 12

A3

Sunday, February 5, 12

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?

Sunday, February 5, 12

Esercizio

Sunday, February 5, 12

Title:

Background

Current Situation

Goal

Analysis

Recommendations

Plan

Follow - up

A3 -Verble/Shook

Sunday, February 5, 12

Il tempo non basta mai

sett 1 sett 2 sett 3 sett 4 sett 5

Done

Done

Done

Sunday, February 5, 12

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

Sunday, February 5, 12

… e se fossimo monotasking?

sett 1 sett 2 sett 3 sett 4 sett 5

Done

Done

Done

Sunday, February 5, 12

Pomodoro Technique

www.pomodorotechnique.com

1. Scegli il task da completare2. Imposta il Pomodoro a 25 minuti

(Il Pomodoro è il timer)3. 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

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

lunga

Sunday, February 5, 12

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

Sunday, February 5, 12

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

Sunday, February 5, 12

Kanban Board

Sunday, February 5, 12

- 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.

Sunday, February 5, 12

Altro esempio di Kanban board

Sunday, February 5, 12

Sunday, February 5, 12

Agile anti-patterns

http://www.agileforall.com/2009/06/03/agile-antipattern-insanity-5-insanity-antipatterns/

http://agileantipatterns.com/

Never meeting iteration commitmentsTesting late Poor estimatingNot trying to improveNot assigning action items

Sunday, February 5, 12

Scrum#E’ una evoluzione di Scrum ponendo Scrum all’interno del Lean

ThinkingRilassa certi aspetti a seconda dei progetti. Es:

Iterazioni: time boxed oppure flow-based.Prodotto: il team e’ responsabile del prodotto.Management: i manager guida e fa coach al team. Si lavora

insieme.Imparare: dal modello del flow con la big picture sempre

presente.Priorita’: non solo valore per il cliente ma anche sulla

riduzione degli sprechi.Continuos Integration: build che funzionano in automaticoAcceptance Test: definiti prima di codificare.Limitare il WIP: non iniziare nuove storie se non sono

concluse quelle precendenti.

Sunday, February 5, 12

Scrum Scaling

Sunday, February 5, 12

Scrum di ScrumOgni team lavora con un suo ScrumOgni settimana un membro del team si incontra con

gli altri membri degli altri team per fare un Daily meeting

Puo’ essere scalato in modo indefinitoI rappresentanti possono cambiare di volta in volta

Sunday, February 5, 12

Team VirtualiE’ possibile applicare Scrum da remoto su team dislocati

geograficamentiE’ difficile farlo funzionareI tools di comunicazione sono fondamentali, devono

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

Chat, Call e Video Call devono essere sempre accessibiliIl repository del codice sempre condivisoI 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

Sunday, February 5, 12

Cosa evitare

Feature Teams! SI’!

Fare Scrum Team per componentiIl codice e’ di tutti, non del Team singolo, NO CODICE

PRIVATONon esistono gruppi speciali: il gruppo degli architect,

il gruppo dei designer ecc I gruppi sono Cross Funzionali

Sunday, February 5, 12

Introdurre Agile in Azienda

Sunday, February 5, 12

Introdurre una metodologia Agile in Azienda

Sunday, February 5, 12

Sunday, February 5, 12

Come aiutareFare un A3 della situazione con Value Stream MappingAffrontare un problema alla voltaNon cercare di ottimizzare tutto subitoAvere una spinta molto forte dai top-managerCercare consenso dal bassoIntrodurre un Changing AgentChiedere la consulenza di un Coach. Il Coach e’ una

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

Sunday, February 5, 12

Una ricetta per Kanban1. Concentrarsi a rilasciare sempre software di

Qualita': TDD, Code Inspection, Arcihtecture and Design Patterns e Software Factories

2.Ridurre il Work-in-Progress (WIP)3.Rilasciare spesso4.Bilanciare la domanda di nuove funzionalita'

con il lavoro che si riesce a smaltire (Throughput)

5.Dare priorita' alle cose6.Ridurre le cause di variabilita' migliorando la

predicibilita'

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

Sunday, February 5, 12

Conclusioni

Sunday, February 5, 12

La chiusura di un progetto

Raccogliere 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/

Sunday, February 5, 12

Le certificazioni Agile

SCRUM - www.scrumalliance.orgMasterPractitionerCoachTrainer

PMI-ACP - www.pmi.orgAtern DSDM - www.dsdm.org

Sunday, February 5, 12

Studiare come Scrum MasterSeguire il corso di Scrum Master di due giorni

insegnato da un Scrum Trainer CertificatoApplicare Scrum su un progetto e/o partecipare ad un

progetto ScrumStudiare il libro di Ken Schware “Agile Project

Management with Scrum”Sostenere un esame online con 40 domande in 60

minuti.

Sunday, February 5, 12

Studiare per PMI-ACP

Pre-requisiti: 2000h di PM + 1500h di Agile PM + 21h di Training su Agile (16 ore questo corso)

Studiare i libri:Agile Project Management with Scrum The Art of Agile developmentUser Stories AppliedAgile Estimation and PlannigScaling Lean & Agile Development: Thinking and Organizational Tools for Large-Scale ScrumThe Software Project Manager's Bridge to AgilityLean-Agile Software Development: Achieving Enterprise AgilityCoaching Agile Teams: A Companion for ScrumMasters, Agile Coaches, and Project Manager...Agile Project Management: Creating Innovative Products (2nd Edition)Agile Retrospectives: Making Good Teams GreatKanban: Successful Evolutionary Change for Your Technology Business

Inoltre questo link ti da una panoramica di tutte le aree da studiare - http://agiletraining.com/2011/09/24/pmi-acp-agile-certification-exam-study-tips

Qui l’handbook PMI - http://www.pmi.org/Certification/~/media/PDF/Certifications/PMI-ACP_Handbook.ashx

Sunday, February 5, 12

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/

Sunday, February 5, 12

Letture consigliate

Sunday, February 5, 12

Progetti Complessi Persone

Mercato e Requisiti dinamici

Controllare il Progetto

Motivare il Team

Prodotti/Servizi di Qualita’ e Valore

AGILE!

Agile quando?

Sunday, February 5, 12

Riferimenti

Giulio Roggero

[email protected]

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

Sunday, February 5, 12

Ringraziamenti

Si ringraziano tutti i partecipanti ai corsi 2011 per i preziosi feedback e la grande partecipazione al corso.

Si ringrazia Michael Vizdos che con i suoi fumetti mi ha ispirato e divertito - www.implementingscrum.com.

Ringrazio tutti i colleghi di Intré che fanno da cavia per tutte le mie sperimentazioni.

Ringrazio Elena, Arturo e Edoardo per la pazienza che hanno avuto durante le mie sere di studio e ricerca.

Sunday, February 5, 12

Diritti

Queste slide sono il frutto di un anno di lavoro e dieci anni di esperienza.

Non posso dire che siano complete e perfette ma possono essere una buona base di partenza.

Ho deciso di pubblicarle Open Source per favorire la diffusione di Agile e del Project Management in generale. In questo periodo di difficile cambiamento sono convinto che applicare questi concetti permetterà a molte aziende di diventare più competitive nel mercato e più vivibili al loro interno.

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

Sunday, February 5, 12