SlideShare a Scribd company logo
1 of 32
Download to read offline
ALM Saturday
Team Foundation Server
& SCRUM
Pordenone - 5 Ottobre 2013
Manuel Scapolan
Lessons Learned
Se capita che…
2
• Cambiano le specifiche a pochi giorni dal
rilascio in produzione
3
http://thecodinglove.com
4
• Si inizia subito a sviluppare senza aver fatto
alcuna analisi
http://thecodinglove.com
• Ti comunicano che la funzionalità che hai
appena sviluppato non verrà mai usata
5
http://thecodinglove.com
E’ ora di cambiare
6
Cosa vogliamo
• Produrre software di qualità
• Soddisfare i nostri clienti
• Rispettare i tempi di consegna
• Rispondere velocemente ai cambiamenti
• Migliorare continuamente
7
Scrum è la risposta
8
Come iniziare?
9
Start small
• Siamo partiti con 2 team su 8
• All’inizio è molto frequente fare dei cambiamenti,
meglio se impattano su poche risorse
• Abbiamo scelto uno strumento che ci aiutasse a
tracciare e raccogliere i risultati
10
Team Foundation Server
• Completo
• Integrato con gli strumenti di sviluppo
• Aggiornato
• Facile da usare
• Estendibile e personalizzabile
11
Collection e Team Project
• Abbiamo creato un Team Project per tutta l’area
di produzione
• All’interno del Team Project abbiamo creato tanti
Team quanti sono i reparti di sviluppo
12
Aree e product backlog
• Abbiamo utilizzato le aree per assegnare i
progetti ai singoli team (nel nostro caso un
team gestisce normalmente più progetti)
• Attraverso le aree il product backlog viene
filtrato per team, abbiamo quindi una sorta di
team backlog
13
Il calendario degli sprint
• Ogni team ha i suoi sprint
• Uno sprint dura 2 settimane
• Il nome è un progressivo,
ovvero Sprint n
• I team sono tutti sincronizzati,
si parte lo stesso giorno e si
finisce lo stesso giorno
14
Sprint planning
• Le stime dei PBI vengono fatte in ore per essere
più precisi nel forecasting
• Il planning dello sprint comincia gli ultimi
giorni di quello precedente con discussione e
stima dei PBI in cima al backlog
• La mattina del primo giorno si chiude il
planning con la definizione dei task
15
Bug
• Tracciamo anche chi lo ha scoperto
16
Task
• Salviamo sia il tempo stimato iniziale che il
tempo effettivo utilizzato per portare a termine
il lavoro
17
Da completare
Sovrastimato
Sottostimato
L’importanza delle stime
• Riuscire a stimare correttamente un’attività è un fattore
determinante per poter rispettare gli impegni presi in fase
di planning
• Per aiutarci nelle stime possiamo:
• Far fare la stima a più componenti del team (stile planning poker)
• Confrontare stime fatte in precedenza
• Non fare task troppo grandi
• Non portare nel backlog PBI non ancora analizzati
• Utilizzare dei task esplorativi che permettano di essere più
confidenti nella stima
18
Definition of Done
• Ogni team definisce quali attività devono essere
svolte per considerare chiuso un PBI, come ad
esempio:
• Sviluppo della funzionalità
• Unit testing
• Documentazione
• Superamento delle regole di stile (vedi StyleCop)
• Può cambiare nel tempo
19
Impediment
• Attività che impedisce il regolare svolgimento
dei compiti decisi in fase di pianificazione
• Possono essere:
• Richieste di nuove funzionalità o di modifiche a
funzionalità esistenti
• Bug o richieste di supporto
• Attività esterna al team che blocca un task
attualmente in progress
20
Gestire gli impediment
• Abbiamo creato una struttura gerarchica per
organizzare e raccogliere gli impediment:
• Impediment della produzione
• Impediment del teamA
• Impediment del team A per lo sprint 1
• Impediment del team A per lo sprint 2
• Impediment del teamB
• Impediment del team B per lo sprint 1
• Impediment del team B per lo sprint 2
21
Inserire un nuovo impediment
• Partiamo dal presupposto che sia già stato
discusso e che debba essere fatto nello sprint
corrente:
1. Creiamo un PBI con la motivazione
2. Creiamo i task necessari per portarlo a termine
3. Lo leghiamo come figlio dell’impediment del team
per lo sprint corrente
22
Team member «a consuntivo»
• Creiamo un PBI con effort uguale alla capacità
del team member per lo sprint
• Creiamo un task fittizio con le stesse ore del PBI
• Quando comincia lo sprint:
• Il team member crea per ogni attività un nuovo task
con le ore dedicate
• Scala le ore dedicate ai nuovi task da quello fittizio
• A fine sprint il task fittizio viene rimosso
23
Il Burndown
• Se non riesco a portare a termine tutte le
attività le lascio nello sprint e le vado a
rimuovere o spostare all’inizio di quello
successivo
24
Sprint Retrospective
• Imparare dai propri errori
• Pianificare le azioni correttive già dallo sprint
successivo
• Rendere il miglioramento misurabile
• Coinvolgere e contaminare gli altri team
25
Motivazione
26
La motivazione cala
• Appena si finisce in rosso
• Quando si sbagliano le stime
• Quando non si raggiunge l’obiettivo dello sprint
• Quando esce un bug in produzione
• Quando si ricevono troppe interruzioni*
27
* Programmers interrupted: http://blog.ninlabs.com/2013/01/programmer-interrupted/
La motivazione cresce
• Quando si riesce a portare a termine tutte le
attività di uno sprint
• Quando si centrano le stime
• Quando trovo quello che ho rilasciato viene
utilizzato e migliora il lavoro di qualcun altro
28
In conclusione
(allo stato attuale)
29
-
• Il costo iniziale è alto e se non si contaminano
le altre aree diventa pesante da sostenere
• Se si smette di migliorare si peggiora
• Si corre il rischio di adottare lo strumento al
posto della metodologia
• Alle prime difficoltà non è facile resistere alla
tentazione di prendere delle scorciatoie
30
+
• Col tempo si crea una ritualità che condiziona
la settimana lavorativa
• In ogni momento posso sempre sapere che cosa
devo fare
• L’avere un obiettivo per lo sprint è motivante
• Il raggiungerlo lo è ancora di più
31
29
Thank You! MANUEL SCAPOLAN
website: www.manuelscapolan.it
twitter: manuelscapolan
e-mail: info@manuelscapolan.it

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
 
Agile Project Management
Agile Project ManagementAgile Project Management
Agile Project ManagementGiulio Roggero
 
Scrum! Sopravvivere e gestire progetti tra polli, maiali e clienti
Scrum! Sopravvivere e gestire progetti tra polli, maiali e clientiScrum! Sopravvivere e gestire progetti tra polli, maiali e clienti
Scrum! Sopravvivere e gestire progetti tra polli, maiali e clientiMarco Da Rin Zanco
 
Better Software 2010 - Applicazione pratica di un processo di sviluppo Agile ...
Better Software 2010 - Applicazione pratica di un processo di sviluppo Agile ...Better Software 2010 - Applicazione pratica di un processo di sviluppo Agile ...
Better Software 2010 - Applicazione pratica di un processo di sviluppo Agile ...Paolo Quaglia
 
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
 
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
 
2014 11-21 presentazione breton agile at work - trento
2014 11-21 presentazione breton agile at work - trento2014 11-21 presentazione breton agile at work - trento
2014 11-21 presentazione breton agile at work - trentoClaudio Saurin
 
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
 
Redistributable Intro To Scrum Ita
Redistributable Intro To Scrum ItaRedistributable Intro To Scrum Ita
Redistributable Intro To Scrum ItaLuciano Benetti
 
2014 11-15 presentazione breton agile day ancona
2014 11-15 presentazione breton agile day ancona2014 11-15 presentazione breton agile day ancona
2014 11-15 presentazione breton agile day anconaClaudio Saurin
 
Agile e l’arte di semplificare progetti complessi
Agile e l’arte di semplificare progetti complessiAgile e l’arte di semplificare progetti complessi
Agile e l’arte di semplificare progetti complessiGiulio Roggero
 
Scrum? E' come fare il bucato!
Scrum? E' come fare il bucato!Scrum? E' come fare il bucato!
Scrum? E' come fare il bucato!Manuel Scapolan
 
Agile and Lean: dalla pratica alla teoria
Agile and Lean: dalla pratica alla teoriaAgile and Lean: dalla pratica alla teoria
Agile and Lean: dalla pratica alla teoriaFrancesco Mapelli
 

What's hot (17)

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...
 
Agile Project Management
Agile Project ManagementAgile Project Management
Agile Project Management
 
Scrum! Sopravvivere e gestire progetti tra polli, maiali e clienti
Scrum! Sopravvivere e gestire progetti tra polli, maiali e clientiScrum! Sopravvivere e gestire progetti tra polli, maiali e clienti
Scrum! Sopravvivere e gestire progetti tra polli, maiali e clienti
 
Semplicemente Agile
Semplicemente AgileSemplicemente Agile
Semplicemente Agile
 
Metodologie di sviluppo
Metodologie di sviluppoMetodologie di sviluppo
Metodologie di sviluppo
 
Lezione 1: I metodi agili
Lezione 1: I metodi agiliLezione 1: I metodi agili
Lezione 1: I metodi agili
 
Better Software 2010 - Applicazione pratica di un processo di sviluppo Agile ...
Better Software 2010 - Applicazione pratica di un processo di sviluppo Agile ...Better Software 2010 - Applicazione pratica di un processo di sviluppo Agile ...
Better Software 2010 - Applicazione pratica di un processo di sviluppo Agile ...
 
Agile methodologies
Agile methodologiesAgile methodologies
Agile methodologies
 
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
 
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
 
2014 11-21 presentazione breton agile at work - trento
2014 11-21 presentazione breton agile at work - trento2014 11-21 presentazione breton agile at work - trento
2014 11-21 presentazione breton agile at work - trento
 
5 scrum dalle trincee - principi agili
5   scrum dalle trincee - principi agili5   scrum dalle trincee - principi agili
5 scrum dalle trincee - principi agili
 
Redistributable Intro To Scrum Ita
Redistributable Intro To Scrum ItaRedistributable Intro To Scrum Ita
Redistributable Intro To Scrum Ita
 
2014 11-15 presentazione breton agile day ancona
2014 11-15 presentazione breton agile day ancona2014 11-15 presentazione breton agile day ancona
2014 11-15 presentazione breton agile day ancona
 
Agile e l’arte di semplificare progetti complessi
Agile e l’arte di semplificare progetti complessiAgile e l’arte di semplificare progetti complessi
Agile e l’arte di semplificare progetti complessi
 
Scrum? E' come fare il bucato!
Scrum? E' come fare il bucato!Scrum? E' come fare il bucato!
Scrum? E' come fare il bucato!
 
Agile and Lean: dalla pratica alla teoria
Agile and Lean: dalla pratica alla teoriaAgile and Lean: dalla pratica alla teoria
Agile and Lean: dalla pratica alla teoria
 

Viewers also liked

AntiPatterns: i vizi del programmatore
AntiPatterns: i vizi del programmatoreAntiPatterns: i vizi del programmatore
AntiPatterns: i vizi del programmatoreManuel Scapolan
 
Domain Driven Design e CQRS
Domain Driven Design e CQRSDomain Driven Design e CQRS
Domain Driven Design e CQRSManuel Scapolan
 
Entity Framework 4.0 vs NHibernate
Entity Framework 4.0 vs NHibernateEntity Framework 4.0 vs NHibernate
Entity Framework 4.0 vs NHibernateManuel Scapolan
 
Dai delegati a LINQ con C#
Dai delegati a LINQ con C#Dai delegati a LINQ con C#
Dai delegati a LINQ con C#Manuel Scapolan
 
Tutte le novità di ASP.NET MVC3
Tutte le novità di ASP.NET MVC3Tutte le novità di ASP.NET MVC3
Tutte le novità di ASP.NET MVC3Manuel Scapolan
 
Managed Extensibility Framework (MEF)
Managed Extensibility Framework (MEF)Managed Extensibility Framework (MEF)
Managed Extensibility Framework (MEF)Manuel Scapolan
 
C# e la Framework Class Library
C# e la Framework Class LibraryC# e la Framework Class Library
C# e la Framework Class LibraryManuel Scapolan
 
JavaScript Object Oriented
JavaScript Object OrientedJavaScript Object Oriented
JavaScript Object OrientedManuel Scapolan
 
Stai guardando i dati sbagliati
Stai guardando i dati sbagliatiStai guardando i dati sbagliati
Stai guardando i dati sbagliatiAlberto Brandolini
 
Costruire l'identità digitale con il piano editoriale
Costruire l'identità digitale con il piano editorialeCostruire l'identità digitale con il piano editoriale
Costruire l'identità digitale con il piano editorialeFederico Venturini
 
Inbox Zero: How to Become an Email Ninja
Inbox Zero: How to Become an Email NinjaInbox Zero: How to Become an Email Ninja
Inbox Zero: How to Become an Email NinjaMichael Reynolds
 
Object-oriented Programming-with C#
Object-oriented Programming-with C#Object-oriented Programming-with C#
Object-oriented Programming-with C#Doncho Minkov
 
Inbox Zero: Action-Based Email
Inbox Zero: Action-Based EmailInbox Zero: Action-Based Email
Inbox Zero: Action-Based Emailmerlinmann
 

Viewers also liked (20)

AntiPatterns: i vizi del programmatore
AntiPatterns: i vizi del programmatoreAntiPatterns: i vizi del programmatore
AntiPatterns: i vizi del programmatore
 
Knockout.js
Knockout.jsKnockout.js
Knockout.js
 
Domain Driven Design e CQRS
Domain Driven Design e CQRSDomain Driven Design e CQRS
Domain Driven Design e CQRS
 
Entity Framework 4.0 vs NHibernate
Entity Framework 4.0 vs NHibernateEntity Framework 4.0 vs NHibernate
Entity Framework 4.0 vs NHibernate
 
NOSQL
NOSQLNOSQL
NOSQL
 
Dai delegati a LINQ con C#
Dai delegati a LINQ con C#Dai delegati a LINQ con C#
Dai delegati a LINQ con C#
 
Tutte le novità di ASP.NET MVC3
Tutte le novità di ASP.NET MVC3Tutte le novità di ASP.NET MVC3
Tutte le novità di ASP.NET MVC3
 
Managed Extensibility Framework (MEF)
Managed Extensibility Framework (MEF)Managed Extensibility Framework (MEF)
Managed Extensibility Framework (MEF)
 
C# e la Framework Class Library
C# e la Framework Class LibraryC# e la Framework Class Library
C# e la Framework Class Library
 
JavaScript Object Oriented
JavaScript Object OrientedJavaScript Object Oriented
JavaScript Object Oriented
 
JavaScript
JavaScriptJavaScript
JavaScript
 
Stai guardando i dati sbagliati
Stai guardando i dati sbagliatiStai guardando i dati sbagliati
Stai guardando i dati sbagliati
 
Costruire l'identità digitale con il piano editoriale
Costruire l'identità digitale con il piano editorialeCostruire l'identità digitale con il piano editoriale
Costruire l'identità digitale con il piano editoriale
 
Liberate il kraken
Liberate il krakenLiberate il kraken
Liberate il kraken
 
OOP with C#
OOP with C#OOP with C#
OOP with C#
 
HTML e CSS
HTML e CSSHTML e CSS
HTML e CSS
 
Inbox Zero: How to Become an Email Ninja
Inbox Zero: How to Become an Email NinjaInbox Zero: How to Become an Email Ninja
Inbox Zero: How to Become an Email Ninja
 
Object-oriented Programming-with C#
Object-oriented Programming-with C#Object-oriented Programming-with C#
Object-oriented Programming-with C#
 
Transactions redefined
Transactions redefinedTransactions redefined
Transactions redefined
 
Inbox Zero: Action-Based Email
Inbox Zero: Action-Based EmailInbox Zero: Action-Based Email
Inbox Zero: Action-Based Email
 

Similar to TFS and Scrum - Lessons Learned

Agile raccontato a mia nonna
Agile raccontato a mia nonnaAgile raccontato a mia nonna
Agile raccontato a mia nonnaFelice Pescatore
 
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
 
SMED - Single Minute Exchange of Die
SMED - Single Minute Exchange of DieSMED - Single Minute Exchange of Die
SMED - Single Minute Exchange of DieMPS Consulting
 
Product Owner in un mondo Agile Extremely Scaled
Product Owner in un mondo Agile Extremely ScaledProduct Owner in un mondo Agile Extremely Scaled
Product Owner in un mondo Agile Extremely ScaledFelice de Robertis
 
La dura Agilità - Agile Business Day 2018
La dura Agilità - Agile Business Day 2018La dura Agilità - Agile Business Day 2018
La dura Agilità - Agile Business Day 2018Claudio Saurin
 
The scrum rules - SMAU Milano 2019
The scrum rules - SMAU Milano 2019The scrum rules - SMAU Milano 2019
The scrum rules - SMAU Milano 2019rhubbit
 
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
 
SMAU NAPOLI 2021 - Come individuare problemi e malfunzionamenti nei software ...
SMAU NAPOLI 2021 - Come individuare problemi e malfunzionamenti nei software ...SMAU NAPOLI 2021 - Come individuare problemi e malfunzionamenti nei software ...
SMAU NAPOLI 2021 - Come individuare problemi e malfunzionamenti nei software ...SMAU
 
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
 
Oil - Time management
Oil - Time managementOil - Time management
Oil - Time managementguest822827
 
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
 
Leader standard work.pdf
Leader standard work.pdfLeader standard work.pdf
Leader standard work.pdfFabrizioBianchi
 
Agile e Lean in sintesi
Agile e Lean in sintesiAgile e Lean in sintesi
Agile e Lean in sintesiStefano Muro
 
Lezione 2: Pianificazione in Extreme Programming
Lezione 2: Pianificazione in Extreme ProgrammingLezione 2: Pianificazione in Extreme Programming
Lezione 2: Pianificazione in Extreme ProgrammingAndrea Della Corte
 
Slide Wallabiez Agile Day 2007
Slide Wallabiez Agile Day 2007Slide Wallabiez Agile Day 2007
Slide Wallabiez Agile Day 2007Manuela Munaretto
 

Similar to TFS and Scrum - Lessons Learned (20)

Scrum In A Nutshell
Scrum In A NutshellScrum In A Nutshell
Scrum In A Nutshell
 
Agile raccontato a mia nonna
Agile raccontato a mia nonnaAgile raccontato a mia nonna
Agile raccontato a mia nonna
 
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
 
SMED - Single Minute Exchange of Die
SMED - Single Minute Exchange of DieSMED - Single Minute Exchange of Die
SMED - Single Minute Exchange of Die
 
Product Owner in un mondo Agile Extremely Scaled
Product Owner in un mondo Agile Extremely ScaledProduct Owner in un mondo Agile Extremely Scaled
Product Owner in un mondo Agile Extremely Scaled
 
La dura Agilità - Agile Business Day 2018
La dura Agilità - Agile Business Day 2018La dura Agilità - Agile Business Day 2018
La dura Agilità - Agile Business Day 2018
 
The scrum rules - SMAU Milano 2019
The scrum rules - SMAU Milano 2019The scrum rules - SMAU Milano 2019
The scrum rules - SMAU Milano 2019
 
What is kanban
What is kanbanWhat is kanban
What is kanban
 
Scrum method.pptx
Scrum method.pptxScrum method.pptx
Scrum method.pptx
 
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
 
SMAU NAPOLI 2021 - Come individuare problemi e malfunzionamenti nei software ...
SMAU NAPOLI 2021 - Come individuare problemi e malfunzionamenti nei software ...SMAU NAPOLI 2021 - Come individuare problemi e malfunzionamenti nei software ...
SMAU NAPOLI 2021 - Come individuare problemi e malfunzionamenti nei software ...
 
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 ...
 
Oil - Time management
Oil - Time managementOil - Time management
Oil - Time management
 
Oil - Time management
Oil - Time managementOil - Time management
Oil - Time management
 
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
 
Scrum by the book
Scrum by the bookScrum by the book
Scrum by the book
 
Leader standard work.pdf
Leader standard work.pdfLeader standard work.pdf
Leader standard work.pdf
 
Agile e Lean in sintesi
Agile e Lean in sintesiAgile e Lean in sintesi
Agile e Lean in sintesi
 
Lezione 2: Pianificazione in Extreme Programming
Lezione 2: Pianificazione in Extreme ProgrammingLezione 2: Pianificazione in Extreme Programming
Lezione 2: Pianificazione in Extreme Programming
 
Slide Wallabiez Agile Day 2007
Slide Wallabiez Agile Day 2007Slide Wallabiez Agile Day 2007
Slide Wallabiez Agile Day 2007
 

TFS and Scrum - Lessons Learned

  • 1. ALM Saturday Team Foundation Server & SCRUM Pordenone - 5 Ottobre 2013 Manuel Scapolan Lessons Learned
  • 3. • Cambiano le specifiche a pochi giorni dal rilascio in produzione 3 http://thecodinglove.com
  • 4. 4 • Si inizia subito a sviluppare senza aver fatto alcuna analisi http://thecodinglove.com
  • 5. • Ti comunicano che la funzionalità che hai appena sviluppato non verrà mai usata 5 http://thecodinglove.com
  • 6. E’ ora di cambiare 6
  • 7. Cosa vogliamo • Produrre software di qualità • Soddisfare i nostri clienti • Rispettare i tempi di consegna • Rispondere velocemente ai cambiamenti • Migliorare continuamente 7
  • 8. Scrum è la risposta 8
  • 10. Start small • Siamo partiti con 2 team su 8 • All’inizio è molto frequente fare dei cambiamenti, meglio se impattano su poche risorse • Abbiamo scelto uno strumento che ci aiutasse a tracciare e raccogliere i risultati 10
  • 11. Team Foundation Server • Completo • Integrato con gli strumenti di sviluppo • Aggiornato • Facile da usare • Estendibile e personalizzabile 11
  • 12. Collection e Team Project • Abbiamo creato un Team Project per tutta l’area di produzione • All’interno del Team Project abbiamo creato tanti Team quanti sono i reparti di sviluppo 12
  • 13. Aree e product backlog • Abbiamo utilizzato le aree per assegnare i progetti ai singoli team (nel nostro caso un team gestisce normalmente più progetti) • Attraverso le aree il product backlog viene filtrato per team, abbiamo quindi una sorta di team backlog 13
  • 14. Il calendario degli sprint • Ogni team ha i suoi sprint • Uno sprint dura 2 settimane • Il nome è un progressivo, ovvero Sprint n • I team sono tutti sincronizzati, si parte lo stesso giorno e si finisce lo stesso giorno 14
  • 15. Sprint planning • Le stime dei PBI vengono fatte in ore per essere più precisi nel forecasting • Il planning dello sprint comincia gli ultimi giorni di quello precedente con discussione e stima dei PBI in cima al backlog • La mattina del primo giorno si chiude il planning con la definizione dei task 15
  • 16. Bug • Tracciamo anche chi lo ha scoperto 16
  • 17. Task • Salviamo sia il tempo stimato iniziale che il tempo effettivo utilizzato per portare a termine il lavoro 17 Da completare Sovrastimato Sottostimato
  • 18. L’importanza delle stime • Riuscire a stimare correttamente un’attività è un fattore determinante per poter rispettare gli impegni presi in fase di planning • Per aiutarci nelle stime possiamo: • Far fare la stima a più componenti del team (stile planning poker) • Confrontare stime fatte in precedenza • Non fare task troppo grandi • Non portare nel backlog PBI non ancora analizzati • Utilizzare dei task esplorativi che permettano di essere più confidenti nella stima 18
  • 19. Definition of Done • Ogni team definisce quali attività devono essere svolte per considerare chiuso un PBI, come ad esempio: • Sviluppo della funzionalità • Unit testing • Documentazione • Superamento delle regole di stile (vedi StyleCop) • Può cambiare nel tempo 19
  • 20. Impediment • Attività che impedisce il regolare svolgimento dei compiti decisi in fase di pianificazione • Possono essere: • Richieste di nuove funzionalità o di modifiche a funzionalità esistenti • Bug o richieste di supporto • Attività esterna al team che blocca un task attualmente in progress 20
  • 21. Gestire gli impediment • Abbiamo creato una struttura gerarchica per organizzare e raccogliere gli impediment: • Impediment della produzione • Impediment del teamA • Impediment del team A per lo sprint 1 • Impediment del team A per lo sprint 2 • Impediment del teamB • Impediment del team B per lo sprint 1 • Impediment del team B per lo sprint 2 21
  • 22. Inserire un nuovo impediment • Partiamo dal presupposto che sia già stato discusso e che debba essere fatto nello sprint corrente: 1. Creiamo un PBI con la motivazione 2. Creiamo i task necessari per portarlo a termine 3. Lo leghiamo come figlio dell’impediment del team per lo sprint corrente 22
  • 23. Team member «a consuntivo» • Creiamo un PBI con effort uguale alla capacità del team member per lo sprint • Creiamo un task fittizio con le stesse ore del PBI • Quando comincia lo sprint: • Il team member crea per ogni attività un nuovo task con le ore dedicate • Scala le ore dedicate ai nuovi task da quello fittizio • A fine sprint il task fittizio viene rimosso 23
  • 24. Il Burndown • Se non riesco a portare a termine tutte le attività le lascio nello sprint e le vado a rimuovere o spostare all’inizio di quello successivo 24
  • 25. Sprint Retrospective • Imparare dai propri errori • Pianificare le azioni correttive già dallo sprint successivo • Rendere il miglioramento misurabile • Coinvolgere e contaminare gli altri team 25
  • 27. La motivazione cala • Appena si finisce in rosso • Quando si sbagliano le stime • Quando non si raggiunge l’obiettivo dello sprint • Quando esce un bug in produzione • Quando si ricevono troppe interruzioni* 27 * Programmers interrupted: http://blog.ninlabs.com/2013/01/programmer-interrupted/
  • 28. La motivazione cresce • Quando si riesce a portare a termine tutte le attività di uno sprint • Quando si centrano le stime • Quando trovo quello che ho rilasciato viene utilizzato e migliora il lavoro di qualcun altro 28
  • 30. - • Il costo iniziale è alto e se non si contaminano le altre aree diventa pesante da sostenere • Se si smette di migliorare si peggiora • Si corre il rischio di adottare lo strumento al posto della metodologia • Alle prime difficoltà non è facile resistere alla tentazione di prendere delle scorciatoie 30
  • 31. + • Col tempo si crea una ritualità che condiziona la settimana lavorativa • In ogni momento posso sempre sapere che cosa devo fare • L’avere un obiettivo per lo sprint è motivante • Il raggiungerlo lo è ancora di più 31
  • 32. 29 Thank You! MANUEL SCAPOLAN website: www.manuelscapolan.it twitter: manuelscapolan e-mail: info@manuelscapolan.it