agile fundamentals - davide roitero -...

Post on 26-May-2020

1 Views

Category:

Documents

0 Downloads

Preview:

Click to see full reader

TRANSCRIPT

Febbraio 2018Davideluca.roitero@gmail.com

Agile Agile Agile Agile IntroductionIntroductionIntroductionIntroduction

Ingegneria del software UNIPI

Febbraio 2018Davideluca.roitero@gmail.com 1

Team BuildingTeam BuildingTeam BuildingTeam Building

Davide Roitero

55 anni ben portati, informatico da circa 40.

Ho conosciuto Agile nel 2010, ne sonorimasto affascinato e, da allora, non ci siamopiù separati.

Sono Agile Coach in una grande azienda eseguo la componente metodologica deiprogetti.

Il gessato lo indosso solo perché sfina il miofisico da Obelix e nel mio tempo libero, perrilassarmi, produco ottimi gorgonzola.

Febbraio 2018Davideluca.roitero@gmail.com 2

Perché sono qui oggiPerché sono qui oggiPerché sono qui oggiPerché sono qui oggi

Potremmo limitarci a imparare qualcosa, e già non sarebbe poco,ma io, da quando lavoro con Agile, sono più protagonista delle miegiornate e più contento di alzarmi al mattino per andare a lavorare.

Vorrei che anche per voi, almeno tentativamente, fosse lo stesso.

E’ un obiettivo ambizioso? Probabilmente si ma mi pare l’unicaragione intelligente per essere qui oggi.

Se ci sarò riuscito me lo direte tra un bel po’ di tempo.

La mia email è qui sotto.

Febbraio 2018Davideluca.roitero@gmail.com 3

Parliamo di Agile al fine di ….Parliamo di Agile al fine di ….Parliamo di Agile al fine di ….Parliamo di Agile al fine di ….

«al fine di …» sono tre parole ma a me hanno cambiato modo dipensare e lavorare.

Agile ci chiede di pensare sempre per chi e perché facciamo unosviluppo software e spesso questo ci aiuta a trovare la stradamigliore. Io lo applico a ogni cosa che faccio.

Parliamo di Agile per conoscere un altro modo di fare progetti, peravere nella nostra cassetta qualche attrezzo in più da usareall’occorrenza.

Ne parliamo anche perché viviamo in un mondo veloce e complessoe Agile è particolarmente a suo agio in questo contesto.

Febbraio 2018Davideluca.roitero@gmail.com 4

Agile Ways of WorkAgile Ways of WorkAgile Ways of WorkAgile Ways of Work

Febbraio 2018Davideluca.roitero@gmail.com 5

Agile nasce da Lean Agile nasce da Lean Agile nasce da Lean Agile nasce da Lean ThinkingThinkingThinkingThinking

Il Lean Thinking (Pensare Snello) è una strategia operativa nata dalmondo automotive (in Toyota) ma oggi universalmente applicata insettori e ambiti diversi per aumentare l’efficienza ed eliminare glisprechi.

È una strategia operativa perché racchiude, insiemeall’inquadramento sul pensiero e sulle teorie organizzative, anchel’approccio pratico (il lavoro umano che serve per realizzare laconversione snella).

I principi su cui si basa il Lean Thinking sono semplici: il punto dipartenza è l’identificazione degli sprechi per poi eliminarli eprodurre di più con un minor consumo di risorse.

Febbraio 2018Davideluca.roitero@gmail.com 6

Lean Lean Lean Lean ThinkingThinkingThinkingThinking

Lean Thinking è una filosofia produttiva che ricerca la perfezione.

Lean Thinking è un sistema di lavoro che cerca di ridurre il tempo tral’idea e la vendita

Febbraio 2018Davideluca.roitero@gmail.com 7

I principi del Lean I principi del Lean I principi del Lean I principi del Lean ThinkingThinkingThinkingThinking

Identificare ciò che vale (value) individuare ciò per cui i clienti sono disposti a

pagare un prezzo

Identificare il flusso del valore (value stream) allineare le attività che

creano valore nella giusta sequenza

Far scorrere il flusso del valore (flow) mettere in atto le attività a valore senza

interruzioni

Fare in modo che il flusso sia tirato (pull) fare scorrere il flusso in base alle

richieste del cliente

Puntare alla perfezione (perfection) assumere la perfezione come riferimento

per programmi di miglioramento continuo

Estendere alla catena dei fornitori (lean supply chain) affrontare anche

la catena dei fornitori in ottica lean

Febbraio 2018Davideluca.roitero@gmail.com 8

I cambiamenti generati dal Lean I cambiamenti generati dal Lean I cambiamenti generati dal Lean I cambiamenti generati dal Lean ThinkingThinkingThinkingThinking

L’applicazione in azienda dei sei principi provoca un grandecambiamento sia sul “piano fisico” sia sul piano organizzativo(riduzione dei livelli gerarchici, orientamento ai processi, teaminterfunzionali, responsabilizzazione, delega e sviluppo competenzea livelli operativi, snellimento delle funzioni ecc.).

Tutto questo comporta quindi un radicale

cambiamento di mentalità da parte di tutto il

personale ed una vera e propria “rivoluzione

culturale”.

È una scelta coraggiosa, operata da una direzione forte, dinamica,innovativa e moderna

Febbraio 2018Davideluca.roitero@gmail.com 9

Agile è un Agile è un Agile è un Agile è un mindsetmindsetmindsetmindset

Agile è un mindset che trae ispirazionedai principi del Lean Thinkingadattandoli per lo sviluppo del sw.

I principi a cui si ispira Agile sono:

• MURI (Pull)

• MURA (Flow)

• MUDA (Value)

• KAY ZEN (Perfection)

Febbraio 2018Davideluca.roitero@gmail.com 10

MuriMuriMuriMuri

Muri è lo spreco legato allasovraproduzione di pezzi.

Oltre alle risorse immobilizzate finoall’utilizzo, se intervengonocambiamenti di mercato l’azienda nonpuò adeguarsi fino a che le scorte nonsono finite.

(sviluppo della UI di tutto il progetto apriori)

Febbraio 2018Davideluca.roitero@gmail.com 11

MuraMuraMuraMura

Mura è lo spreco legato alla incostanzadella produzione.

Se ogni giorno parte un container chepuò trasportare due auto, quando neproduco una parte semivuoto equando ne produco tre me ne rimaneuna nel piazzale.

(nel sw si alternano deliverable didimensioni molto diverse tra loro)

Febbraio 2018Davideluca.roitero@gmail.com 12

MudaMudaMudaMuda

Muda sono gli sprechi.

Gli sprechi non sono solo i prodottiche devo buttare ma anche tutte leattività del processo produttivo per cuiil cliente non è disposto a pagare, a cuinon riconosce un valore.

(trasporti, attività non necessarie,movimentazioni, difetti, inventari eattese)

Febbraio 2018Davideluca.roitero@gmail.com 13

KaiKaiKaiKai ZenZenZenZen

Il Kai Zen è il miglioramento continuo.

Tutto il team di produzione èincentivato a pensare a comemigliorare la produzione.

Il momento migliore per perfezionare ilprocesso produttivo è quando stafunzionando.

Quando non funziona vorranno soloche lo aggiustiamo in fretta.

Febbraio 2018Davideluca.roitero@gmail.com 14

CynefinCynefinCynefinCynefin FrameworkFrameworkFrameworkFramework

Ovvio: so cosa c’è da fare. Lo so fare

lo faccio

Complicato: so cosa c’è da fare. Non lo so fare.

Chiamo un esperto.

Complesso: non so cosa c’è da fare e non lo sa nessuno.

Posso fare degli esperimenti e imparare per migliorare.

Caotico: Non si capisce nulla.

Devo fare la prima cosa che posso fare e poi vedere cosa succede.

Febbraio 2018Davideluca.roitero@gmail.com 15

Noi conviviamo con la complessitàNoi conviviamo con la complessitàNoi conviviamo con la complessitàNoi conviviamo con la complessità

Se devo venire quidall’aeroporto, in macchina,imposto il navigatore edinizio a guidare.

Se a metà strada incontro uningorgo cambio strada e luiricalcola il percorso tenendofissa la meta così come se sirisolve un ingorgo mi facambiare strada.

Il navigatore è molto Agile!

Febbraio 2018Davideluca.roitero@gmail.com 16

Taylor Taylor Taylor Taylor bathtubbathtubbathtubbathtub

Nel mercato odierno i Doer e iThinker sempre più spessocoincidono.

Il mercato è globale.

Abbiamo a disposizionetecnologie a basso costo che cipermettono prototipazionirapidissime.

Possiamo raccoglierefacilmente feedback dai nostricustomer.

Febbraio 2018Davideluca.roitero@gmail.com 17

I progetti I progetti I progetti I progetti waterfallwaterfallwaterfallwaterfall nella teorianella teorianella teorianella teoria

Febbraio 2018Davideluca.roitero@gmail.com 18

I progetti I progetti I progetti I progetti waterfallwaterfallwaterfallwaterfall nella praticanella praticanella praticanella pratica

Febbraio 2018Davideluca.roitero@gmail.com 19

I progetti I progetti I progetti I progetti waterfallwaterfallwaterfallwaterfall che finiscono beneche finiscono beneche finiscono beneche finiscono bene

Nei progetti waterfall tengofissi tempi, costi e funzionalitàdel progetto.

Se sono un bravissimo capoprogetto riesco a fare neltempo stabilito e con i soldipattuiti le funzionalità richieste.

Peccato che è passato un annoe i clienti che vogliono quelloche ti avevo chiesto non ci sonopiù.

Scope

Time Cost

Febbraio 2018Davideluca.roitero@gmail.com 20

I progetti I progetti I progetti I progetti waterfallwaterfallwaterfallwaterfall che finiscono meno beneche finiscono meno beneche finiscono meno beneche finiscono meno bene

Quasi sempre:

• Non finisco in tempo

• I costi aumentano

• Le funzionalità non ci sonotutte

Secondo voi quantapercentuale di progettifiniscono male?

Scope

Time Cost

Febbraio 2018Davideluca.roitero@gmail.com 21

Chaos ManifestoChaos ManifestoChaos ManifestoChaos Manifesto

Agile non è la soluzione di tuttii mali.

Anche Agile può essereapplicato male e ce ne sonoesempi in ogni dove.

Di sicuro diminuiscedrasticamente la percentuale diprogetti che falliscono eaumenta drasticamente lapercentuale di quelli chefiniscono on time, on budget,on scope.

Febbraio 2018Davideluca.roitero@gmail.com 22

Requisiti vs ConoscenzaRequisiti vs ConoscenzaRequisiti vs ConoscenzaRequisiti vs Conoscenza

«In principio erano irequirements»

Ma il cliente, all’inizio non sacosa vuole.

Tantomeno sa cosa vogliono isuoi clienti.

Lo scopre vedendo e lo scoprevendendo.

Febbraio 2018Davideluca.roitero@gmail.com 23

Minimum Minimum Minimum Minimum ValuableValuableValuableValuable ProductProductProductProduct

Devo realizzare la minimaporzione di prodotto che mi diamodo di raccogliere i feedbackdei miei consumatori per capirese sto sviluppando quello chegli serve

L’MVP di Dropbox era unfilmato di due minuti, realizzatoin una mattinata, fotografandoi disegni di un membro delteam.

Febbraio 2018Davideluca.roitero@gmail.com 24

AGILE manifestoAGILE manifestoAGILE manifestoAGILE manifesto

Gli individui e le iterazioni più che i processi e gli strumenti

Il software funzionante più che la documentazione esaustiva

La collaborazione con il cliente più che la negoziazione dei contratti

Rispondere al cambiamento più che seguire un piano

Ovvero, fermo restando il valore delle voci di destra, consideriamo più importanti le voci a sinistra

Febbraio 2018Davideluca.roitero@gmail.com 25

AGILE AGILE AGILE AGILE principleprincipleprincipleprinciple #1#1#1#1

La nostra massima priorità è soddisfare il cliente rilasciando software di valore, fin da subito e in maniera continua

Febbraio 2018Davideluca.roitero@gmail.com 26

AGILE AGILE AGILE AGILE principleprincipleprincipleprinciple #2#2#2#2

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

Febbraio 2018Davideluca.roitero@gmail.com 27

AGILE AGILE AGILE AGILE principleprincipleprincipleprinciple #3#3#3#3

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

Febbraio 2018Davideluca.roitero@gmail.com 28

AGILE AGILE AGILE AGILE principleprincipleprincipleprinciple #4#4#4#4

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

Febbraio 2018Davideluca.roitero@gmail.com 29

AGILE AGILE AGILE AGILE principleprincipleprincipleprinciple #5#5#5#5

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

Febbraio 2018Davideluca.roitero@gmail.com 30

AGILE AGILE AGILE AGILE principleprincipleprincipleprinciple #6#6#6#6

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

Febbraio 2018Davideluca.roitero@gmail.com 31

AGILE AGILE AGILE AGILE principleprincipleprincipleprinciple #7#7#7#7

Il software funzionante è il principale metro di misura di progresso

Febbraio 2018Davideluca.roitero@gmail.com 32

AGILE AGILE AGILE AGILE principleprincipleprincipleprinciple #8#8#8#8

I processi agili promuovono uno sviluppo sostenibile.Gli sponsor, gli sviluppatori e gli utenti dovrebbero essere in grado di mantenere indefinitamente un ritmo costante

Febbraio 2018Davideluca.roitero@gmail.com 33

AGILE AGILE AGILE AGILE principleprincipleprincipleprinciple #9#9#9#9

La continua attenzione all'eccellenza tecnica e alla buona progettazione esaltano l'agilità

Febbraio 2018Davideluca.roitero@gmail.com 34

AGILE AGILE AGILE AGILE principleprincipleprincipleprinciple #10#10#10#10

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

Febbraio 2018Davideluca.roitero@gmail.com 35

AGILE AGILE AGILE AGILE principleprincipleprincipleprinciple #11#11#11#11

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

Febbraio 2018Davideluca.roitero@gmail.com 36

AGILE AGILE AGILE AGILE principleprincipleprincipleprinciple #12#12#12#12

A intervalli regolari il team riflette su come diventare più efficace, dopodiché regola e adatta il proprio comportamento di conseguenza

Febbraio 2018Davideluca.roitero@gmail.com 37

Agile Agile Agile Agile frameworksframeworksframeworksframeworks

Per più team

• Less

• SAFe

• DAD

• Scrum@Scale

• Nexus

• …

Per un team

• Scrum

• Kanban

• Extreme Programming

• …

Febbraio 2018Davideluca.roitero@gmail.com 38

KanbanKanbanKanbanKanban semplicesemplicesemplicesemplice

Febbraio 2018Davideluca.roitero@gmail.com 39

KanbanKanbanKanbanKanban maturomaturomaturomaturo

Febbraio 2018Davideluca.roitero@gmail.com 40

ScrumScrumScrumScrum

Febbraio 2018Davideluca.roitero@gmail.com 41

ScrumScrumScrumScrum Team Team Team Team crossfunzionalecrossfunzionalecrossfunzionalecrossfunzionale

Uno Scrum Team crossfunzionale è un team dove ci sono membricon skill molto specifici che, uniti insieme, possono ottenere ilmassimo risultato. Nel tempo ognuno di loro allarga il suo knowhow attraverso la condivisione delle conoscenze.

Nel Team devono essere presenti tutti gli skills necessari a portare acasa il risultato richiesto.

From Concept to Cash.

Febbraio 2018Davideluca.roitero@gmail.com 42

ScrumScrumScrumScrum Team auto organizzatoTeam auto organizzatoTeam auto organizzatoTeam auto organizzato

Uno Scrum Team riceve dal P.O. le specifiche so COSA deve esserefatto, ma decide in modo autonomo COME realizzare le specifiche.

Al suo interno divide le attività in piccoli task.

Ogni membro prende in carico il task a più alta priorità su cui puòlavorare.

Al Daily Meeting ci si allinea e ci si confronta.

Il risultato, alla fine dello Sprint è del team e mai del singolo.

Febbraio 2018Davideluca.roitero@gmail.com 43

Lo Lo Lo Lo ScrumScrumScrumScrum MasterMasterMasterMaster

• Aiuta lo Scrum Team adaderire a Scrum

• Aiuta il Product Owner ascrivere le storie

• Aiuta lo Scrum Team arisolvere gli Impediments

Febbraio 2018Davideluca.roitero@gmail.com 44

Il Product Il Product Il Product Il Product OwnerOwnerOwnerOwner

Il Product Owner raccoglie input dachiunque: clienti, manager, team ma èl’unico abilitato ad inserire storie nelbacklog e a prioritizzarlomassimizzando il R.O.I.

Il team NON RICEVE RICHIESTE DAALTRI che non siano il Product Owner esolo attraverso il Product Backlog

Febbraio 2018Davideluca.roitero@gmail.com 45

Lo Sprint PlanningLo Sprint PlanningLo Sprint PlanningLo Sprint Planning

Il Product Owner, ad ogni inizioSprint, propone al Team le storiepartendo dalla più alta nelbacklog.

Il Team le accetta, le pesa e leinserisce nello Sprint Backlogfino ad esaurire la sua capacitàper quello sprint.

Febbraio 2018Davideluca.roitero@gmail.com 46

Lo SprintLo SprintLo SprintLo Sprint

Lo sprint, di solito è di due settimane(10 gg lavorativi).

Al termine dello Sprint deve essereconsegnato un Potentially ShippableProduct Increment.

Vengono usati degli InformationRadiators (es. Burndown/up chart,Sprint Kanban Board) per visualizzarela situazione al Team.

Febbraio 2018Davideluca.roitero@gmail.com 47

PotentiallyPotentiallyPotentiallyPotentially shippableshippableshippableshippable productproductproductproduct incrementincrementincrementincrement

Febbraio 2018Davideluca.roitero@gmail.com 48

SE USERNAME = 12345ALLORA «UTENTE ERRATO»

ALTRIMENTISE PASSWORD NON UGUALE «PIPPO»

ALLORA «PASSWORD ERRATA»

PotentiallyPotentiallyPotentiallyPotentially shippableshippableshippableshippable productproductproductproduct incrementincrementincrementincrement

Febbraio 2018Davideluca.roitero@gmail.com 49

DailyDailyDailyDaily MeetingMeetingMeetingMeeting

Ogni giorno il Team si riunisce percirca 15 minuti per allinearsi suglisviluppi precedenti e concordarequelli successivi.

Nel Daily Meeting i Team Membercomunicano allo Scrum Master gliImpediments che non sono riusciti arisolvere e lui li prende in carico.

Febbraio 2018Davideluca.roitero@gmail.com 50

Sprint Sprint Sprint Sprint ReviewReviewReviewReview

Al termine dello sprint il Teamrestituisce al Product Owner il lavorofatto e lui lo accetta.

Alla Sprint Review può parteciparechiunque ed è un momentoprivilegiato per raccogliere feedbackche possono essere usati permodificare il backlog prima delloSprint Planning del giorno dopo

Febbraio 2018Davideluca.roitero@gmail.com 51

Sprint Sprint Sprint Sprint RetrospectiveRetrospectiveRetrospectiveRetrospective

E’ il momento del Kay Zen.

Partecipa tutto il Team (PO, SM eMember).

Si riguarda lo Sprint appena finito, daun punto di vista metodologico, e siindividuano azioni di miglioramentoche verranno messe in atto già dalloSprint successivo.

L’analisi riguarda il COME e non ilCOSA.

Febbraio 2018Davideluca.roitero@gmail.com 52

Ma quando finiamo?Ma quando finiamo?Ma quando finiamo?Ma quando finiamo?1

2

1

3

2

5

14

Febbraio 2018Davideluca.roitero@gmail.com 53

Pianificazione di progettoPianificazione di progettoPianificazione di progettoPianificazione di progetto

Febbraio 2018Davideluca.roitero@gmail.com 54

Come è fatta una storiaCome è fatta una storiaCome è fatta una storiaCome è fatta una storia

Io _______________________________

In qualità di _______________________

Desidero __________________________

Al fine di __________________________

Febbraio 2018Davideluca.roitero@gmail.com 55

Come è fatta una storiaCome è fatta una storiaCome è fatta una storiaCome è fatta una storia

Io Davide Roitero

In qualità di cliente registrato della Coop di Pisa

Desidero avere una applicazione dove compilare la mia listadella spesa ritrovandola poi sul mio dispositivo Salvatempo

Al fine di non dimenticare nulla e fare velocemente i mieiacquisti

Febbraio 2018Davideluca.roitero@gmail.com 56

Criteri di accettazioneCriteri di accettazioneCriteri di accettazioneCriteri di accettazione

• I miei familiari possono proporre le cose chedesidererano e io devo approvarle

• Il mio salvatempo mi deve proporre la lista della spesaordinata per corsie espositive

• Il mio salvatempo deve ricordarmi le cose che non hoacquistato

• Durante la spesa vorrei che mi proponesse i prodotti inofferta alternativi a quelli da me scelti

Febbraio 2018Davideluca.roitero@gmail.com 57

La storia deve essere I.N.V.E.S.T.La storia deve essere I.N.V.E.S.T.La storia deve essere I.N.V.E.S.T.La storia deve essere I.N.V.E.S.T.

Febbraio 2018Davideluca.roitero@gmail.com 58

Definition of ReadyDefinition of ReadyDefinition of ReadyDefinition of Ready

La D.o.R. è elaborata dalTeam con il P.O. e identifica lecaratteristiche che deveavere una storia per essereaccettata in uno SprintPlanning.

Quando il Team matura i suoicriteri diventano via via piùrestrittivi.

I.N.V.E.S.T. +

Febbraio 2018Davideluca.roitero@gmail.com 59

Definition of Definition of Definition of Definition of DoneDoneDoneDone & P.S.P.I.& P.S.P.I.& P.S.P.I.& P.S.P.I.

La D.o.D. è elaborata dalTeam con il P.O. e identifica lecaratteristiche che deveavere una storia per essereaccettata in uno SprintReview.

Quando il Team matura i suoicriteri diventano via via piùrestrittivi.

top related