Agile methodologies

Post on 16-Apr-2017

615 Views

Category:

Technology

0 Downloads

Preview:

Click to see full reader

Transcript

SCAI S.p.A. 1

Agile Methodologies: Scrum. Kanban & Co.di

Alessandro Graps

Bologna, 28/10/2013

Project & Delivery Area

SCAI S.p.A. 2

There are no best practices...

Only good practices...

IN THE CONTEXT...

Project & Delivery Area

SCAI S.p.A. 3

IndiceTeorico

Metodologia tradizionaleAgile Methodologies

ScrumKanbanXPScrum vs KanbanPerche’ utilizzarle

ConclusioniWorkshop

Project & Delivery Area

SCAI S.p.A. 4

Brief History of Development Methodologies

WATERFALL (Royce)

Requirements, designimplementation, verification & maintenance

1960 85 9119801970

V-MODEL (Anon)

Aligns testing toWaterfall development

SPIRAL MODEL (Barry Boehm)

Iterative

RAD(James Martin)

Prototyping, iterative, time-boxed, user driven

RUP (Rational)

Object oriented, iterative, time-boxed, user driven

AGILE e.g. XP(Kent Beck)

Incremental, user driven, low process

98 99

Waterfall V-Model

Spiral Model

RAD

RUP

Metodhologies

Project & Delivery Area

SCAI S.p.A. 5

Metodologia Tradizionale: Waterfall

Requirements

Design

Implementation

Verification

Manteinance

Project & Delivery Area

SCAI S.p.A. 6

Metodologia Tradizionale

Strutturata

Project & Delivery Area

SCAI S.p.A. 7

Metodologia Tradizionale

StrutturataGrandi Progetti

Project & Delivery Area

SCAI S.p.A. 8

Metodologia Tradizionale

StrutturataGrandi ProgettiSequenziale

Project & Delivery Area

SCAI S.p.A. 9

Metodologia Tradizionale

StrutturataGrandi ProgettiSequenzialeAdatta a situazioni dove il cambiamento non e’ comune

Project & Delivery Area

SCAI S.p.A. 10

Metodologia Tradizionale

StrutturataGrandi ProgettiSequenzialeAdatta a situazioni dove il cambiamento non e’ comune

Interna

Project & Delivery Area

SCAI S.p.A. 11

Metodologia Tradizionale

StrutturataGrandi ProgettiSequenzialeAdatta a situazioni dove il cambiamento non e’ comune

InternaUn processo che richiede chiarezza sulla definizione dei requisiti

Project & Delivery Area

SCAI S.p.A. 12

Metodologia Tradizionale:Vantaggi

L’approccio a cascata cerca di acquisire ed analizzare tutti i requisiti del progetto prima di avviare il disegno dell’applicazione.

Project & Delivery Area

SCAI S.p.A. 13

Metodologia Tradizionale:Vantaggi

L’approccio a cascata cerca di acquisire ed analizzare tutti i requisiti del progetto prima di avviare il disegno dell’applicazione.

Prevede tempi e costi in anticipo controllando il contenuto per rispettarli.

Project & Delivery Area

SCAI S.p.A. 14

Metodologia Tradizionale:Vantaggi

L’approccio a cascata cerca di acquisire ed analizzare tutti i requisiti del progetto prima di avviare il disegno dell’applicazione.

Prevede tempi e costi in anticipo controllando il contenuto per rispettarli.

In caso di turnover tra il personale, la quantita’ di documentazione permette un minimo impatto del nuovo personale sul progetto

Project & Delivery Area

SCAI S.p.A. 15

Metodologia Tradizionale:Svantaggi

Una volta che uno step e’ completato,non si puo’ tornare allo step precedente

Project & Delivery Area

SCAI S.p.A. 16

Metodologia Tradizionale:Svantaggi

Una volta che uno step e’ completato,non si puo’ tornare allo step precedente

Si basa fortemente sui requisiti iniziali. Se tali requisiti sono difettosi, il progetto e’ destinato a fallire

Project & Delivery Area

SCAI S.p.A. 17

Metodologia Tradizionale:Svantaggi

Una volta che uno step e’ completato,non si puo’ tornare allo step precedente

Si basa fortemente sui requisiti iniziali. Se tali requisiti sono difettosi, il progetto e’ destinato a fallire

Il processo iniziera’ da capo se sara’ rilevato un’errore di requisito oppure abbiamo necessita’ di un cambiamento di requisito

Project & Delivery Area

SCAI S.p.A. 18

Metodologia Tradizionale:Svantaggi

Una volta che uno step e’ completato,non si puo’ tornare allo step precedente

Si basa fortemente sui requisiti iniziali. Se tali requisiti sono difettosi, il progetto e’ destinato a fallire

Il processo iniziera’ da capo se sara’ rilevato un’errore di requisito oppure abbiamo necessita’ di un cambiamento di requisito

Test solo alla fine

Project & Delivery Area

SCAI S.p.A. 19

Metodologia Tradizionale:Svantaggi

Non si prendono in considerazione le continue evoluzioni del cliente. Ogni cambiamento sara’ causa di ritardi.

Project & Delivery Area

SCAI S.p.A. 20

Facciamo un Test

Test di interferenza• Rosso• Giallo• Verde• Blu• Rosso • Blu • Giallo• Verde• Blu

Non leggete le parole. Provate ad elencare i colori rapidamente ad alta voce.

Project & Delivery Area

SCAI S.p.A. 21

Interferenza

Nel color test la maggior parte delle persone legge le parole anche se e’ stato chiesto di elencare i colori

Quando si guarda la figura si vedono sia i colori che le parole. Queste due cose sono in contrasto tra loro. E’ necessario quindi prendere una decisione

Project & Delivery Area

SCAI S.p.A. 22

Interferenza

Poiche’ l’esperienza insegna che il significato di una parola e’ piu’ importante del colore con cui e’ scritta c’e’ un’interferenza quando si cerca di porre attenzione al suo colore

Questo esperimento dimostra che non si ha sempre il controllo completo su cio’ sui cui si pone attenzione: il rumore di fondo interferisce

Project & Delivery Area

SCAI S.p.A. 23

Rumore

E’ funzione:Dei PrerequisitiDelle PersoneDella TecnologiaDei Disturbi

Project & Delivery Area

SCAI S.p.A. 24

Agile Methodologies

Project & Delivery Area

SCAI S.p.A. 25

Agile Methodologies

Cosa?

Project & Delivery Area

SCAI S.p.A. 26

Agile Methodologies

Cosa?I metodi agili si propongono di sviluppare software che abbia un alto valore per il cliente, rilasciandolo presto e a ritmo costante

Project & Delivery Area

SCAI S.p.A. 27

Agile Methodologies

Quando?

Project & Delivery Area

SCAI S.p.A. 28

Agile Methodologies

Quando?Nel 2001 17 proffessionisti di spicco si radunarono in una localita’ sciistica dello Utah per discutere assiame del futuro del mondo software

Project & Delivery Area

SCAI S.p.A. 29

Agile Methodologies

Perche’?

Project & Delivery Area

SCAI S.p.A. 30

Agile Methodologies

Perche’?... Stanchi di assistere ad una percentuale sempre crescente di progetti sofware che si frantumavano sulle rocce al termine della cascata o rimanevano impantanati in cicli infiniti e fallimentari lungo la strada

Project & Delivery Area

SCAI S.p.A. 31

Agile Methodologies

Quindi?

Project & Delivery Area

SCAI S.p.A. 32

Agile Methodologies

Quindi?Dall’incontro di queste persone si genero’ una riflessione profonda e limpida: il metodo ingegneristico applicato al sofware non e’ detto che funzioni in quanto lo sviluppo sofware e’ un’attivita’ creativa e non produttiva, richiede l’apporto di knowledge worker e non di operatori con una fore componente artigianale e di iterazione umana

Project & Delivery Area

Agile Methodologies

SCAI S.p.A. 33Project & Delivery Area

SCAI S.p.A. 34

Agile Methodologies

Project & Delivery Area

SCAI S.p.A. 35

Agile Methodologies

12 Regole

Project & Delivery Area

SCAI S.p.A. 36

Agile Methodologies

La nostra massima priorita’ e’ soddisfare il cliente rilasciando software di valore, fin subito e in maniera continua

Project & Delivery Area

SCAI S.p.A. 37

Agile Methodologies

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

Project & Delivery Area

SCAI S.p.A. 38

Agile Methodologies

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

Project & Delivery Area

SCAI S.p.A. 39

Agile Methodologies

Committenti e sviluppatori devono lavorare insieme quotidianamente per tutta la durata del progetto

Project & Delivery Area

SCAI S.p.A. 40

Agile Methodologies

Fondiamo i progetti su individui motivati.Diamo loro l’ambiente e il supporto di cui hanno bisogno e confidiamo nella loro capacita’ di portare a termine il lavoro

Project & Delivery Area

SCAI S.p.A. 41

Agile Methodologies

Una conversazione faccia a faccia e’ il modo piu’ efficace per comunicare con il team ed all’interno del team

Project & Delivery Area

SCAI S.p.A. 42

Agile Methodologies

Il software funzionante e’ il principale metro di misura di progresso

Project & Delivery Area

SCAI S.p.A. 43

Agile Methodologies

I processi agili promuovono uno sviluppo sostenibile.

Gli sponsor, gli sviluppatori e gli utenti dovrebbero essere in grado di mantenere indefinitivamente un ritmo costante.

Project & Delivery Area

SCAI S.p.A. 44

Agile Methodologies

La continua attenzione all’eccellenza tecnica e alla buona progettazione esaltano l’agilita’

Project & Delivery Area

SCAI S.p.A. 45

Agile Methodologies

La semplicita’ – l’arte di massimizzare la quantita’ di lavoro non solto- e’ essenziale

Project & Delivery Area

SCAI S.p.A. 46

Agile Methodologies

Le architetture, i requisiti e la progettazione migliori emergono da team che si auto organizzano

Project & Delivery Area

SCAI S.p.A. 47

Agile Methodologies

A intervalli regolari il team riflette su come diventare piu’ efficace, dopodiche’ regola e adatta il proprio comportamento di conseguenza

Project & Delivery Area

SCAI S.p.A. 48

Agile Methodologies

Project & Delivery Area

Scr

um

Kan

ban

XP

Altr

e

Agile

SCAI S.p.A. 49

Agile Methodologies

Project & Delivery Area

How is agile

different?

Change in

feedback

Emphasis

(SCRUM)

Reduction in

evolution costs(KANB

AN)

Reduction in

coordination costs(XP)

SCAI S.p.A. 50

SCRUM

Project & Delivery Area

Scrum

SCAI S.p.A. 51

Hirotaka Takeuchi and Ikujiro Nonaka, “The New Product Development Game”, Harvard Business Review, January 1986.

“l'approccio a 'staffetta' nello sviluppo di un prodotto... potrebbe entrare in conflitto con l'obiettivo di massimizzare flessibilità & velocità. Al contrario, un approccio “olistico” (a mischia stile rugby), dove una squadra cerca di avanzare un passo alla volta, potrebbe essere più funzionale per centrare i requisiti di competitività.”

SCAI S.p.A. 52

SCRUM

CancelGift wrapReturn

Sprint2-4 weeks

ReturnSprint goal

Sprint backlog

Potentially shippableproduct increment

Productbacklog

CouponsGift wrapCoupons

Cancel

24 hours

Project & Delivery Area

SCAI S.p.A. 53

SCRUM:Mettiamo tutto insieme

Project & Delivery Area

SCAI S.p.A. 54

SCRUM:Sprint

Un progetto Scrum deve evolvere con una serie di Sprint

Project & Delivery Area

SCAI S.p.A. 55

SCRUM:Sprint

Un progetto Scrum deve evolvere con una serie di SprintCome in un’iterazione XP

Project & Delivery Area

SCAI S.p.A. 56

SCRUM:Sprint

Un progetto Scrum deve evolvere con una serie di SprintCome in un’iterazione XP

Ha una durata di 2-4 settimane o un mese al massimo

Project & Delivery Area

SCAI S.p.A. 57

SCRUM:Sprint

Un progetto Scrum deve evolvere con una serie di SprintCome in un’iterazione XP

Ha una durata di 2-4 settimane o un mese al massimo

Una durata costante di ogni Sprint aiuta a sviluppare meglio il ritmo

Project & Delivery Area

SCAI S.p.A. 58

SCRUM:Sprint

Un progetto Scrum deve evolvere con una serie di SprintCome in un’iterazione XP

Ha una durata di 2-4 settimane o un mese al massimo

Una durata costante di ogni Sprint aiuta a sviluppare meglio il ritmo

Designed, sviluppo e test devono essere eseguiti durante lo sprint

Project & Delivery Area

SCAI S.p.A. 59

SCRUM:Nessun cambiamento durante lo Sprint

Project & Delivery Area

Change

SCAI S.p.A. 60

SCRUM:Nessun cambiamento durante lo Sprint

Project & Delivery Area

Change

Una buona pianificazione aiutera’ ad evitare i cambiamenti

SCAI S.p.A. 61

SCRUM:Framework

RuoliProduct OwnerScrum MasterTeam

Project & Delivery Area

SCAI S.p.A. 62

SCRUM:Ruoli:Product Owner

Definisce le caratteristiche del prodotto

Project & Delivery Area

SCAI S.p.A. 63

SCRUM:Ruoli:Product Owner

Definisce le caratteristiche del prodottoDecide la data e i contenuti del rilascio

Project & Delivery Area

SCAI S.p.A. 64

SCRUM:Ruoli:Product Owner

Definisce le caratteristiche del prodottoDecide la data e i contenuti del rilascioE’ responsabile della redditivita’ del prodotto (ROI)

Project & Delivery Area

SCAI S.p.A. 65

SCRUM:Ruoli:Product Owner

Definisce le caratteristiche del prodottoDecide la data e i contenuti del rilascioE’ responsabile della redditivita’ del prodotto (ROI)

Definisce le priorita’ e le caratteristiche in base alle richieste del mercato

Project & Delivery Area

SCAI S.p.A. 66

SCRUM:Ruoli:Product Owner

Definisce le caratteristiche del prodottoDecide la data e i contenuti del rilascioE’ responsabile della redditivita’ del prodotto (ROI)

Definisce le priorita’ e le caratteristiche in base alle richieste del mercato

Regola le caratterisitche e le priorita’ per ogni Sprint

Project & Delivery Area

SCAI S.p.A. 67

SCRUM:Ruoli:Product Owner

Definisce le caratteristiche del prodottoDecide la data e i contenuti del rilascioE’ responsabile della redditivita’ del prodotto (ROI)

Definisce le priorita’ e le caratteristiche in base alle richieste del mercato

Regola le caratterisitche e le priorita’ per ogni Sprint

Accetta o rifiuta i risultati del lavoro

Project & Delivery Area

SCAI S.p.A. 68

SCRUM:Ruoli:Scrum Master

Rappresenta la gestione del progetto

Project & Delivery Area

SCAI S.p.A. 69

SCRUM:Ruoli:Scrum Master

Rappresenta la gestione del progettoResponsabile dei valori e le pratiche Scrum

Project & Delivery Area

SCAI S.p.A. 70

SCRUM:Ruoli:Scrum Master

Rappresenta la gestione del progettoResponsabile dei valori e le pratiche Scrum

Rimuove gli ostacoli

Project & Delivery Area

SCAI S.p.A. 71

SCRUM:Ruoli:Scrum Master

Rappresenta la gestione del progettoResponsabile dei valori e le pratiche Scrum

Rimuove gli ostacoliAssicursi che la squadra sia completamente funzionale e produttiva

Project & Delivery Area

SCAI S.p.A. 72

SCRUM:Ruoli:Scrum Master

Rappresenta la gestione del progettoResponsabile dei valori e le pratiche Scrum

Rimuove gli ostacoliAssicursi che la squadra sia completamente funzionale e produttiva

Attiva una stretta collaborazione tra ruoli e funzioni

Project & Delivery Area

SCAI S.p.A. 73

SCRUM:Ruoli:Scrum Master

Rappresenta la gestione del progettoResponsabile dei valori e le pratiche Scrum

Rimuove gli ostacoliAssicursi che la squadra sia completamente funzionale e produttiva

Attiva una stretta collaborazione tra ruoli e funzioni

Scherma la squadra da interferenze esterne

Project & Delivery Area

SCAI S.p.A. 74

SCRUM:Ruoli:Team

Un gruppo auto-organizzato

Project & Delivery Area

SCAI S.p.A. 75

SCRUM:Ruoli:Team

Un gruppo auto-organizzatoNon esiste nessun titolo

Project & Delivery Area

SCAI S.p.A. 76

SCRUM:Ruoli:Team

Un gruppo auto-organizzatoNon esiste nessun titoloLa membership non dovrebbe mai cambiare

Project & Delivery Area

SCAI S.p.A. 77

SCRUM:Framework

CerimonieSprint planningSprint reviewSprint retrospectiveDaily Scrum meeting (Morning Meeting o StandUp)

Project & Delivery Area

SCAI S.p.A. 78

SCRUM:Cerimonie:Sprint planning

Project & Delivery Area

Sprint planning meeting

Sprint prioritization• Analyze and evaluate

product backlog• Select sprint goalSprint planning

• Decide how to achieve sprint goal (design)

• Create sprint backlog (tasks) from product backlog items (user stories / features)

• Estimate sprint backlog in hours

Sprintgoal

Sprintbacklog

Business conditions

Team capacityProduct backlog

Technology

Current product

SCAI S.p.A. 79

SCRUM:Cerimonie:Sprint planning

Project & Delivery Area

Il team seleziona gli elementi dal backlog di prodotto che possono completare

SCAI S.p.A. 80

SCRUM:Cerimonie:Sprint planning

Project & Delivery Area

Il team seleziona gli elementi dal backlog di prodotto che possono completare

Lo Sprint backlog viene creato

SCAI S.p.A. 81

SCRUM:Cerimonie:Sprint planning

Project & Delivery Area

Il team seleziona gli elementi dal backlog di prodotto che possono completare

Lo Sprint backlog viene creatoLe attivita’ vengono identificate e ciascuna stimata (1-16 ore)

SCAI S.p.A. 82

SCRUM:Cerimonie:Sprint planning

Project & Delivery Area

Il team seleziona gli elementi dal backlog di prodotto che possono completare

Lo Sprint backlog viene creatoLe attivita’ vengono identificate e ciascuna stimata (1-16 ore)

E’ un processo collaborativo, non e’ fatto solo dallo ScrumMaster

SCAI S.p.A. 83

SCRUM:Cerimonie:Sprint planning

Project & Delivery Area

Il team seleziona gli elementi dal backlog di prodotto che possono completare

Lo Sprint backlog viene creatoLe attivita’ vengono identificate e ciascuna stimata (1-16 ore)

E’ un processo collaborativo, non e’ fatto solo dallo ScrumMaster

Progettazione ad alto livello

SCAI S.p.A. 84

SCRUM:Cerimonie:Daily Meeting

Project & Delivery Area

Quotidiano

SCAI S.p.A. 85

SCRUM:Cerimonie:Daily Meeting

Project & Delivery Area

Quotidiano15 minuti

SCAI S.p.A. 86

SCRUM:Cerimonie:Daily Meeting

Project & Delivery Area

Quotidiano15 minutiStand-up

SCAI S.p.A. 87

SCRUM:Cerimonie:Daily Meeting

Project & Delivery Area

Quotidiano15 minutiStand-upNon e’ il momento giusto per la soluzione dei problemi

SCAI S.p.A. 88

SCRUM:Cerimonie:Daily Meeting

Project & Delivery Area

Quotidiano15 minutiStand-upNon e’ il momento giusto per la soluzione dei problemi

Tutti sono invitati

SCAI S.p.A. 89

SCRUM:Cerimonie:Daily Meeting

Project & Delivery Area

Quotidiano15 minutiStand-upNon e’ il momento giusto per la soluzione dei problemi

Tutti sono invitatiSolo il team, SM e PO possono parlare

SCAI S.p.A. 90

SCRUM:Cerimonie:Daily Meeting

Project & Delivery Area

Quotidiano15 minutiStand-upNon e’ il momento giusto per la soluzione dei problemi

Tutti sono invitatiSolo il team, SM e PO possono parlareAiuta ad evitare incontri inutili

SCAI S.p.A. 91

SCRUM:Cerimonie:Daily Meeting::3 Domande

Project & Delivery Area

What did you do yesterday?1

SCAI S.p.A. 92

SCRUM:Cerimonie:Daily Meeting::3 Domande

Project & Delivery Area

What will you do today?2

SCAI S.p.A. 93

SCRUM:Cerimonie:Daily Meeting::3 Domande

Project & Delivery Area

Is anything in your way?3

SCAI S.p.A. 94

SCRUM:Cerimonie:Sprint Review

Project & Delivery Area

Il Team presenta quello che ha fatto durante lo sprint

SCAI S.p.A. 95

SCRUM:Cerimonie:Sprint Review

Project & Delivery Area

Il Team presenta quello che ha fatto durante lo sprint

DEMO

SCAI S.p.A. 96

SCRUM:Cerimonie:Sprint Review

Project & Delivery Area

Il Team presenta quello che ha fatto durante lo sprint

DEMOInformale

SCAI S.p.A. 97

SCRUM:Cerimonie:Sprint Review

Project & Delivery Area

Il Team presenta quello che ha fatto durante lo sprint

DEMOInformaleDurata di 2 ore

SCAI S.p.A. 98

SCRUM:Cerimonie:Sprint Review

Project & Delivery Area

Il Team presenta quello che ha fatto durante lo sprint

DEMOInformaleDurata di 2 oreNessuna diapositiva

SCAI S.p.A. 99

SCRUM:Cerimonie:Sprint Review

Project & Delivery Area

Il Team presenta quello che ha fatto durante lo sprint

DEMOInformaleDurata di 2 oreNessuna diapositivaTutta la squadra partecipa

SCAI S.p.A. 100

SCRUM:Cerimonie:Sprint Review

Project & Delivery Area

Il Team presenta quello che ha fatto durante lo sprint

DEMOInformaleDurata di 2 oreNessuna diapositivaTutta la squadra partecipaTutti sono invitati

SCAI S.p.A. 101

SCRUM:Cerimonie:Retrospettiva

Project & Delivery Area

Periodicamente ci si confronta su cosa non e’ andato

SCAI S.p.A. 102

SCRUM:Cerimonie:Retrospettiva

Project & Delivery Area

Periodicamente ci si confronta su cosa non e’ andato

Di solito dura tutta la giornata

SCAI S.p.A. 103

SCRUM:Cerimonie:Retrospettiva

Project & Delivery Area

Periodicamente ci si confronta su cosa non e’ andato

Di solito dura tutta la giornataFatto a fine sprint

SCAI S.p.A. 104

SCRUM:Cerimonie:Retrospettiva

Project & Delivery Area

Periodicamente ci si confronta su cosa non e’ andato

Di solito dura tutta la giornataFatto a fine sprintTutta la squadra partecipa

SCAI S.p.A. 105

SCRUM:Cerimonie:Retrospettiva

Project & Delivery Area

Periodicamente ci si confronta su cosa non e’ andato

Di solito dura tutta la giornataFatto a fine sprintTutta la squadra partecipaPossibilita’ di osservatori

SCAI S.p.A. 106

SCRUM:Framework

ArtefattiProduct backlogSprint backlogBurndown charts

Project & Delivery Area

SCAI S.p.A. 107

SCRUM:Artefatti:Product backlog

Project & Delivery Area

Elenco dei requisiti

SCAI S.p.A. 108

SCRUM:Artefatti:Product backlog

Project & Delivery Area

Elenco dei requisitiLista di desideri (Richieste del cliente)

SCAI S.p.A. 109

SCRUM:Artefatti:Product backlog

Project & Delivery Area

Elenco dei requisitiLista di desideri (Richieste del cliente)Ogni elemento e’ idealmente espresso in linguaggio non tecnico

SCAI S.p.A. 110

SCRUM:Artefatti:Product backlog

Project & Delivery Area

Elenco dei requisitiLista di desideri (Richieste del cliente)Ogni elemento e’ idealmente espresso in linguaggio non tecnico

Priorita’ per il P.O.

SCAI S.p.A. 111

SCRUM:Artefatti:Product backlog

Project & Delivery Area

Elenco dei requisitiLista di desideri (Richieste del cliente)Ogni elemento e’ idealmente espresso in linguaggio non tecnico

Priorita’ per il P.O.Le priorita’ vengono discusse all’inizio di ogni sprint

SCAI S.p.A. 112

SCRUM:Artefatti:Sprint backlog

Project & Delivery Area

I componenti scelgono il lavoro

SCAI S.p.A. 113

SCRUM:Artefatti:Sprint backlog

Project & Delivery Area

I componenti scelgono il lavoroIl lavoro non viene mai assegnato

SCAI S.p.A. 114

SCRUM:Artefatti:Sprint backlog

Project & Delivery Area

I componenti scelgono il lavoroIl lavoro non viene mai assegnatoIl lavoro stimato rimanente viene aggiornato quotidianamente

SCAI S.p.A. 115

SCRUM:Artefatti:Sprint backlog

Project & Delivery Area

I componenti scelgono il lavoroIl lavoro non viene mai assegnatoIl lavoro stimato rimanente viene aggiornato quotidianamente

Ogni membro del team puo’ aggiungere, eliminare o modificare il backlog sprint

SCAI S.p.A. 116

SCRUM:Artefatti:Sprint backlog

Project & Delivery Area

I componenti scelgono il lavoroIl lavoro non viene mai assegnatoIl lavoro stimato rimanente viene aggiornato quotidianamente

Ogni membro del team puo’ aggiungere, eliminare o modificare il backlog sprint

Effort per lo sprint

SCAI S.p.A. 117

SCRUM:Artefatti:Sprint backlog

Project & Delivery Area

I componenti scelgono il lavoroIl lavoro non viene mai assegnatoIl lavoro stimato rimanente viene aggiornato quotidianamente

Ogni membro del team puo’ aggiungere, eliminare o modificare il backlog sprint

Effort per lo sprintSe il task di backlog non e’ chiaro bisogna chiedere maggiore dettaglio o dividere il task se troppo complesso

SCAI S.p.A. 118

SCRUM:Artefatti:Burndown chart

Project & Delivery Area

Rappresentazione grafica delle ore necessarie al team per ogni giorno della settimana

Lun Mar Mer Gio Ven0

10

20

30

40

50

60

SCAI S.p.A. 119

SCRUM:Artefatti:Burndown chart

Project & Delivery Area

TasksCode the user interfaceCode the middle tierTest the middle tierWrite online help

Mon8

168

12

Tues Wed Thur Fri4

1216

711

81016 8

SCAI S.p.A. 120

SCRUM:Artefatti:Burndown chart

Project & Delivery Area

Hour

s

40302010

0 Mon Tue Wed Thu Fri

50

SCAI S.p.A. 121

SCRUM:Scalabilita’

Project & Delivery Area

Un tipico team e’ formato da 7 +/- 2 persone

E’ dipendente da diversi fattori:Tipo di applicazioneDimensioni del teamDispersione del teamDurata del progetto

Esistono esempi di progetti che hanno coinvolto più di 500 persone

Scrum di Scrum

SCAI S.p.A. 122Project & Delivery Area

SCAI S.p.A. 123Project & Delivery Area

SCAI S.p.A. 124

Domande

Project & Delivery Area

SCAI S.p.A. 125

Kanban

Project & Delivery Area

SCAI S.p.A. 126

Cos’e’ Kanban?

Project & Delivery Area

Kan significa visuale e ban significa carta o lavagna

SCAI S.p.A. 127

Cos’e’ Kanban?

Project & Delivery Area

Kan significa visuale e ban significa carta o lavagna

Kanban is a physical card used in Toyota Production System (TPS) to support non-centralized "pull" production control. It has spread to the manufacturing industry all over the world as a tool of Lean Manufacturing.

SCAI S.p.A. 128

Kanban Practices

Project & Delivery Area

Mappa il valore del flusso

SCAI S.p.A. 129

Kanban Practices

Project & Delivery Area

Mappa il valore del flussoOcchio particolare al lavoro

SCAI S.p.A. 130

Kanban Practices

Project & Delivery Area

Mappa il valore del flussoOcchio particolare al lavoroLimita il WIP (Work in Progress)

SCAI S.p.A. 131

Kanban Practices

Project & Delivery Area

Mappa il valore del flussoOcchio particolare al lavoroLimita il WIP (Work in Progress)Stabilisce una cadenza

SCAI S.p.A. 132

Kanban Boards

Project & Delivery Area

Source: Crisp (http://www.crisp.se/henrik.kniberg/Kanban-vs-Scrum.pdf)

SCAI S.p.A. 133

Limita il Work in Progress

Project & Delivery Area

Riduce il multi tasking

SCAI S.p.A. 134

Limita il Work in Progress

Project & Delivery Area

Riduce il multi taskingPrevenendo lo switching tra vari contesti

SCAI S.p.A. 135

Limita il Work in Progress

Project & Delivery Area

Riduce il multi taskingPrevenendo lo switching tra vari contesti

Eseguire attivita’ in sequenza aumenta la produttivita’

SCAI S.p.A. 136

Limita il Work in Progress

Project & Delivery Area

Riduce il multi taskingPrevenendo lo switching tra vari contesti

Eseguire attivita’ in sequenza aumenta la produttivita’

Massimizzazione della produttivita’

SCAI S.p.A. 137

Limita il Work in Progress

Project & Delivery Area

Riduce il multi taskingPrevenendo lo switching tra vari contesti

Eseguire attivita’ in sequenza aumenta la produttivita’

Massimizzazione della produttivita’Migliora il lavoro di squadra

SCAI S.p.A. 138

Limita il Work in Progress

Project & Delivery Area

Riduce il multi taskingPrevenendo lo switching tra vari contesti

Eseguire attivita’ in sequenza aumenta la produttivita’

Massimizzazione della produttivita’Migliora il lavoro di squadra

Lavorare insieme per fare le cose ben fatte

SCAI S.p.A. 139

Limita il Work in Progress

Project & Delivery Area

Riduce il multi taskingPrevenendo lo switching tra vari contesti

Eseguire attivita’ in sequenza aumenta la produttivita’

Massimizzazione della produttivita’Migliora il lavoro di squadra

Lavorare insieme per fare le cose ben fatte

Aumenta le cross-functionality

SCAI S.p.A. 140

Pull, Don’t Push

Project & Delivery Area

SCAI S.p.A. 141

WIP Limite Strategico

Project & Delivery Area

Partiamo con valori iniziali:

SCAI S.p.A. 142

WIP Limite Strategico

Project & Delivery Area

Partiamo con valori iniziali:Piccole costanti

SCAI S.p.A. 143

WIP Limite Strategico

Project & Delivery Area

Partiamo con valori iniziali:Piccole costantiNumero di sviluppatori

SCAI S.p.A. 144

WIP Limite Strategico

Project & Delivery Area

Partiamo con valori iniziali:Piccole costantiNumero di sviluppatoriNumero di tester

SCAI S.p.A. 145

WIP Limite Strategico

Project & Delivery Area

Partiamo con valori iniziali:Piccole costantiNumero di sviluppatoriNumero di tester

Misuriamo il tempo medio per completare un task:

SCAI S.p.A. 146

WIP Limite Strategico

Project & Delivery Area

Partiamo con valori iniziali:Piccole costantiNumero di sviluppatoriNumero di tester

Misuriamo il tempo medio per completare un task:Ottimizziamo per renderlo il piu’ piccolo e prevedibile possibile

SCAI S.p.A. 147

WIP Limite Strategico

Project & Delivery Area

Partiamo con valori iniziali:Piccole costantiNumero di sviluppatoriNumero di tester

Misuriamo il tempo medio per completare un task:Ottimizziamo per renderlo il piu’ piccolo e prevedibile possibile

Adattiamo ai nostri limiti

SCAI S.p.A. 148

La Cadenza

Project & Delivery Area

“A regular cadence, or heartbeat, establishes the capability of a team to reliably deliver working software at a dependable velocity. An organization that delivers at a regular cadence has established its process capability and can easily measure its capacity.”

SCAI S.p.A. 149

Kanban Metrics

Project & Delivery Area

Stories in progress (SIP) When story enters stories queue set

entry date (ED) When story enters first process step set

start processing date (SPD) When story is done set finish date (FD) Cycle time (CT) = FD – SPD Waiting time (WT) = SPD – ED Throughput (T) = SIP / CT

SCAI S.p.A. 150

Workflow Diagram

Project & Delivery Area

SCAI S.p.A. 151

Kanban:5 Ragioni errate per applicare Kanban

Project & Delivery Area

User stories diversity

SCAI S.p.A. 152

Kanban:5 Ragioni errate per applicare Kanban

Project & Delivery Area

User stories diversity User stories vary in size a lot, large stories don’t

feet into an iteration

SCAI S.p.A. 153

Kanban:5 Ragioni errate per applicare Kanban

Project & Delivery Area

User stories diversity User stories vary in size a lot, large stories don’t

feet into an iteration Failed iterations

SCAI S.p.A. 154

Kanban:5 Ragioni errate per applicare Kanban

Project & Delivery Area

User stories diversity User stories vary in size a lot, large stories don’t

feet into an iteration Failed iterations

Many stories are not completed in a single iteration

SCAI S.p.A. 155

Kanban:5 Ragioni errate per applicare Kanban

Project & Delivery Area

User stories diversity User stories vary in size a lot, large stories don’t

feet into an iteration Failed iterations

Many stories are not completed in a single iteration

Failed retrospective meetings

SCAI S.p.A. 156

Kanban:5 Ragioni errate per applicare Kanban

Project & Delivery Area

User stories diversity User stories vary in size a lot, large stories don’t

feet into an iteration Failed iterations

Many stories are not completed in a single iteration

Failed retrospective meetings Retrospective meetings are waste

SCAI S.p.A. 157

Kanban:5 Ragioni errate per applicare Kanban

Project & Delivery Area

User stories diversity User stories vary in size a lot, large stories don’t

feet into an iteration Failed iterations

Many stories are not completed in a single iteration

Failed retrospective meetings Retrospective meetings are waste

Shared people

SCAI S.p.A. 158

Kanban:5 Ragioni errate per applicare Kanban

Project & Delivery Area

User stories diversity User stories vary in size a lot, large stories don’t

feet into an iteration Failed iterations

Many stories are not completed in a single iteration

Failed retrospective meetings Retrospective meetings are waste

Shared people We have a single pool of developers for some

projects

SCAI S.p.A. 159

Kanban:5 Ragioni errate per applicare Kanban

Project & Delivery Area

User stories diversity User stories vary in size a lot, large stories don’t

feet into an iteration Failed iterations

Many stories are not completed in a single iteration

Failed retrospective meetings Retrospective meetings are waste

Shared people We have a single pool of developers for some

projects Simplicity

SCAI S.p.A. 160

Kanban:5 Ragioni errate per applicare Kanban

Project & Delivery Area

User stories diversity User stories vary in size a lot, large stories don’t

feet into an iteration Failed iterations

Many stories are not completed in a single iteration

Failed retrospective meetings Retrospective meetings are waste

Shared people We have a single pool of developers for some

projects Simplicity

Kanban is so simple, no planning, no retrospectives, no estimations

SCAI S.p.A. 161

Kanban:5 Ragioni per applicare Kanban

Project & Delivery Area

Ability to release anytime

SCAI S.p.A. 162

Kanban:5 Ragioni per applicare Kanban

Project & Delivery Area

Ability to release anytime When user story is ready you may release it

SCAI S.p.A. 163

Kanban:5 Ragioni per applicare Kanban

Project & Delivery Area

Ability to release anytime When user story is ready you may release it

Ability to change priorities on the fly

SCAI S.p.A. 164

Kanban:5 Ragioni per applicare Kanban

Project & Delivery Area

Ability to release anytime When user story is ready you may release it

Ability to change priorities on the fly Not started stories queue is always changeable

SCAI S.p.A. 165

Kanban:5 Ragioni per applicare Kanban

Project & Delivery Area

Ability to release anytime When user story is ready you may release it

Ability to change priorities on the fly Not started stories queue is always changeable

No need in iterations

SCAI S.p.A. 166

Kanban:5 Ragioni per applicare Kanban

Project & Delivery Area

Ability to release anytime When user story is ready you may release it

Ability to change priorities on the fly Not started stories queue is always changeable

No need in iterations Iterate first then flow

SCAI S.p.A. 167

Kanban:5 Ragioni per applicare Kanban

Project & Delivery Area

Ability to release anytime When user story is ready you may release it

Ability to change priorities on the fly Not started stories queue is always changeable

No need in iterations Iterate first then flow

No need to estimate

SCAI S.p.A. 168

Kanban:5 Ragioni per applicare Kanban

Project & Delivery Area

Ability to release anytime When user story is ready you may release it

Ability to change priorities on the fly Not started stories queue is always changeable

No need in iterations Iterate first then flow

No need to estimate Release when it is ready, do most important story

SCAI S.p.A. 169

Kanban:5 Ragioni per applicare Kanban

Project & Delivery Area

Ability to release anytime When user story is ready you may release it

Ability to change priorities on the fly Not started stories queue is always changeable

No need in iterations Iterate first then flow

No need to estimate Release when it is ready, do most important story

Perfect flow visualization

SCAI S.p.A. 170

Kanban:5 Ragioni per applicare Kanban

Project & Delivery Area

Ability to release anytime When user story is ready you may release it

Ability to change priorities on the fly Not started stories queue is always changeable

No need in iterations Iterate first then flow

No need to estimate Release when it is ready, do most important story

Perfect flow visualization Clear view of current work in progress

SCAI S.p.A. 171

Kanban:When no Need in Iterations?

Project & Delivery Area

Ability to release anytime

SCAI S.p.A. 172

Kanban:When no Need in Iterations?

Project & Delivery Area

Ability to release anytime When user story is ready you may release it

SCAI S.p.A. 173

Kanban:When no Need in Iterations?

Project & Delivery Area

Ability to release anytime When user story is ready you may release it

Ability to change priorities on the fly

SCAI S.p.A. 174

Kanban:When no Need in Iterations?

Project & Delivery Area

Ability to release anytime When user story is ready you may release it

Ability to change priorities on the fly Not started stories queue is always changeable

SCAI S.p.A. 175

Kanban:When no Need in Iterations?

Project & Delivery Area

Ability to release anytime When user story is ready you may release it

Ability to change priorities on the fly Not started stories queue is always changeable

No need in iterations

SCAI S.p.A. 176

Kanban:When no Need in Iterations?

Project & Delivery Area

Ability to release anytime When user story is ready you may release it

Ability to change priorities on the fly Not started stories queue is always changeable

No need in iterations Iterate first then flow

SCAI S.p.A. 177

Kanban:When no Need in Iterations?

Project & Delivery Area

Ability to release anytime When user story is ready you may release it

Ability to change priorities on the fly Not started stories queue is always changeable

No need in iterations Iterate first then flow

No need to estimate

SCAI S.p.A. 178

Kanban:When no Need in Iterations?

Project & Delivery Area

Ability to release anytime When user story is ready you may release it

Ability to change priorities on the fly Not started stories queue is always changeable

No need in iterations Iterate first then flow

No need to estimate Release when it is ready, do most important story

SCAI S.p.A. 179

Kanban:When no Need in Iterations?

Project & Delivery Area

Ability to release anytime When user story is ready you may release it

Ability to change priorities on the fly Not started stories queue is always changeable

No need in iterations Iterate first then flow

No need to estimate Release when it is ready, do most important story

Perfect flow visualization

SCAI S.p.A. 180

Kanban:When no Need in Iterations?

Project & Delivery Area

Ability to release anytime When user story is ready you may release it

Ability to change priorities on the fly Not started stories queue is always changeable

No need in iterations Iterate first then flow

No need to estimate Release when it is ready, do most important story

Perfect flow visualization Clear view of current work in progress

SCAI S.p.A. 181

Kanban:When no Need to Estimate?

Project & Delivery Area

You are new to the project

SCAI S.p.A. 182

Kanban:When no Need to Estimate?

Project & Delivery Area

You are new to the project Estimations don’t change plans

SCAI S.p.A. 183

Kanban:When no Need to Estimate?

Project & Delivery Area

You are new to the project Estimations don’t change plans Velocity is not taken into account

SCAI S.p.A. 184

Kanban:When no Need to Estimate?

Project & Delivery Area

You are new to the project Estimations don’t change plans Velocity is not taken into account Team is very experienced in breaking tasks

SCAI S.p.A. 185

Kanban:When no Need to Estimate?

Project & Delivery Area

You are new to the project Estimations don’t change plans Velocity is not taken into account Team is very experienced in breaking tasks Average cycle time is enough for the customer

SCAI S.p.A. 186

Kanban:Esempio

Project & Delivery Area

1

2

Source: Crisp (http://www.crisp.se/henrik.kniberg/Kanban-vs-Scrum.pdf)

SCAI S.p.A. 187

Kanban:Esempio

Project & Delivery Area

Source: Crisp (http://www.crisp.se/henrik.kniberg/Kanban-vs-Scrum.pdf)

3

4

SCAI S.p.A. 188

Kanban:Esempio

Project & Delivery Area

Source: Crisp (http://www.crisp.se/henrik.kniberg/Kanban-vs-Scrum.pdf)

5

6

SCAI S.p.A. 189

Kanban:Esempio

Project & Delivery Area

Source: Crisp (http://www.crisp.se/henrik.kniberg/Kanban-vs-Scrum.pdf)

7

8

SCAI S.p.A. 190

Kanban:Esempio

Project & Delivery Area

Source: Crisp (http://www.crisp.se/henrik.kniberg/Kanban-vs-Scrum.pdf)

9

10

SCAI S.p.A. 191

Kanban:Esempio

Project & Delivery Area

Source: Crisp (http://www.crisp.se/henrik.kniberg/Kanban-vs-Scrum.pdf)

11

12

SCAI S.p.A. 192

Kanban per il P.O.

Project & Delivery Area

New Prioritized buffer Unlimited size

Preparing Work in Progress Limited to PO capacity Cycle time Promotion model

Ready Prioritized buffer 1-2 Team Velocity

In Progress Work in Progress Limited to Team WIP limit

SCAI S.p.A. 193

Kanban:Best Practices

Project & Delivery Area

Bugs get top priority

SCAI S.p.A. 194

Kanban:Best Practices

Project & Delivery Area

Bugs get top priority Set so minimal WIP as possible

SCAI S.p.A. 195

Kanban:Best Practices

Project & Delivery Area

Bugs get top priority Set so minimal WIP as possible Stories should be ”minimal marketable

features”

SCAI S.p.A. 196

Kanban:Best Practices

Project & Delivery Area

Bugs get top priority Set so minimal WIP as possible Stories should be ”minimal marketable

features” Create separate column with goals

SCAI S.p.A. 197

Kanban:Best Practices

Project & Delivery Area

Bugs get top priority Set so minimal WIP as possible Stories should be ”minimal marketable

features” Create separate column with goals Add Scrum practices (daily scrum,

retrospectives, demos)

SCAI S.p.A. 198

Kanban:Best Practices

Project & Delivery Area

Bugs get top priority Set so minimal WIP as possible Stories should be ”minimal marketable

features” Create separate column with goals Add Scrum practices (daily scrum,

retrospectives, demos) Add XP engineering practices

SCAI S.p.A. 199

Uses Stories Mapping

Project & Delivery Area

SCAI S.p.A. 200

Kanban:Issues

Project & Delivery Area

Mancanza di goal e di focus

SCAI S.p.A. 201

Kanban:Issues

Project & Delivery Area

Mancanza di goal e di focus Meno prevedibilita’

SCAI S.p.A. 202

Kanban:Issues

Project & Delivery Area

Mancanza di goal e di focus Meno prevedibilita’ Meno livello di impegno

SCAI S.p.A. 203

Kanban:Issues

Project & Delivery Area

Mancanza di goal e di focus Meno prevedibilita’ Meno livello di impegno Disciplina

SCAI S.p.A. 204

Kanban:Caso reale

Project & Delivery Area

SCAI S.p.A. 205

Domande

Project & Delivery Area

SCAI S.p.A. 206

Scrum vs Kanban

Project & Delivery Area

Kanban e’ meno prescrittivo

SCAI S.p.A. 207

Scrum vs Kanban

Project & Delivery Area

Task flowSource: Crisp (http://www.crisp.se/henrik.kniberg/Kanban-vs-Scrum.pdf)

Scrum

Kanban

SCAI S.p.A. 208

Scrum vs Kanban

Project & Delivery Area

CadenzaSource: Crisp (http://www.crisp.se/henrik.kniberg/Kanban-vs-Scrum.pdf)

Scrum

Kanban

SCAI S.p.A. 209

Scrum vs Kanban:Somiglianza

Project & Delivery Area

Sono Lean ed Agile

SCAI S.p.A. 210

Scrum vs Kanban:Somiglianza

Project & Delivery Area

Sono Lean ed Agile Utilizzano la schedulazione dei task

SCAI S.p.A. 211

Scrum vs Kanban:Somiglianza

Project & Delivery Area

Sono Lean ed Agile Utilizzano la schedulazione dei task Entrambi limitano il WIP

SCAI S.p.A. 212

Scrum vs Kanban:Somiglianza

Project & Delivery Area

Sono Lean ed Agile Utilizzano la schedulazione dei task Entrambi limitano il WIP Trasparenza per monitorare e

migliorare i processi

SCAI S.p.A. 213

Scrum vs Kanban:Somiglianza

Project & Delivery Area

Sono Lean ed Agile Utilizzano la schedulazione dei task Entrambi limitano il WIP Trasparenza per monitorare e

migliorare i processi Focus su rilasci frequenti

SCAI S.p.A. 214

Scrum vs Kanban:Somiglianza

Project & Delivery Area

Sono Lean ed Agile Utilizzano la schedulazione dei task Entrambi limitano il WIP Trasparenza per monitorare e

migliorare i processi Focus su rilasci frequenti Gruppi auto-organizzati

SCAI S.p.A. 215

Scrum vs Kanban:Somiglianza

Project & Delivery Area

Sono Lean ed Agile Utilizzano la schedulazione dei task Entrambi limitano il WIP Trasparenza per monitorare e

migliorare i processi Focus su rilasci frequenti Gruppi auto-organizzati Task

SCAI S.p.A. 216

Scrum vs Kanban:Differenze

Project & Delivery Area

ScrumBan

SCAI S.p.A. 217

Applicazione della tecnica Kanban nel ambito del Framework Scrum (Scrum non limita gli item per stato in quanto ha un numero totale di item limitato, limita il tempo) Rappresentazione visiva delle operazioni:

Da svolgere In svolgimentoConcluse

Project & Delivery Area

SCAI S.p.A. 218

Domande

Project & Delivery Area

SCAI S.p.A. 219

Extreme Programming

Project & Delivery Area

An agile development methodology

SCAI S.p.A. 220

Extreme Programming: What is XP?

Project & Delivery Area

An agile development methodology Created by Kent Beck in the mid 1990’s

SCAI S.p.A. 221

Extreme Programming: What is XP?

Project & Delivery Area

An agile development methodology Created by Kent Beck in the mid 1990’s A set of 12 key practices taken to their

“extremes”

SCAI S.p.A. 222

Extreme Programming: What is XP?

Project & Delivery Area

An agile development methodology Created by Kent Beck in the mid 1990’s A set of 12 key practices taken to their

“extremes” A mindset for developers and

customers

SCAI S.p.A. 223

Extreme Programming: What is XP?

Project & Delivery Area

An agile development methodology Created by Kent Beck in the mid 1990’s A set of 12 key practices taken to their

“extremes” A mindset for developers and

customers A religion?

SCAI S.p.A. 224

Extreme Programming: What is XP?

Project & Delivery Area

SCAI S.p.A. 225

Extreme Programming

Project & Delivery Area

Customer

Developers

communicationsimplicityfeedbackcourage

XP values

planning gameshort releasessimple designtest-first codingrefactoringpair programmingcontinouos integrationno overtimeon-site customercoding standard

XP practices

The Planning Game Small Releases Metaphor Simple Design Testing Refactoring Pair Programming Collective Ownership Continuous Integration 40-Hour Workweek On-site Customer Coding Standards

SCAI S.p.A. 226

Extreme Programming: The 12 Practices

Project & Delivery Area

Planning for the upcoming iteration Uses stories provided by the customer Technical persons determine schedules,

estimates, costs, etc A result of collaboration between the

customer and the developers

SCAI S.p.A. 227

Extreme Programming: 1 – Planning Game

Project & Delivery Area

Reduction in time wasted on useless features

Greater customer appreciation of the cost of a feature

Less guesswork in planning

SCAI S.p.A. 228

Extreme Programming: 1 – Planning Game - Advantages

Project & Delivery Area

Customer availability Is planning this often necessary?

SCAI S.p.A. 229

Extreme Programming: 1 – Planning Game - Disadvantages

Project & Delivery Area

Small in terms of functionality Less functionality means releases

happen more frequently Support the planning game

SCAI S.p.A. 230

Extreme Programming: 2 – Small Releases

Project & Delivery Area

Frequent feedback Tracking Reduce chance of overall project

slippage

SCAI S.p.A. 231

Extreme Programming: 2 – Small Releases - Advantages

Project & Delivery Area

Not easy for all projects Not needed for all projects Versioning issues

SCAI S.p.A. 232

Extreme Programming: 2 – Small Releases - Disadvantages

Project & Delivery Area

The oral architecture of the system A common set of terminology

SCAI S.p.A. 233

Extreme Programming: 3 – Metaphor

Project & Delivery Area

Encourages a common set of terms for the system

Reduction of buzz words and jargon A quick and easy way to explain the

system

SCAI S.p.A. 234

Extreme Programming: 3 – Metaphor - Advantages

Project & Delivery Area

Often the metaphor is the system Another opportunity for

miscommunication The system is often not well understood

as a metaphor

SCAI S.p.A. 235

Extreme Programming: 3 – Metaphor - Disadvantages

Project & Delivery Area

K.I.S.S. “Keep It Simple, Stupid!” Do as little as needed, nothing more

SCAI S.p.A. 236

Extreme Programming: 4 – Simple Design

Project & Delivery Area

Time is not wasted adding superfluous functionality

Easier to understand what is going on Refactoring and collective ownership is

made possible Helps keeps programmers on track

SCAI S.p.A. 237

Extreme Programming: 4 – Simple Design - Advantages

Project & Delivery Area

What is “simple?” Simple isn’t always best

SCAI S.p.A. 238

Extreme Programming: 4 – Simple Design - Disadvantages

Project & Delivery Area

Unit testing Test-first design All automated

SCAI S.p.A. 239

Extreme Programming: 5 – Testing

Project & Delivery Area

Unit testing promote testing completeness

Test-first gives developers a goal Automation gives a suite of regression

test

SCAI S.p.A. 240

Extreme Programming: 5 – Testing - Advantages

Project & Delivery Area

Automated unit testing isn’t for everything

Reliance on unit testing isn’t a good idea

A test result is only as good as the test itself

SCAI S.p.A. 241

Extreme Programming: 5 – Testing - Disadvantages

Project & Delivery Area

Extreme Programming: 6 – Refactoring

Changing how the system does something but not what is done

Improves the quality of the system in some way

Project & Delivery Area SCAI S.p.A. 242

Extreme Programming: 6 - Refactoring – Advantages

Prompts developers to proactively improve the product as a whole

Increases developer knowledge of the system

SCAI S.p.A. 243Project & Delivery Area

Extreme Programming: 6 - Refactoring – Disadvantages

Not everyone is capable of refactoring Refactoring may not always be

appropriate Would upfront design eliminate

refactoring?

SCAI S.p.A. 244Project & Delivery Area

Extreme Programming: 7 – Pair Programming

Two Developers, One monitor, One Keyboard

One “drives” and the other thinks Switch roles as needed

SCAI S.p.A. 245Project & Delivery Area

Extreme Programming: 7 - Pair Programming – Advantages

Two heads are better than one Focus Two people are more likely to answer

the following questions: Is this whole approach going to

work? What are some test cases that may

not work yet? Is there a way to simplify this?

SCAI S.p.A. 246Project & Delivery Area

Extreme Programming: 7 - Pair Programming – Disadvantages

Many tasks really don’t require two programmers

A hard sell to the customers Not for everyone

SCAI S.p.A. 247Project & Delivery Area

Extreme Programming: 8 – Collective Ownership

The idea that all developers own all of the code

Enables refactoring

SCAI S.p.A. 248Project & Delivery Area

Extreme Programming: 8 - Collective Ownership – Advantages

Helps mitigate the loss of a team member leaving

Promotes developers to take responsibility for the system as a whole rather then parts of the system

SCAI S.p.A. 249Project & Delivery Area

Extreme Programming: 8 - Collective Ownership - Disadvantages

Loss of accountability Limitation to how much of a large

system that an individual can practically “own”

SCAI S.p.A. 250Project & Delivery Area

Extreme Programming: 9 – Continuous Integration

New features and changes are worked into the system immediately

Code is not worked on without being integrated for more than a day

SCAI S.p.A. 251Project & Delivery Area

Extreme Programming: 9 - Continuous Integration - Advantages

Reduces to lengthy process Enables the Small Releases practice

SCAI S.p.A. 252Project & Delivery Area

Extreme Programming: 9 - Continuous Integration – Disadvantages

The one day limit is not always practical

Reduces the importance of a well-thought-out architecture

SCAI S.p.A. 253Project & Delivery Area

Extreme Programming: 10 – 40-Hour Week

The work week should be limited to 40 hours

Regular overtime is a symptom of a problem and not a long term solution

SCAI S.p.A. 254Project & Delivery Area

Extreme Programming: 10 - 40-Hour Week – Advantage

Most developers lose effectiveness past 40-Hours

Value is placed on the developers well-being

Management is forced to find real solutions

SCAI S.p.A. 255Project & Delivery Area

Extreme Programming: 10 - 40-Hour Week - Disadvantages

The underlying principle is flawed 40-Hours is a magic number Some may like to work more than 40-

Hours

SCAI S.p.A. 256Project & Delivery Area

Extreme Programming: 11 – On-Site Customer

Just like the title says! Acts to “steer” the project Gives quick and continuous feedback

to the development team

SCAI S.p.A. 257Project & Delivery Area

Extreme Programming: 11 - On-Site Customer – Advantages

Can give quick and knowledgeable answers to real development questions

Makes sure that what is developed is what is needed

Functionality is prioritized correctly

SCAI S.p.A. 258Project & Delivery Area

Extreme Programming: 11 - On-Site Customer – Disadvantages

Difficult to get an On-Site Customer The On-Site customer that is given

may not be fully knowledgeable about what the company

May not have authority to make many decisions

Loss of work to the customer’s company

SCAI S.p.A. 259Project & Delivery Area

Extreme Programming: 12 – Coding Standards

All code should look the same It should not possible to determine

who coded what based on the code itself

SCAI S.p.A. 260Project & Delivery Area

Extreme Programming: 12 - Coding Standards – Advantages

Reduces the amount of time developers spend reformatting other peoples’ code

Reduces the need for internal commenting

Call for clear, unambiguous code

SCAI S.p.A. 261Project & Delivery Area

Extreme Programming: 12 - Coding Standards – Disadvantages

Degrading the quality of inline documentation

SCAI S.p.A. 262Project & Delivery Area

Extreme Programming - Manager and Customer Bill of Rights

You have the right to an overall plan, to know what can be accomplished, when, and at what cost.

SCAI S.p.A. 263Project & Delivery Area

Extreme Programming - Manager and Customer Bill of Rights

You have the right to an overall plan, to know what can be accomplished, when, and at what cost.

You have the right to get the most value out of every programming week.

SCAI S.p.A. 264Project & Delivery Area

Extreme Programming - Manager and Customer Bill of Rights

You have the right to an overall plan, to know what can be accomplished, when, and at what cost.

You have the right to get the most value out of every programming week.

You have the right to see progress in a running system, proven to work by passing repeatable tests that you specify.

SCAI S.p.A. 265Project & Delivery Area

Extreme Programming - Manager and Customer Bill of Rights

You have the right to an overall plan, to know what can be accomplished, when, and at what cost.

You have the right to get the most value out of every programming week.

You have the right to see progress in a running system, proven to work by passing repeatable tests that you specify.

You have the right to change your mind, to substitute functionality, and to change priorities without paying exorbitant costs.

SCAI S.p.A. 266Project & Delivery Area

Extreme Programming - Manager and Customer Bill of Rights

You have the right to an overall plan, to know what can be accomplished, when, and at what cost.

You have the right to get the most value out of every programming week.

You have the right to see progress in a running system, proven to work by passing repeatable tests that you specify.

You have the right to change your mind, to substitute functionality, and to change priorities without paying exorbitant costs.

You have the right to be informed of schedule changes, in time to choose how to reduce scope to restore the original date. You can cancel at any time and be left with a useful working system, reflecting investment to date.

SCAI S.p.A. 267Project & Delivery Area

Extreme Programming - Programmer Bill Of Rights

You have the right to know what is needed, with clear declarations of priority.

SCAI S.p.A. 268Project & Delivery Area

Extreme Programming - Programmer Bill Of Rights

You have the right to know what is needed, with clear declarations of priority.

You have the right to produce quality work at all times.

SCAI S.p.A. 269Project & Delivery Area

Extreme Programming - Programmer Bill Of Rights

You have the right to know what is needed, with clear declarations of priority.

You have the right to produce quality work at all times.

You have the right to ask for and receive help from peers, superiors, and customers.

SCAI S.p.A. 270Project & Delivery Area

Extreme Programming - Programmer Bill Of Rights

You have the right to know what is needed, with clear declarations of priority.

You have the right to produce quality work at all times.

You have the right to ask for and receive help from peers, superiors, and customers.

You have the right to make and update your own estimates.

SCAI S.p.A. 271Project & Delivery Area

Extreme Programming - Programmer Bill Of Rights

You have the right to know what is needed, with clear declarations of priority.

You have the right to produce quality work at all times.

You have the right to ask for and receive help from peers, superiors, and customers.

You have the right to make and update your own estimates.

You have the right to accept your responsibilities instead of having them assigned to you.

SCAI S.p.A. 272Project & Delivery Area

Extreme Programming - Advantages

Built-In Quality

SCAI S.p.A. 273Project & Delivery Area

Extreme Programming - Advantages

Built-In Quality Overall Simplicity

SCAI S.p.A. 274Project & Delivery Area

Extreme Programming - Advantages

Built-In Quality Overall Simplicity Programmer Power

SCAI S.p.A. 275Project & Delivery Area

Extreme Programming - Advantages

Built-In Quality Overall Simplicity Programmer Power Customer Power

SCAI S.p.A. 276Project & Delivery Area

Extreme Programming - Advantages

Built-In Quality Overall Simplicity Programmer Power Customer Power Synergy Between Practices

SCAI S.p.A. 277Project & Delivery Area

Extreme Programming - Disadvantages

Informal, little, or no documentation

SCAI S.p.A. 278Project & Delivery Area

Extreme Programming - Disadvantages

Informal, little, or no documentation Scalability

SCAI S.p.A. 279Project & Delivery Area

Extreme Programming - Disadvantages

Informal, little, or no documentation Scalability Contract Issues

SCAI S.p.A. 280Project & Delivery Area

Extreme Programming - Disadvantages

Informal, little, or no documentation Scalability Contract Issues Misconception on the cost of change

SCAI S.p.A. 281Project & Delivery Area

Extreme Programming - Disadvantages

Informal, little, or no documentation Scalability Contract Issues Misconception on the cost of change Tailoring

SCAI S.p.A. 282Project & Delivery Area

Extreme Programming - Application – Advantageous

Highly uncertain environments

SCAI S.p.A. 283Project & Delivery Area

Extreme Programming - Application – Advantageous

Highly uncertain environments Internal projects

SCAI S.p.A. 284Project & Delivery Area

Extreme Programming - Application – Advantageous

Highly uncertain environments Internal projects Joint ventures

SCAI S.p.A. 285Project & Delivery Area

Extreme Programming - Application – Disadvantageous

Large, complex environments

SCAI S.p.A. 286Project & Delivery Area

Extreme Programming - Application – Disadvantageous

Large, complex environments Safety critical situations

SCAI S.p.A. 287Project & Delivery Area

Extreme Programming - Application – Disadvantageous

Large, complex environments Safety critical situations Well understood requirements

SCAI S.p.A. 288Project & Delivery Area

Extreme Programming - Application – Disadvantageous

Large, complex environments Safety critical situations Well understood requirements Distant or unavailable customer

SCAI S.p.A. 289Project & Delivery Area

Extreme Programming - Who benefits from XP?

get clear requirements & priorities

can do a good job can make technical

decisions don’t work overtime

get most business value first get accurate feedback can make informed business

decisions can change their mind

Programmers: Customers:

SCAI S.p.A. 290Project & Delivery Area

SCAI S.p.A. 291

Domande

Project & Delivery Area

… IN THE CONTEXT

Le agile methodologies vengono considerate come condizione necessaria e sufficiente per portare a termine e con SUCCESSO un progetto.

PURTROPPO QUESTO NON E’ CORRETTO!!!

SCAI S.p.A. 292Project & Delivery Area

… IN THE CONTEXT

Si possono seguire tutte le pratichi agili (essere il “guro” delle metodologie) e FALLIRE. Il fallimento puo’ essere dovuto alle condizioni ereditate dal team e dall’azienda

SCAI S.p.A. 293Project & Delivery Area

… IN THE CONTEXT

Affinche’ un progetto abbia successo, e’ necessario che tutti remino nella stessa direzione e che in aggiunta ogni team abbia gli attributi fondamentali, come ad esempio le competenze degli sviluppatori, la conoscenza del business da parte del P.O., etc.

SCAI S.p.A. 294Project & Delivery Area

… IN THE CONTEXT

Analogamente un progetto software puo’ avere successo anche senza usare nessuna pratica agile. Se tutto va bene in questo modo, sono il primo a dire: “continuate in questa direzione, magari aggiungendo qualche processo che possa giovare e non distruggere il progetto”.

SCAI S.p.A. 295Project & Delivery Area

… IN THE CONTEXT

Non scegliete di cambiare il proprio modus operandi per un capriccio o per una moda, si rischiera’ di portare solo problemi

SCAI S.p.A. 296Project & Delivery Area

SCAI S.p.A. 297Project & Delivery Area

There are no best practices...

Only good practices...

IN THE CONTEXT...

Non dimenticate!!!

ANY process or methodology (that is not actively destructive), applied to a skilled,disciplined, high-functioning,

motivated team, will succeed, regardless of the process.

Likewise, any process applied to a low-functioning team will likely fail.

SCAI S.p.A. 298Project & Delivery Area

SCAI S.p.A. 299

Domande

Project & Delivery Area

SCAI S.p.A. 300

Grazie

Project & Delivery Area

SCAI S.p.A. 301

Workshop:Cooking

Project & Delivery Area

SCAI S.p.A. 302

Workshop:Cooking

Project & Delivery Area

Pizza Kanban

SCAI S.p.A. 303

Workshop:Cooking

Project & Delivery Area

Durata:Turni da 10 minutiRetrospettiva

SCAI S.p.A. 304

Workshop:Cooking

Project & Delivery Area

Ingredienti pizza1 base3 fette di mozzarella3 fette di prosciutto

SCAI S.p.A. 305

Workshop:Cooking

Project & Delivery Area

Punteggio:Ogni pizza vale 5 puntiProdotti non usati: -Punti

Base di pizza non usata -2 punti - 0.5 per ogni pezzo di prosciutto o

mozzarella avanzati

top related