SlideShare a Scribd company logo
1 of 35
Download to read offline
Scrum!
Sopravvivere e gestire progetti
tra polli, maiali e clienti
Belluno, 16 aprile 2015 @larin
Toyota Way / Lean
Production
• L’obiettivo di un’azienda è il miglioramento continuo, cercando innovazione ed evoluzione.
• Il rispetto per le persone è alla base di un’azienda: fare il possibile per capirsi l'un l'altro,
prendersi la responsabilità delle proprie azioni e fare del nostro meglio per costruire una
fiducia reciproca.
• Lavoro di squadra: stimolare la crescita personale e professionale, condividere le
opportunità per sviluppare abilità di squadra ed individuali.
• Basa le decisioni manageriali su una filosofia a lungo termine, anche se questo comporta
sacrifici economici a breve termine. Il giusto processo produrrà i giusti risultati
• Costruisci la cultura di fermarsi per correggere i problemi, la qualità come primo obiettivo.
• Usa un sistema di controllo visuale, così non ci saranno problemi nascosti.
• Cresci leader che capiscano veramente il lavoro, che vivano la filosofia dell’azienda e che
la insegnano agli altri.
• Prendi decisioni lentamente. implementa le decisioni rapidamente.
Scrum!
Ogniuno ha il suo ruolo. Tutti spingono nella stessa
direzione.
A cosa mi serve?
Facciamo un esempio.
Gestire un progetto di cui
non sono chiare le
specifiche in fase iniziale.
E vivere felici.
Manifesto per lo sviluppo
Agile di Software
Stiamo scoprendo modi migliori di creare software,

sviluppandolo e aiutando gli altri a fare lo stesso.

Grazie a questa attività siamo arrivati a considerare
importanti:
Gli individui e le interazioni più che i processi e gli strumenti

Il software funzionante più che la documentazione esaustiva

La collaborazione col cliente più che la negoziazione dei
contratti

Rispondere al cambiamento più che seguire un piano
Ovvero, fermo restando il valore delle voci a destra,

consideriamo più importanti le voci a sinistra.
Seguiamo questi principi:
La nostra massima priorità è soddisfare il cliente

rilasciando software di valore, fin da subito

e in maniera continua.
Accogliamo i cambiamenti nei requisiti,

anche a stadi avanzati dello sviluppo.

I processi agili sfruttano il cambiamento

a favore del vantaggio competitivo del cliente.
Consegnamo frequentemente software funzionante, 

con cadenza variabile da un paio di settimane a un paio di mesi,

preferendo i periodi brevi.
Committenti e sviluppatori devono lavorare insieme

quotidianamente per tutta la durata del progetto.
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.
Una conversazione faccia a faccia

è il modo più efficiente e più efficace per comunicare

con il team ed all'interno del team.
Il software funzionante è il principale metro di misura di
progresso.
I processi agili promuovono uno sviluppo sostenibile.

Gli sponsor, gli sviluppatori e gli utenti dovrebbero essere in
grado

di mantenere indefinitamente un ritmo costante.
La continua attenzione all'eccellenza tecnica

e alla buona progettazione esaltano l'agilità.
La semplicità - l'arte di massimizzare la quantità

di lavoro non svolto - è essenziale.
Le architetture, i requisiti e la progettazione

migliori emergono da team che si auto-organizzano.
A intervalli regolari il team riflette su come

diventare più efficace, dopodiché regola e adatta

il proprio comportamento di conseguenza.
Scrum
Le regole del gioco
Parleremo di..
• Ruoli
• Strumenti
• Il “ciclo” di Scrum (sprint cycle)
I ruoli nello scrum
Un Maiale ed un Pollo camminavano per
strada.
Il Pollo disse: "Hey Maiale, mi è venuta
una bella idea, potremmo aprire un
ristorante!"
Il Maiale replicò: "Hm, non so, come
potremmo chiamarlo?"
Il Pollo rispose: "Che dici di 'uova e
pancetta'?"
Il Maiale pensò un momento e disse:
"No grazie. Io sarei completamente
coinvolto mentre tu saresti solo
interessato!"
I “maiali” dello scrum
1. Product Owner -> rappresenta il cliente
2. Scrum Master -> un maniaco dello scrum
3. Team Master -> I membri del team
Il product owner
• Rappresenta il cliente
• Deve massimizzare il ritorno del prodotto in termini di
business.
• Per raggiungere questo obiettivo:
• E’ l’unico autorizzato a chiedere al team di sviluppo
di fare un lavoro e ne detta le priorità.
• Ha la responsabilità di spiegare BENE al team cosa
deve fare.
Lo scrum master
• E’ un membro del team di sviluppo.
• Il suo obiettivo è un team motivato, organizzato,
preciso.
• Non è il capo del team! Ma è quello con
maggior esperienza nel metodo scrum.
Il team di sviluppo
• Ha completa autonomia sul COME realizzare il
lavoro e su QUANTO tempo richiede.
• Gli elementi sono altamente collaborativi:
l’obiettivo non è FARE IL MIO lavoro ma
raggiungere i risultati nei tempi previsti.
Il membro di uno scrum
team in sintesi:
• è responsabile del completamento delle user-
story
• si organizza autonomamente per svolgere tutto il
lavoro che deve fare
• crea ed è responsabile dei preventivi
• decide “come” fare un lavoro
• non risponde mai “non è il mio lavoro"
• Lo scrum team ideale è composto dai cinque ai
nove elementi.
• Meno persone difficilmente hanno tutte le
competenze per sviluppare un prodotto
complesso, con più persone è difficile gestire la
fase organizzativa e le comunicazioni. 
Gli strumenti dello scrum
• Il “product backlog”
• Le “user-story”
• Lo “sprint backlog”
• Definition of “Done”
Il product backlog
• è un documento gestito dal product owner. Contiene la lista
delle implementazioni desiderate per un prodotto. Include
nuove caratteristiche, bugfix, modifiche alla documentazione. 
• I punti di un product backlog vengono chiamati backlog-item
o “user story”, per ricordare che l’obiettivo di ogni modifica è
rispondere ad un’esigenza dell’utente.
• Queste “storie” sono ordinate in ordine di importanza: le prime
da “evadere” saranno all’inizio della lista. Dovranno essere
brevi e molto chiare per il team. Le storie in fondo alla lista
potranno essere più generiche e meno chiare, tanto passerà
del tempo prima che il team ci lavori.
User Story
• Le “cose da fare” nello scrum sono descritti sottoforma di storie.
Una storia dovrebbe contenere queste informazioni:
1. Quale utente ne trarrà benefici
2. Una breve descrizione delle funzionalità desiderate
3. Che scopo ha questa storia
4. Quante ore lavoro richiede l’implementazione di questa
storia*
5. Con che criteri capiamo se l’abbiamo implementata
correttamente*
“As a <role>, I want <a feature>, so I can
<accomplish something>”
“Come <ruolo>, Voglio <funzionalità>, in
modo da <obiettivo>”
Sprint Backlog
• Sono le story del product backlog che si
puntano a sviluppare durante il ciclo di scrum
corrente (ne parliamo tra poco..)
• A queste si aggiungono le “task”. Ogni story è
composta da più tasks che tutte insieme portano
al completamento della storia: es. aggiungi un
campo al database, inserisci una pagina nella
guida, aggiungi un javascript al menu, ecc.
Definition of “Done”
• Un team scrum lo decide a priori, condividendo una
definizione di “fatto”, trasformandola in checklist e
attaccandola dove tutti possono vederla. (es. scrittura
codice, revisione codice, superamento test, scrittura
documentazione).
La “liturgia” dello scrum: lo
sprint cycle.
• Pianificazione dello sprint
• Daily Scrum
• Story Time
• Revisione dello sprint
• Team meeting di revisione
Lo sprint cycle
Lo “sprint cycle” è il ritmo del processo scrum. All’interno di questo si
prendono in mano poco a poco, pezzettino per pezzettino, dei pezzi di
software, si completano prima di prendere in mano un pezzettino
successivo. Alla fine ci un ciclo di sprint, devi dimostrare di aver prodotto
del software o “sei fottuto”. 
Sostanzialmente deve rispettare due requisiti:
• Ha la qualità giusta per essere rilasciato? 
• Produce un incremento di valore tale da avere senso sotto il profilo
business?
Il senso di un cycle in scrum è avere feedback continui sui prodotti, in
questo senso più breve è uno sprint meglio è. Normalmente un ciclo dura
2 settimane, ma è sempre maggiore la tendenza di cicli di una settimana.
Meeting di pianificazione
dello sprint
• E’ diviso in due parti:
• PARTE PRIMA: Che “user story” vogliamo sviluppare? -> il
“product owner” presenta cosa gli piacerebbe che il team
sviluppasse durante lo sprint. Le richieste vengono strutturate
in “user story” e approfondite finché il team di sviluppo non è
sicuro di averle capite bene. Poi il team decide se può
impegnarsi a sviluppare tutte quelle cose per la fine dello
sprint o se rimandarle a uno sprint successivo.
• NB: la separazione dei ruoli! Il “product owner” decide che
storie dovranno essere prese in considerazione, ma solo
il team decide se sono fattibili o no all’interno di questo sprint.
Pianificazione dello sprint
• E’ diviso in due parti:
• PARTE SECONDA: Quali sono le task to-do per ogni
user story? (es. aggiungere un campo al database,
scrivere un aiuto, inserire un menù, ecc). In questa
parte del meeting il “product owner” è a disposizione
per rispondere alle domande. 
• DURATA: Da 1 a 2 ore per settimana di sprint.
• RISULTATO: lo sprint backlog. Il product owner si
impegna a non chiedere altro al team durante lo sprint
a meno che la richiesta non arrivi dal team stesso.
Daily Scrum
• meeting quotidiano e breve (15 minuti)
• ogni partecipante dice che task ha completato il
giorno precedente, che task conta di completare
durante il giorno, che ostacoli vede.
• Se ci sono dei problemi l’obiettivo è che
emergano in questo meeting, non che vengano
risolti! Le persone più adatte si accorderanno per
confrontarsi dopo il meeting se necessario per
risolvere un problema.
Story Time
• Un’ora alla settimana, con il product owner, per
ragionare su possibili “user story” future, sui tempi
da assegnare a ciascuna e per rivedere la
definizione di “fatto” del team.
• In questo meeting si fa “story splitting”: le storie
prossime allo sviluppo devono essere brevi e chiare.
• Anche se lo story-splitting è responsabilità del
product-owner, questo meeting è l’occasione per
chiedere l’aiuto al team di sviluppo.
Revisione dello sprint
• E’ la fine dello sprint. E l'occasione per il team di
mostrare quello che ha fatto, per raccogliere
osservazioni, suggerimenti, ecc.
• In questo senso è un meeting che può essere aperto
anche ad esterni - clienti, beta tester, stakeholders, ecc.
• In questo meeting NON si prendono decisioni, è solo un
momento di condivisione e di raccolta di opinioni. 
• Durata: dai 30 minuti a 1 ora per ogni settimana di
sprint. 
Team meeting di revisione
• L’obiettivo dello scrum è la crescita continua e
costante del team. Questo meeting, riservato al
team di sviluppo, è l’occasione per condividere
quello che ha imparato e di identificare uno
o due cambiamenti strategici da testare durante
lo sprint successivo.
• Durata: da 1 a 2 ore per settimana di sviluppo.
Ricapitolando.. lo sprint
cycle
Tool per gestire lo scrum
Tool per gestire lo scrum

More Related Content

What's hot

Introduzione alle metodologie e pratiche Agili ... ma l'agile c'entra qualcos...
Introduzione alle metodologie e pratiche Agili ... ma l'agile c'entra qualcos...Introduzione alle metodologie e pratiche Agili ... ma l'agile c'entra qualcos...
Introduzione alle metodologie e pratiche Agili ... ma l'agile c'entra qualcos...Roberto Bettazzoni
 
Manifesto per lo Sviluppo Agile di Software
Manifesto per lo Sviluppo Agile di SoftwareManifesto per lo Sviluppo Agile di Software
Manifesto per lo Sviluppo Agile di SoftwareAmmLibera AL
 
Agile Project Management
Agile Project ManagementAgile Project Management
Agile Project ManagementGiulio Roggero
 
Back to Agile - Codemotion 2013
Back to Agile - Codemotion 2013  Back to Agile - Codemotion 2013
Back to Agile - Codemotion 2013 Fabio Armani
 
Agile Project Management - the Board Game workshop
Agile Project Management  - the Board Game workshopAgile Project Management  - the Board Game workshop
Agile Project Management - the Board Game workshopGiulio Roggero
 
Agile raccontato a mia nonna
Agile raccontato a mia nonnaAgile raccontato a mia nonna
Agile raccontato a mia nonnaFelice Pescatore
 
Agile@scale - Agile Day 2013
Agile@scale - Agile Day 2013Agile@scale - Agile Day 2013
Agile@scale - Agile Day 2013Felice Pescatore
 
Un Team Agile allo Sprint (PMI-Rome)
Un Team Agile allo Sprint (PMI-Rome)Un Team Agile allo Sprint (PMI-Rome)
Un Team Agile allo Sprint (PMI-Rome)Emiliano Soldi
 
Agile requirements - alla ricerca del filo rosso (iad 2013)
Agile requirements - alla ricerca del filo rosso (iad 2013)Agile requirements - alla ricerca del filo rosso (iad 2013)
Agile requirements - alla ricerca del filo rosso (iad 2013)Fabio Armani
 
Scrumban a Methodology Fusion - Bettersoftware & Codemotion 2011
Scrumban a Methodology Fusion - Bettersoftware & Codemotion 2011Scrumban a Methodology Fusion - Bettersoftware & Codemotion 2011
Scrumban a Methodology Fusion - Bettersoftware & Codemotion 2011Fabio Armani
 
5 scrum dalle trincee - principi agili
5   scrum dalle trincee - principi agili5   scrum dalle trincee - principi agili
5 scrum dalle trincee - principi agiliAlessio Del Toro
 
Scrum una breve introduzione
Scrum una breve introduzioneScrum una breve introduzione
Scrum una breve introduzionerhubbit
 
Impatti dell'introduzione di Scrum
Impatti dell'introduzione di ScrumImpatti dell'introduzione di Scrum
Impatti dell'introduzione di ScrumAndrea Di Pinto
 
Agile Project Management: Integrare metodologie di progetto tradizionali con ...
Agile Project Management: Integrare metodologie di progetto tradizionali con ...Agile Project Management: Integrare metodologie di progetto tradizionali con ...
Agile Project Management: Integrare metodologie di progetto tradizionali con ...Codemotion
 
Agile Lean Management - MoSCoW, Timeboxing e Kanban
Agile Lean Management - MoSCoW, Timeboxing e KanbanAgile Lean Management - MoSCoW, Timeboxing e Kanban
Agile Lean Management - MoSCoW, Timeboxing e KanbanSimone Onofri
 

What's hot (20)

Introduzione alle metodologie e pratiche Agili ... ma l'agile c'entra qualcos...
Introduzione alle metodologie e pratiche Agili ... ma l'agile c'entra qualcos...Introduzione alle metodologie e pratiche Agili ... ma l'agile c'entra qualcos...
Introduzione alle metodologie e pratiche Agili ... ma l'agile c'entra qualcos...
 
Manifesto per lo Sviluppo Agile di Software
Manifesto per lo Sviluppo Agile di SoftwareManifesto per lo Sviluppo Agile di Software
Manifesto per lo Sviluppo Agile di Software
 
Agile Project Management
Agile Project ManagementAgile Project Management
Agile Project Management
 
Back to Agile - Codemotion 2013
Back to Agile - Codemotion 2013  Back to Agile - Codemotion 2013
Back to Agile - Codemotion 2013
 
Agile in 45 minuti
Agile in 45 minutiAgile in 45 minuti
Agile in 45 minuti
 
Agile Project Management - the Board Game workshop
Agile Project Management  - the Board Game workshopAgile Project Management  - the Board Game workshop
Agile Project Management - the Board Game workshop
 
Agile methodologies
Agile methodologiesAgile methodologies
Agile methodologies
 
Semplicemente Agile
Semplicemente AgileSemplicemente Agile
Semplicemente Agile
 
Agile raccontato a mia nonna
Agile raccontato a mia nonnaAgile raccontato a mia nonna
Agile raccontato a mia nonna
 
Agile@scale - Agile Day 2013
Agile@scale - Agile Day 2013Agile@scale - Agile Day 2013
Agile@scale - Agile Day 2013
 
Introduzione a Scrum
Introduzione a ScrumIntroduzione a Scrum
Introduzione a Scrum
 
Un Team Agile allo Sprint (PMI-Rome)
Un Team Agile allo Sprint (PMI-Rome)Un Team Agile allo Sprint (PMI-Rome)
Un Team Agile allo Sprint (PMI-Rome)
 
Agile requirements - alla ricerca del filo rosso (iad 2013)
Agile requirements - alla ricerca del filo rosso (iad 2013)Agile requirements - alla ricerca del filo rosso (iad 2013)
Agile requirements - alla ricerca del filo rosso (iad 2013)
 
Scrumban a Methodology Fusion - Bettersoftware & Codemotion 2011
Scrumban a Methodology Fusion - Bettersoftware & Codemotion 2011Scrumban a Methodology Fusion - Bettersoftware & Codemotion 2011
Scrumban a Methodology Fusion - Bettersoftware & Codemotion 2011
 
5 scrum dalle trincee - principi agili
5   scrum dalle trincee - principi agili5   scrum dalle trincee - principi agili
5 scrum dalle trincee - principi agili
 
Scrum una breve introduzione
Scrum una breve introduzioneScrum una breve introduzione
Scrum una breve introduzione
 
Impatti dell'introduzione di Scrum
Impatti dell'introduzione di ScrumImpatti dell'introduzione di Scrum
Impatti dell'introduzione di Scrum
 
Agile Project Management: Integrare metodologie di progetto tradizionali con ...
Agile Project Management: Integrare metodologie di progetto tradizionali con ...Agile Project Management: Integrare metodologie di progetto tradizionali con ...
Agile Project Management: Integrare metodologie di progetto tradizionali con ...
 
La salute del software
La salute del softwareLa salute del software
La salute del software
 
Agile Lean Management - MoSCoW, Timeboxing e Kanban
Agile Lean Management - MoSCoW, Timeboxing e KanbanAgile Lean Management - MoSCoW, Timeboxing e Kanban
Agile Lean Management - MoSCoW, Timeboxing e Kanban
 

Similar to Scrum! Sopravvivere e gestire progetti tra polli, maiali e clienti

Dall'ideazione alla progettazione - Teamwork e metodologie Agili
Dall'ideazione alla progettazione - Teamwork e metodologie AgiliDall'ideazione alla progettazione - Teamwork e metodologie Agili
Dall'ideazione alla progettazione - Teamwork e metodologie AgiliMassimiliano Camillucci
 
Slide Wallabiez Agile Day 2007
Slide Wallabiez Agile Day 2007Slide Wallabiez Agile Day 2007
Slide Wallabiez Agile Day 2007Manuela Munaretto
 
Agile project management 1 giornata - board game - v2
Agile project management   1 giornata - board game - v2Agile project management   1 giornata - board game - v2
Agile project management 1 giornata - board game - v2Giulio Roggero
 
Agile e Lean in sintesi
Agile e Lean in sintesiAgile e Lean in sintesi
Agile e Lean in sintesiStefano Muro
 
Open Innovation Campus - 05/04/2018 - Agile challenges: essere agili nello sv...
Open Innovation Campus - 05/04/2018 - Agile challenges: essere agili nello sv...Open Innovation Campus - 05/04/2018 - Agile challenges: essere agili nello sv...
Open Innovation Campus - 05/04/2018 - Agile challenges: essere agili nello sv...Vittorio Polizzi
 
Introduzione alla Metodologia Scrumban
Introduzione alla Metodologia ScrumbanIntroduzione alla Metodologia Scrumban
Introduzione alla Metodologia ScrumbanNextre Engineering
 
Leonardo Lillo - Progettare lo Smart Working - Rinascita Digitale | DAY #15
Leonardo Lillo - Progettare lo Smart Working - Rinascita Digitale | DAY #15Leonardo Lillo - Progettare lo Smart Working - Rinascita Digitale | DAY #15
Leonardo Lillo - Progettare lo Smart Working - Rinascita Digitale | DAY #15Stefano Saladino
 
Agile Lean Conference 2016 - Barengo _I principi del lean software development
Agile Lean Conference 2016 - Barengo _I principi del lean software developmentAgile Lean Conference 2016 - Barengo _I principi del lean software development
Agile Lean Conference 2016 - Barengo _I principi del lean software developmentAgile Lean Conference
 
The scrum rules - SMAU Milano 2019
The scrum rules - SMAU Milano 2019The scrum rules - SMAU Milano 2019
The scrum rules - SMAU Milano 2019rhubbit
 
ITSMF Conferenza 2014 - L'officina Agile per innovare l'IT Service Management
ITSMF Conferenza 2014 - L'officina Agile per innovare l'IT Service ManagementITSMF Conferenza 2014 - L'officina Agile per innovare l'IT Service Management
ITSMF Conferenza 2014 - L'officina Agile per innovare l'IT Service ManagementSimone Onofri
 
Agile Lean Conference 2016 - Machella_ Workshop facilitare retrospettive
Agile Lean Conference 2016 -   Machella_ Workshop facilitare retrospettiveAgile Lean Conference 2016 -   Machella_ Workshop facilitare retrospettive
Agile Lean Conference 2016 - Machella_ Workshop facilitare retrospettiveAgile Lean Conference
 
AgileDay 2006 - Essere agili nel diventare agili
AgileDay 2006 - Essere agili nel diventare agiliAgileDay 2006 - Essere agili nel diventare agili
AgileDay 2006 - Essere agili nel diventare agiliLuca Minudel
 
Back to basics - il Manifesto Agile
Back to basics - il Manifesto AgileBack to basics - il Manifesto Agile
Back to basics - il Manifesto AgileGiancarlo Valente
 
Leader standard work.pdf
Leader standard work.pdfLeader standard work.pdf
Leader standard work.pdfFabrizioBianchi
 
Collaborazione, Decisionalità e Gestione della Complessità nel Tempo: cosa ...
Collaborazione, Decisionalità e Gestione della Complessità nel Tempo: cosa ...Collaborazione, Decisionalità e Gestione della Complessità nel Tempo: cosa ...
Collaborazione, Decisionalità e Gestione della Complessità nel Tempo: cosa ...Commit University
 

Similar to Scrum! Sopravvivere e gestire progetti tra polli, maiali e clienti (20)

Dall'ideazione alla progettazione - Teamwork e metodologie Agili
Dall'ideazione alla progettazione - Teamwork e metodologie AgiliDall'ideazione alla progettazione - Teamwork e metodologie Agili
Dall'ideazione alla progettazione - Teamwork e metodologie Agili
 
Scrum method.pptx
Scrum method.pptxScrum method.pptx
Scrum method.pptx
 
Slide Wallabiez Agile Day 2007
Slide Wallabiez Agile Day 2007Slide Wallabiez Agile Day 2007
Slide Wallabiez Agile Day 2007
 
Agile project management 1 giornata - board game - v2
Agile project management   1 giornata - board game - v2Agile project management   1 giornata - board game - v2
Agile project management 1 giornata - board game - v2
 
Agile e Lean in sintesi
Agile e Lean in sintesiAgile e Lean in sintesi
Agile e Lean in sintesi
 
Agile Engineering
Agile EngineeringAgile Engineering
Agile Engineering
 
Scrum In A Nutshell
Scrum In A NutshellScrum In A Nutshell
Scrum In A Nutshell
 
Agile software lifecycle
Agile software lifecycleAgile software lifecycle
Agile software lifecycle
 
Open Innovation Campus - 05/04/2018 - Agile challenges: essere agili nello sv...
Open Innovation Campus - 05/04/2018 - Agile challenges: essere agili nello sv...Open Innovation Campus - 05/04/2018 - Agile challenges: essere agili nello sv...
Open Innovation Campus - 05/04/2018 - Agile challenges: essere agili nello sv...
 
Introduzione alla Metodologia Scrumban
Introduzione alla Metodologia ScrumbanIntroduzione alla Metodologia Scrumban
Introduzione alla Metodologia Scrumban
 
Leonardo Lillo - Progettare lo Smart Working - Rinascita Digitale | DAY #15
Leonardo Lillo - Progettare lo Smart Working - Rinascita Digitale | DAY #15Leonardo Lillo - Progettare lo Smart Working - Rinascita Digitale | DAY #15
Leonardo Lillo - Progettare lo Smart Working - Rinascita Digitale | DAY #15
 
Agile Lean Conference 2016 - Barengo _I principi del lean software development
Agile Lean Conference 2016 - Barengo _I principi del lean software developmentAgile Lean Conference 2016 - Barengo _I principi del lean software development
Agile Lean Conference 2016 - Barengo _I principi del lean software development
 
The scrum rules - SMAU Milano 2019
The scrum rules - SMAU Milano 2019The scrum rules - SMAU Milano 2019
The scrum rules - SMAU Milano 2019
 
ITSMF Conferenza 2014 - L'officina Agile per innovare l'IT Service Management
ITSMF Conferenza 2014 - L'officina Agile per innovare l'IT Service ManagementITSMF Conferenza 2014 - L'officina Agile per innovare l'IT Service Management
ITSMF Conferenza 2014 - L'officina Agile per innovare l'IT Service Management
 
Agile Lean Conference 2016 - Machella_ Workshop facilitare retrospettive
Agile Lean Conference 2016 -   Machella_ Workshop facilitare retrospettiveAgile Lean Conference 2016 -   Machella_ Workshop facilitare retrospettive
Agile Lean Conference 2016 - Machella_ Workshop facilitare retrospettive
 
Instilling Scrum Workshop
Instilling Scrum WorkshopInstilling Scrum Workshop
Instilling Scrum Workshop
 
AgileDay 2006 - Essere agili nel diventare agili
AgileDay 2006 - Essere agili nel diventare agiliAgileDay 2006 - Essere agili nel diventare agili
AgileDay 2006 - Essere agili nel diventare agili
 
Back to basics - il Manifesto Agile
Back to basics - il Manifesto AgileBack to basics - il Manifesto Agile
Back to basics - il Manifesto Agile
 
Leader standard work.pdf
Leader standard work.pdfLeader standard work.pdf
Leader standard work.pdf
 
Collaborazione, Decisionalità e Gestione della Complessità nel Tempo: cosa ...
Collaborazione, Decisionalità e Gestione della Complessità nel Tempo: cosa ...Collaborazione, Decisionalità e Gestione della Complessità nel Tempo: cosa ...
Collaborazione, Decisionalità e Gestione della Complessità nel Tempo: cosa ...
 

Scrum! Sopravvivere e gestire progetti tra polli, maiali e clienti

  • 1. Scrum! Sopravvivere e gestire progetti tra polli, maiali e clienti Belluno, 16 aprile 2015 @larin
  • 2. Toyota Way / Lean Production • L’obiettivo di un’azienda è il miglioramento continuo, cercando innovazione ed evoluzione. • Il rispetto per le persone è alla base di un’azienda: fare il possibile per capirsi l'un l'altro, prendersi la responsabilità delle proprie azioni e fare del nostro meglio per costruire una fiducia reciproca. • Lavoro di squadra: stimolare la crescita personale e professionale, condividere le opportunità per sviluppare abilità di squadra ed individuali. • Basa le decisioni manageriali su una filosofia a lungo termine, anche se questo comporta sacrifici economici a breve termine. Il giusto processo produrrà i giusti risultati • Costruisci la cultura di fermarsi per correggere i problemi, la qualità come primo obiettivo. • Usa un sistema di controllo visuale, così non ci saranno problemi nascosti. • Cresci leader che capiscano veramente il lavoro, che vivano la filosofia dell’azienda e che la insegnano agli altri. • Prendi decisioni lentamente. implementa le decisioni rapidamente.
  • 3. Scrum! Ogniuno ha il suo ruolo. Tutti spingono nella stessa direzione.
  • 4. A cosa mi serve? Facciamo un esempio.
  • 5. Gestire un progetto di cui non sono chiare le specifiche in fase iniziale. E vivere felici.
  • 6. Manifesto per lo sviluppo Agile di Software Stiamo scoprendo modi migliori di creare software,
 sviluppandolo e aiutando gli altri a fare lo stesso.
 Grazie a questa attività siamo arrivati a considerare importanti: Gli individui e le interazioni più che i processi e gli strumenti
 Il software funzionante più che la documentazione esaustiva
 La collaborazione col cliente più che la negoziazione dei contratti
 Rispondere al cambiamento più che seguire un piano Ovvero, fermo restando il valore delle voci a destra,
 consideriamo più importanti le voci a sinistra.
  • 7. Seguiamo questi principi: La nostra massima priorità è soddisfare il cliente
 rilasciando software di valore, fin da subito
 e in maniera continua. Accogliamo i cambiamenti nei requisiti,
 anche a stadi avanzati dello sviluppo.
 I processi agili sfruttano il cambiamento
 a favore del vantaggio competitivo del cliente. Consegnamo frequentemente software funzionante, 
 con cadenza variabile da un paio di settimane a un paio di mesi,
 preferendo i periodi brevi. Committenti e sviluppatori devono lavorare insieme
 quotidianamente per tutta la durata del progetto.
  • 8. 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. Una conversazione faccia a faccia
 è il modo più efficiente e più efficace per comunicare
 con il team ed all'interno del team. Il software funzionante è il principale metro di misura di progresso. I processi agili promuovono uno sviluppo sostenibile.
 Gli sponsor, gli sviluppatori e gli utenti dovrebbero essere in grado
 di mantenere indefinitamente un ritmo costante.
  • 9. La continua attenzione all'eccellenza tecnica
 e alla buona progettazione esaltano l'agilità. La semplicità - l'arte di massimizzare la quantità
 di lavoro non svolto - è essenziale. Le architetture, i requisiti e la progettazione
 migliori emergono da team che si auto-organizzano. A intervalli regolari il team riflette su come
 diventare più efficace, dopodiché regola e adatta
 il proprio comportamento di conseguenza.
  • 11. Parleremo di.. • Ruoli • Strumenti • Il “ciclo” di Scrum (sprint cycle)
  • 12. I ruoli nello scrum Un Maiale ed un Pollo camminavano per strada. Il Pollo disse: "Hey Maiale, mi è venuta una bella idea, potremmo aprire un ristorante!" Il Maiale replicò: "Hm, non so, come potremmo chiamarlo?" Il Pollo rispose: "Che dici di 'uova e pancetta'?" Il Maiale pensò un momento e disse: "No grazie. Io sarei completamente coinvolto mentre tu saresti solo interessato!"
  • 13. I “maiali” dello scrum 1. Product Owner -> rappresenta il cliente 2. Scrum Master -> un maniaco dello scrum 3. Team Master -> I membri del team
  • 14. Il product owner • Rappresenta il cliente • Deve massimizzare il ritorno del prodotto in termini di business. • Per raggiungere questo obiettivo: • E’ l’unico autorizzato a chiedere al team di sviluppo di fare un lavoro e ne detta le priorità. • Ha la responsabilità di spiegare BENE al team cosa deve fare.
  • 15. Lo scrum master • E’ un membro del team di sviluppo. • Il suo obiettivo è un team motivato, organizzato, preciso. • Non è il capo del team! Ma è quello con maggior esperienza nel metodo scrum.
  • 16. Il team di sviluppo • Ha completa autonomia sul COME realizzare il lavoro e su QUANTO tempo richiede. • Gli elementi sono altamente collaborativi: l’obiettivo non è FARE IL MIO lavoro ma raggiungere i risultati nei tempi previsti.
  • 17. Il membro di uno scrum team in sintesi: • è responsabile del completamento delle user- story • si organizza autonomamente per svolgere tutto il lavoro che deve fare • crea ed è responsabile dei preventivi • decide “come” fare un lavoro • non risponde mai “non è il mio lavoro"
  • 18. • Lo scrum team ideale è composto dai cinque ai nove elementi. • Meno persone difficilmente hanno tutte le competenze per sviluppare un prodotto complesso, con più persone è difficile gestire la fase organizzativa e le comunicazioni. 
  • 19. Gli strumenti dello scrum • Il “product backlog” • Le “user-story” • Lo “sprint backlog” • Definition of “Done”
  • 20. Il product backlog • è un documento gestito dal product owner. Contiene la lista delle implementazioni desiderate per un prodotto. Include nuove caratteristiche, bugfix, modifiche alla documentazione.  • I punti di un product backlog vengono chiamati backlog-item o “user story”, per ricordare che l’obiettivo di ogni modifica è rispondere ad un’esigenza dell’utente. • Queste “storie” sono ordinate in ordine di importanza: le prime da “evadere” saranno all’inizio della lista. Dovranno essere brevi e molto chiare per il team. Le storie in fondo alla lista potranno essere più generiche e meno chiare, tanto passerà del tempo prima che il team ci lavori.
  • 21. User Story • Le “cose da fare” nello scrum sono descritti sottoforma di storie. Una storia dovrebbe contenere queste informazioni: 1. Quale utente ne trarrà benefici 2. Una breve descrizione delle funzionalità desiderate 3. Che scopo ha questa storia 4. Quante ore lavoro richiede l’implementazione di questa storia* 5. Con che criteri capiamo se l’abbiamo implementata correttamente*
  • 22. “As a <role>, I want <a feature>, so I can <accomplish something>” “Come <ruolo>, Voglio <funzionalità>, in modo da <obiettivo>”
  • 23. Sprint Backlog • Sono le story del product backlog che si puntano a sviluppare durante il ciclo di scrum corrente (ne parliamo tra poco..) • A queste si aggiungono le “task”. Ogni story è composta da più tasks che tutte insieme portano al completamento della storia: es. aggiungi un campo al database, inserisci una pagina nella guida, aggiungi un javascript al menu, ecc.
  • 24. Definition of “Done” • Un team scrum lo decide a priori, condividendo una definizione di “fatto”, trasformandola in checklist e attaccandola dove tutti possono vederla. (es. scrittura codice, revisione codice, superamento test, scrittura documentazione).
  • 25. La “liturgia” dello scrum: lo sprint cycle. • Pianificazione dello sprint • Daily Scrum • Story Time • Revisione dello sprint • Team meeting di revisione
  • 26. Lo sprint cycle Lo “sprint cycle” è il ritmo del processo scrum. All’interno di questo si prendono in mano poco a poco, pezzettino per pezzettino, dei pezzi di software, si completano prima di prendere in mano un pezzettino successivo. Alla fine ci un ciclo di sprint, devi dimostrare di aver prodotto del software o “sei fottuto”.  Sostanzialmente deve rispettare due requisiti: • Ha la qualità giusta per essere rilasciato?  • Produce un incremento di valore tale da avere senso sotto il profilo business? Il senso di un cycle in scrum è avere feedback continui sui prodotti, in questo senso più breve è uno sprint meglio è. Normalmente un ciclo dura 2 settimane, ma è sempre maggiore la tendenza di cicli di una settimana.
  • 27. Meeting di pianificazione dello sprint • E’ diviso in due parti: • PARTE PRIMA: Che “user story” vogliamo sviluppare? -> il “product owner” presenta cosa gli piacerebbe che il team sviluppasse durante lo sprint. Le richieste vengono strutturate in “user story” e approfondite finché il team di sviluppo non è sicuro di averle capite bene. Poi il team decide se può impegnarsi a sviluppare tutte quelle cose per la fine dello sprint o se rimandarle a uno sprint successivo. • NB: la separazione dei ruoli! Il “product owner” decide che storie dovranno essere prese in considerazione, ma solo il team decide se sono fattibili o no all’interno di questo sprint.
  • 28. Pianificazione dello sprint • E’ diviso in due parti: • PARTE SECONDA: Quali sono le task to-do per ogni user story? (es. aggiungere un campo al database, scrivere un aiuto, inserire un menù, ecc). In questa parte del meeting il “product owner” è a disposizione per rispondere alle domande.  • DURATA: Da 1 a 2 ore per settimana di sprint. • RISULTATO: lo sprint backlog. Il product owner si impegna a non chiedere altro al team durante lo sprint a meno che la richiesta non arrivi dal team stesso.
  • 29. Daily Scrum • meeting quotidiano e breve (15 minuti) • ogni partecipante dice che task ha completato il giorno precedente, che task conta di completare durante il giorno, che ostacoli vede. • Se ci sono dei problemi l’obiettivo è che emergano in questo meeting, non che vengano risolti! Le persone più adatte si accorderanno per confrontarsi dopo il meeting se necessario per risolvere un problema.
  • 30. Story Time • Un’ora alla settimana, con il product owner, per ragionare su possibili “user story” future, sui tempi da assegnare a ciascuna e per rivedere la definizione di “fatto” del team. • In questo meeting si fa “story splitting”: le storie prossime allo sviluppo devono essere brevi e chiare. • Anche se lo story-splitting è responsabilità del product-owner, questo meeting è l’occasione per chiedere l’aiuto al team di sviluppo.
  • 31. Revisione dello sprint • E’ la fine dello sprint. E l'occasione per il team di mostrare quello che ha fatto, per raccogliere osservazioni, suggerimenti, ecc. • In questo senso è un meeting che può essere aperto anche ad esterni - clienti, beta tester, stakeholders, ecc. • In questo meeting NON si prendono decisioni, è solo un momento di condivisione e di raccolta di opinioni.  • Durata: dai 30 minuti a 1 ora per ogni settimana di sprint. 
  • 32. Team meeting di revisione • L’obiettivo dello scrum è la crescita continua e costante del team. Questo meeting, riservato al team di sviluppo, è l’occasione per condividere quello che ha imparato e di identificare uno o due cambiamenti strategici da testare durante lo sprint successivo. • Durata: da 1 a 2 ore per settimana di sviluppo.
  • 34. Tool per gestire lo scrum
  • 35. Tool per gestire lo scrum