Introduzione a Scrum
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à.”
Stiamo perdendo la staffetta...
Caratteristiche fondamentali
Team auto-organizzati e auto-gestiti Sviluppo del prodotto suddiviso in “scatti” mensili
(sprintsprint) Requisiti selezionati “autonomamente” dal Team da un
contenitore di oggetti (product backlogproduct backlog) relativi al prodotto in sviluppo
Attività, necessarie nello Sprint per realizzare i requisiti selezionati, elencate in uno “Sprint backlog”
Piena libertà nella scelta delle pratiche ingegneristiche Uso di un “generatore di regole” necessario alla
creazione di un ambiente “agile”
Requisitiaccumulati
Obiettivosprint
Sprint 2-4 settimane
24 ore
Visione complessiva
Sprint Backlog
Product Backlog
AttivitàFatto
Gli sprint
I progetti si evolvono in una serie di “sprint” Durata tipica da due a quattro settimane
La costanza di questo periodo influisce positivamente sul ritmo
Progettazione, sviluppo e testing L'analisi e la scelta (obiettivi) dei requisiti viene
svolta prima dello “sprint”
Atomicità dello sprint
Le attività contenute nello “Sprint backlog” non possono essere modificate durante lo sprint stesso
Modifica
➢Product Owner➢Scrum Master➢Team
Ruoli
➢Pianificazione Sprint➢Revisione Sprint➢Analisi Sprint➢Riunione quotidiana
Riunioni
➢Product Backlog➢Sprint Backlog➢Release/Sprint Burndown
Documenti
Scrum framework
I RUOLII RUOLI
Product Owner
Definisce i requisiti del prodotto Continua interazione con il committente
Decide le date di rilascio ed i contenuti E' responsabile del valore del prodotto Stabilisce le priorità dei requisiti nello sviluppo
In accordo alle necessità di mercato
Accetta o rigetta i risultati del lavoro
Scrum Master
È il Team Leader Interfaccia il management con il team
E' responsabile nell'implementare la cultura Scrum nel Team
Rimuove eventuali impedimenti Assicura la produttività al team Lo protegge da interferenze esterne
Permette la cooperazione tra i ruoli e le funzioni
Il team
Ristretto Formato tipicamente da 5-9
unità
Cross-funzionale Per esempio, nello sviluppo SW, programmatori,
disegnatori, tester, progettisti di interfacce, etc.
Focalizzato sull'obiettivo Tutti i membri sono a tempo pieno
Però si ammettono eccezioni
Il team (cont)
Auto-organizzato Nessuna denominazione specifica Componenti liberi da ogni vincolo
organizzativo
Coerente La composizione può cambiare soltanto tra uno
sprint e il successivo Il team si forma prima di ogni nuova iterazione ma
tendenzialmente dovrebbe essere stabile
LE RIUNIONILE RIUNIONI
Analisi (4 ore)
✔ Analizzare e valutare i requisiti di prodotto
✔ Selezionare obiettivo dello sprint
Progettazione (4 ore)
✔ Decidere come raggiungere l'obiettivo
✔ Creare lista di azioni da intraprendere in base ai requisiti
✔ Stimare la durata (in ore) delle azioni che vanno intraprese
Obiettivo
Azioni
Condizioni economiche
Capacità della
squadra
Lista requisiti
Tecnologia
Prodotto corrente
Pianificazione sprint
Pianificazione sprint (cont)
Il team seleziona le funzionalità che è in grado di realizzare nello sprint
Viene creata la lista di azioni da intraprendere (sprint backlogsprint backlog)
Ciascuna attività viene identificata e temporalmente stimata (durata max attività 16 ore)
Lavoro collaborativo
Esempio: in un'applicazione (SW) per pianificare vacanze, vorrei vedere le foto degli alberghi.
Esempio: in un'applicazione (SW) per pianificare vacanze, vorrei vedere le foto degli alberghi.
Codifica del middle tier (8 ore)Codifica dell'interfaccia utente (4)Scrittura configurazioni di test (4)Codifica della classe “paperino” (6)Aggiornamento dei test di performance (4)
Riunione giornaliera
Caratteristiche Quotidiana 15 minuti In piedi
Non deve risolvere i problemi ma evidenziarli Aperta agli esterni Solo i membri del team, lo scrum master ed il
product owner hanno diritto di parola
È l’unico tipo di riunioni ammesso durante lo sprint
Riunione giornaliera (cont)
Ciascun membro del team si pone le tre seguenti domande: Cosa hai fatto ieri?
Cosa farai oggi?
Problemi incontrati / incontrabili?
Queste risposte non servono per “controllo” ma per stimolare il confronto fra Idee
Sono semplici resoconti fatti alla platea
Scrum-Ban
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 svolgimento Concluse
Revisione dello sprint
Il team presenta i risultati ottenuti durante lo sprint
Ad esempio in ambito SW, una demo di nuove funzionalità o un’ innovazione architetturale, ..
Informale Durata di circa due ore Senza diapositive
Partecipazione di tutti i membri del team Aperta agli esterni
Analisi dello sprint
Periodico controllo di verifica Cosa funziona e cosa ancora no
Durata di circa 15 / 30 minuti Eseguito dopo ogni sprint, prima del successivo Partecipazione di tutte le persone coinvolte
Product owner Scrum master Team Etc.
Analisi dello sprint (cont)
Confronto tra i partecipanti sulle attività da: Intraprendere
Abbandonare
Continuare
Esistono tanti modi per eseguire l'analisi dello sprint
I DOCUMENTII DOCUMENTI
(Artefatti)(Artefatti)
Product Backlog
Contenitore di “requisiti”, funzionali e non, che rappresentano un valore per il committente
Aggiornato in modo continuo
Priorità stabilite dal product owner Prima di ogni sprint
Analisi dei requisiti da soddisfare effettuata prima di ogni sprint
Produce la lista delle attività da eseguire
Questa è la rappresentazione
Sprint Backlog
Contenitore delle attività necessarie ad implementare i requisiti del product backlog selezionati
Sono stabilite durante la pianificazione dello sprint
Ciascun membro del team Sceglie il lavoro da fare e ne è responsabile
I compiti non devono mai essere assegnati Stima quotidianamente quanto lavoro rimane
Sprint Backlog
La durata dello sprint può essere eventualmente allungata
Questa è la rappresentazione
Sprint Burndown
Rappresentazione grafica delle ore necessarie al team per ogni giorno della settimana
Scalabilità
Un progetto può essere sviluppato da molteplici “scrum” team in “gerarchia”
Fattori di scalabilità Tipologia di applicazione Dimensione dei team Dispersione dei team Durata del progetto
Esistono esempi di progetti che hanno coinvolto più di 500 persone
Scrum degli scrum
Scrum degli scrum (cont)