Introduzione a Scrum. Prof. Paolo Ciancarini Corso di Ingegneria del Software CdL Informatica Università di Bologna

Documenti analoghi
Introduzione a Scrum. Prof. Paolo Ciancarini! Corso di Ingegneria del Software! CdL Informatica! Università di Bologna

Sviluppo software Agile

Sviluppo Agile. Prof. Filippo Lanubile. Processo software

AGENDA SECTION n Approccio Agile al PM. 2. Il metodo SCRUM

I lucidi messi a disposizione sul sito del corso di Analisi e progettazione del software NON sostituiscono il libro di testo

Principi di Progettazione del Software a.a " Processi di sviluppo del software! Prof. Luca Mainetti! Università del Salento!

Agile e Scrum in pratica

Scrum. Caratteristiche, Punti di forza, Limiti. versione del tutorial: Pag. 1

Echi da Amsterdam. Titolo: Sintesi presentazioni Metodologia Agile. Sintesi del Leadership Meeting e dell EMEA Congress Relatore: Bruna Bergami

Agile Principles Agile People. Gaetano Mazzanti Gama-Tech

Agile Project Management - LC90.99B. Team Scrum (gruppo di progetto)

LightCode. Processi e Tool di Sviluppo del Software v05.00

TECNOLOGIA E BUSINESS AGILITY L APPROCCIO AGILE DI ALTEA UP MASSIMILIANO LENZI, PMP

I Valori del Manifesto Agile sono direttamente applicabili a Scrum:!

Certified ScrumMaster

The Scrum Guide. La Guida Definitiva a Scrum: Le Regole del Gioco. Ottobre Sviluppata e sostenuta da Ken Schwaber e Jeff Sutherland

Gestione dello sviluppo software Modelli Agili

METODI AGILI IL CONTROLLO DI GESTIONE PER. Loredana G. Smaldore

Sviluppo software in gruppi di lavoro complessi 1

CORPO DI CONOSCENZE DI SCRUM (SBOK GUIDE)

Gestione dello sviluppo software Modelli Agili

Presentazione per. «La governance dei progetti agili: esperienze a confronto»

Seminario Metodi Agili per la gestione dei progetti per Decision Makers

La Guida a Scrum. La Guida Definitiva a Scrum: Le Regole del Gioco. Luglio Sviluppata e mantenuta da Ken Schwaber Jeff Sutherland

Introduzione all ambiente di sviluppo

Sviluppo software in gruppi di lavoro complessi 1

Svigruppo. Monga. Svigruppo. Monga

La Guida a Scrum TM. La guida definitiva a Scrum: Le regole del gioco. Luglio Sviluppata e mantenuta da Ken Schwaber e Jeff Sutherland

Corso di Ingegneria del Software. Introduzione al corso

Le sfide dell organizzazione ICT vs i nuovi modelli di business

Laura Semini Dipartimento di Informatica Università di Pisa

Nell ambito quindi di un ulteriore potenziamento della propria struttura, Klopotek Software & Technology Services S.r.l.

IBM - IT Service Management 1

La Guida a Nexus. La guida definitiva a Nexus: L esoscheletro dello sviluppo in scala con Scrum. Sviluppata e mantenuta da Ken Schwaber e Scrum.

Università di Bergamo Facoltà di Ingegneria INGEGNERIA DEL SOFTWARE. Paolo Salvaneschi A6_3 V2.1. Gestione

NEAL. Increase your Siebel productivity

Project Management Collaboration Tool

Approcci agili per affrontare la sfida della complessità

UFFICIO TECNICO E ANALISI DI MERCATO- Settore I Informatica e Settore II Telecomunicazioni. Lotto 1 Appendice 1 Profili Professionali

LA TECHNOLOGY TRANSFER PRESENTA CRAIG ROMA OTTOBRE 2015 ROMA OTTOBRE 2015 VISCONTI PALACE HOTEL - VIA FEDERICO CESI, 37

Un team agile allo sprint. 28 Febbraio 2013 Emiliano Soldi

Corso di Laurea Triennale in Ingegneria Informatica Ingegneria del software. Processo software. Marina Mongiello. il processo

Programma integrato di. formazione e certificazione Scrum

Materiale didattico. Sommario

INTERAZIONE UOMO-MACCHINA

Società di consulenza focalizzata sulle soluzioni di Enterprise Project & Portfolio Management

La Guida a Scrum. La guida definitiva a Scrum: Le regole del gioco. novembre 2017

Operations Management Team

CEPIS e-cb Italy Report. Roberto Bellini (da leggere su )

Il BIM per la gestione della commessa. Ing. Antonio Ianniello

LA SACRA BIBBIA: OSSIA L'ANTICO E IL NUOVO TESTAMENTO VERSIONE RIVEDUTA BY GIOVANNI LUZZI

OFFERTA DI LAVORO (1)

Pratiche di XP [Beck] Extreme Programming (XP) Story Card. Gioco di pianificazione

Ingegneria del Software

SERVICE MANAGEMENT E ITIL

A.A. 2006/2007 Laurea di Ingegneria Informatica. Fondamenti di C++ Horstmann Capitolo 3: Oggetti Revisione Prof. M. Angelaccio

CA-Clarity Vision. Governare la trasformazione delle idee in iniziative di business con un approccio agile Fabio Cresta Principal Consultant

Gestione dello sviluppo software Modelli Base

Marco Cattaneo. Product Marketing Manager Windows Client

Nuove figure professionali per il web. Roberto Baudo

Ingegneria del Software

Agile Practitioner Curriculum 2015

The Future with FOLIO

Si usa. Lesson 14 (B1/B2) Present perfect simple / Present perfect continuous

CORSO DI ALTA FORMAZIONE

ITIL e PMBOK Service management and project management a confronto

Programma didattico. Master in Project Management

Simplify your work. Concept + Brand + Posizionamento. Overview + Metodologia + Front loading

CORSO MOC10231: Designing a Microsoft SharePoint 2010 Infrastructure. CEGEKA Education corsi di formazione professionale

Tesina per l esame di Sistemi Operativi a cura di Giuseppe Montano. Prof. Aldo Franco Dragoni

PRINCE2 e altri modelli di Project Management L approccio della Ragioneria Generale dello Stato

TRANSFORMATION ENGINE

GESTIONE IMMOBILIARE REAL ESTATE

Come realizzare test di usabilità semplificati con il protocollo eglu 2.0. Di Maurizio Boscarol Usabile.it

3d Comenius Newsletter. ISIS L. Calabrese P. Levi. The project poster. This is the final project poster! All the posters are very interesting,

Android Development. Course Projects. Università degli Studi di Parma

Unified Process - introduzione

IS Governance. Francesco Clabot Consulenza di processo.

Servizi inclusi. WLOD / Office 365 Technical Update Briefing. FastStart for Azure / Premier Architectural Services. Risk Assessment/ Workshop PLUS

La Guida a eduscrum. Le regole del Gioco. Settembre Sviluppata dal team eduscrum. Scritta da Arno Delhij, Rini van Solingen e Willy Wijnands

Catania, 07 Novembre The Social Picture. Crowdsourcing power of Social Media Da una produzione di massa ad una massa di produttori

Analisi e comparazione dei Framework OpenSwing e Google Web Toolkit per lo sviluppo di interfacce utente con paradigma MVC.

Sistema di gestione integrata dei beni culturali

WELFARE AZIENDALE, Lavoro

Il ruolo del POLIMI

Configuration Change Release Management

Ingegneria del Software L-A

Università degli studi di Padova

CORSO MOC20466: Implementing Data Models and Reports with Microsoft SQL Server. CEGEKA Education corsi di formazione professionale

Introduzione ai casi d uso

INTERAZIONE UOMO-MACCHINA

UX-PM level 1: Adopting UX

Organizzazione e Project Management Vincenzo Corvello

Nexus Advanced Technologies

L integrazione della ISO con le metodologie Agili

Mercoledì 21 Dicembre Coffee Break con Microsoft e NETMIND alla scoperta delle novità Office365

Smart Working Il lavoro agile

CORSO MOC80299: What's New - Technical in Microsoft Dynamics AX 2012 for Development

MANAGEMENT & E-GOVERNANCE DELLA PUBBLICA AMMI- NISTRAZIONE - MAGPA II

Prova esperta asse matematico GRIGLIA DI CORREZIONE. Prova di gruppo:

Transcript:

Introduzione a Scrum Prof. Paolo Ciancarini Corso di Ingegneria del Software CdL Informatica Università di Bologna

Agenda Origini di Scrum: collaborazione responsabile Struttura dello sprint Ruoli Rituali Artefatti

Manifesto: valori agili Individui e interazioni Software che funziona Collaborazione del cliente Rispondere al cambiamento meglio di meglio di meglio di meglio di Processi e strumenti Documentazione completa Negoziazione contrattto Seguire un piano Fonte: www.agilemanifesto.org

Galline e maiali

Staffetta o pacchetto di mischia? The relay race approach to product development may conflict with the goals of maximum speed and flexibility. Instead a holistic or rugby approach where a team tries to go the distance as a unit, passing the ball back and forth may better serve today s competitive requirements. Hirotaka Takeuchi and Ikujiro Nonaka, The New New Product Development Game, Harvard Business Review, January 1986.

Dalla staffetta al pacchetto di mischia Requisiti Design Codice Test Non una cosa alla volta il team scrum fa un po di tutto in ogni sprint Source: The New New Product Development Game by Takeuchi and Nonaka. Harvard Business Review, January 1986.

Il modello Scrum

Scrum in 100 parole Scrum è un modello di processo per produrre software ottenendo il massimo valore utile nel minor tempo Permette al cliente di ispezionare rapidamente e ripetutamente ogni 3-4 settimane versioni funzionanti del software Il cliente definisce funzioni da realizzare e loro priorità. Il team di sviluppo decide quotidianamente il modo migliore di produrre le funzioni di più alta priorità. Ogni 3-4 settimane nasce una nuova versione che viene esaminata per decidere se continuarne lo sviluppo con un altro sprint o produrne un rilascio

Trasparenza Gli aspetti significativi del processo devono essere visibili ai responsabili del risultato finale (i pigs : il team, lo ScrumMaster, il Product Owner) La trasparenza richiede la condivisione e la comune comprensione di ciò che viene visto Esempi: Tutti i partecipanti debbono condividere un linguaggio comune di riferimento al processo di sviluppo La definizione di ciò che è Fatto deve essere condivisa sia da chi esegue sia da chi deve accettare un task

Origini di Scrum Jeff Sutherland 1993 Easel Corp 500+ persone usavano Scrum Ken Schwaber Articolo con Sutherland @OOPSLA 95 Autore di 3 libri su Scrum Mike Beedle Scrum patterns @PLOPD4 Ken Schwaber e Mike Cohn 2002: Scrum Alliance

Scrum usato da: Microsoft Yahoo Google Electronic Arts Facebook Lockheed Martin Philips Siemens Nokia Amazon BBC Intuit Intuit Nielsen Media First American Real Estate BMC Software Ipswitch John Deere Lexis Nexis Sabre Salesforce.com Time Warner Turner Broadcasting Oce

Scrum usato per: Software commerciale Sviluppo in-house Sviluppi a contratto Progetti a prezzo prefissato Applicazioni finanza Applicazioni certificate ISO 9001 Sistemi embedded the Joint Strike Fighter Applicazioni 24/7 con running time 99.999% Video giochi Sistemi life-critical Software di controllo satelliti Siti web Facebook, Amazon, Google Handheld software Sw per cellulari Network switching Applicazioni ISV Grandi sistemi

Punti chiave di Scrum Metodo agile, parzialmente pianificato Sviluppo agile guidato da storie e test Team di sviluppatori auto organizzante Il prodotto cresce in sprint di durata fissa I requisiti sono catalogati nel product backlog Per ogni sprint, ogni persona del team sceglie i requisiti da realizzare da uno sprint backlog Meetings: reviews e retrospettive

Un processo Scrum si compone di sprint 24 ore Sprint goal Ready 2-4 settimane Done xxxxxx Sprint backlog Incremento di prodotto potenzialmente rilasciabile yyyyyy Return Gift zzzzzz wrap sssssss Cancel uuuuuu Product backlog

L iterazione principale: lo sprint Un processo Scrum è una serie di sprint (analoghi delle iterazioni RUP) Durata 2-4 settimane o un mese max Durata costante (migliora il ritmo) Ogni sprint include design codifica e test Ogni sprint estrae funzioni Ready dal product backlog e aggiunge codice Done al prodotto da mostrare al cliente

Ciclo delle release in Scrum Fonte: www.scrumalliance.org

Niente cambiamenti al team durante lo sprint modifica Pianificare le durate degli sprint in modo da garantire che il team non cambi

Scrum: ruoli rituali artefatti Ruoli Product owner ScrumMaster Team Rituali Sprint planning Sprint review Sprint retrospective Daily scrum meeting Artefatti Product backlog Sprint backlog Burndown charts

Scrum: i ruoli Ruoli Product owner ScrumMaster Team Rituali Sprint planning Sprint review Sprint retrospective Daily scrum meeting Artefatti Product backlog Sprint backlog Burndown charts

Team Scrum Il Team Scrum (core) è formato da: Product Owner: rappresenta gli stakeholder (la voce del cliente), scrive il product backlog, user stories, Development Team: 3-9 membri con skill diversi responsabili della consegna di un PSI (Potentially Shippable Increment) Scrum Master: facilita la corretta esecuzione del processo, elimina gli ostacoli Meglio se non è coperto dalla persona con ruolo Product Owner Non ha responsabilità di gestione del personale o di project management tradizionale

Product owner

Product owner Definisce le feature del prodotto Decide i rilasci: date e contenuti Responsabile del valore del prodotto (ROI) Mette in priorità le feature rispetto al loro valore di mercato Per ogni iterazione rivede lista delle feature e loro priorità ove necessario Accetta o rifiuta i risultati

ScrumMaster Rappresenta il management Responsabile dei valori e pratiche Scrum Rimuove gli ostacoli Assicura il benessere del team Supporta la cooperazione di ruoli e funzioni Protegge il team da interferenze esterne

Gli altri membri del team 5-9 persone Varie specialità: Programmatori, testatori, user experience designers, etc. Impegno full-time Con eccezioni (e.g., database administrator, costoso)

Il team in Scrum

Il team Team autoorganizzante Modifiche al team solo in sprint diversi E stabile per tutto lo sprint Tutti presenti nello stesso spazio di lavoro

Scrum: i rituali Ruoli Product owner ScrumMaster Team Rituali Sprint planning Sprint review Sprint retrospective Daily scrum meeting Artefatti Product backlog Sprint backlog Burndown charts

I rituali Scrum Sprint planning meeting: cosa fare (sprint backlog) e come aggiornare il product backlog 8 ore divise in due blocchi da 4 Daily scrum o stand-up: ogni sviluppatore dice cosa ha fatto, cosa pianifica per oggi, che impedimenti ha trovato 15 minuti, in piedi Sprint Review: riguarda il prodotto: cosa è stato o non è stato completato in questo sprint, demo 4 ore al massimo Sprint Retrospective: riguarda il processo: cosa è andato bene e quali impedimenti sono stati trovati 3 ore al massimo

Team capacity Product backlog Condizioni del business Prodotto attuale Tecnologia Sprint planning meeting Sprint prioritization Analizza il product backlog Scegli l obiettivo di sprint Sprint planning Decide come conseguire sprint goal (design) Crea sprint backlog (tasks) da product backlog items (user stories / features) Stima sprint backlog in ore Sprint goal Sprint backlog

Struttura quotidiana di uno sprint su base settimanale

Pianificazione dello sprint Il team sceglie dal product backlog gli elementi che verranno certamente realizzati nello sprint Studio dell architettura di alto livello Si crea lo sprint backlog: i compiti da fare Identificazione e stima di ciascun compito (1-16 hours) Uso di Planning Poker As a vacation planner, I want to see photos of the hotels. Code the middle tier (8 hours) Code the user interface (4) Write test fixtures (4) Code the foo class (6) Update performance tests (4)

Planning poker

Scrum quotidiano Modalità quotidiano 15-minuti In piedi Niente problem solving Chiunque può assistere Possono parlare solo i pig: membri del team, ScrumMaster, Product Owner Scopo: evitare troppi incontri inutili

Tre domande a tutti Che hai fatto ieri? Che farai oggi? Prevedi problemi? 1 2 3 Non servono allo ScrumMaster per vedere il progresso Le risposte sono promesse ai compagni di team

La revisione dello sprint (sprint review) Il team presenta ciò che ha ottenuto con lo sprint rispetto al prodotto: come questo è cresciuto E una demo delle nuove funzioni o della nuova architettura Serve per verificare il product backlog Informale 2 h di preparazione Niente slide Partecipa tutto il team Invitare tutti

Sprint retrospective Riguarda il processo: come sta andando? Occorre analizzare periodicamente cosa va e cosa non va in ciascuno sprint Quando: dopo ogni sprint, dopo la review Partecipano tutti: ScrumMaster Product owner Team Forse clienti ed utenti ed altri stakeholders

Start / Stop / Continue Il team discute cosa vorrebbe fare: Start doing Stop doing Ci sono vari modi alternativi di definire una retrospettiva Continue doing

Lo scopo della retrospettiva Esaminare come è andato l ultimo Sprint riguardo a persone, relazioni, processi e strumenti; Identificare e ordinare gli elementi principali che sono andati bene e le migliorie potenziali; Creare un piano per attuare i miglioramenti al modo di lavorare del Team

Cancellare uno sprint Il product owner può cancellare uno sprint durante il suo svolgimento se l obiettivo dello sprint diventa obsoleto, per es. se sono cambiate le condizioni di mercato o se l organizzazione subisce una modifica Di solito non ha senso cancellare uno sprint

Scrum: gli artefatti Ruoli Product owner ScrumMaster Team Rituali Sprint planning Sprint review Sprint retrospective Daily scrum meeting Artefatti Product backlog Sprint backlog Burndown charts

Product backlog Questo è il product backlog Lista dei requisiti Definita in modo tale che ciascun elemento abbia valore per gli utenti o i clienti del prodotto Messa in priorità da product owner Priorità ridefinite all inizio di ogni sprint

Esempio di product backlog Elemento backlog Stima (h) Allow a guest to make a reservation 3 As a guest, I want to cancel a reservation. As a guest, I want to change the dates of a reservation. As a hotel employee, I can run RevPAR reports (revenue-per-available-room) 5 3 8 Improve exception handling 8... 30... 50

Variante del product backlog con analisi dei rischi

Obiettivo dello sprint (sprint goal) Breve descrizione del lavoro da fare durante lo sprint. Esempi: Database Application Life Sciences Support features necessary for population genetics studies. Make the application run on SQL Server in addition to Oracle. Financial services Support more technical indicators than company ABC with realtime, streaming data.

Gestione dello sprint backlog I membri del team prenotano lavoro da fare su scelta personale Il lavoro non viene assegnato, ma richiesto su base volontaria La stima del lavoro da fare in termini di effort viene aggiornata quotidianamente

Gestione dello sprint backlog Ogni membro del team può modificare lo sprint backlog, che di solito viene conservato in un tabellone detto taskboard o kanban Il lavoro da fare in ogni sprint emerge sul tabellone Se il lavoro da fare è poco chiaro, conviene definire uno sprint backlog item con una stima maggiore e decomporlo più tardi Occorre aggiornare il lavoro da fare man mano che viene fuori

Taskboard

Il ciclo dei compiti in uno sprint

Uno sprint backlog Tasks Mon Tues Wed Thur Fri Code the user interface 8 4 8 Code the middle tier 16 12 10 4 Test the middle tier 8 16 16 11 8 Write online help 12 Write the foo class 8 8 8 8 8 Add error logging 8 4

Un burndown chart di uno sprint Hours

Tasks Code the user interface Code the middle tier Test the middle tier Write online help Mon 8 16 8 12 Tues Wed Thur Fri 4 8 12 10 7 16 16 11 8 50 40 Hours 30 20 10 0 Mon Tue Wed Thu Fri

Esempio Durata sprint: 2 settimane, 7 persone, 6h/giorno. Totale sforzo ideale 420 ore - https://www.scrumalliance.org/community/articles/2013/august/burn-down-chart- -an-effective-planning-and-tracki

Stima continua dello sforzo rimanente Ogni partecipante sceglie un compito e stima il tempo rimanente. Per es. dopo il primo giorno sono state spese 6 h sul compito 1. Il programmatore stima che rimangano altre 6 ore (quindi 2h oltre la stima di 10h). Il burn-down chart viene aggiornato e confrontato con l ideale (blu vs rosso)

Varie situazioni

Scalabilità Team: 7 2 persone Si scala su grossi sistemi con scrum di scrum fattori Tipo dell applicazione Dimensione dei team Dispersione dei team Durata del progetto Alcuni progetti Scrum hanno coinvolto oltre 500 persone

Team unico, molteplici product owner Product owner Product owner Product owner Product owner Product owner ScrumMaster Team

Molteplici team, prodotto unico Chief Product owner Product owner Product owner Product owner Product owner Product owner ScrumMaster ScrumMaster ScrumMaster ScrumMaster ScrumMaster Team Team Team Team Team

Scrum di scrum Metascrum degli ambasciatori

J. Sutherland sullo scrum di scrum Since I originally defined the Scrum of Scrum (Ken Schwaber was at IDX working with me), I can definitively say the Scrum of Scrums is not a "meta Scrum." The Scrum of Scrums as I have used it is responsible for delivering the working software of all teams to the definition of Done at the end of the Sprint, or for releases during the sprint. PatientKeeper delivered to production four times per Sprint. Ancestry.com delivers to production 220 times per two week sprint. Hubspot delivers live software 100-300 times a day. The Scrum of Scrums Master is held accountable for making this work So the Scrum of Scrums is a operational delivery mechanism.

Scrum di scrum di scrum

Coordinare team multipli Product backlog iniziale Requisito funzionale Requisiti non funzionali Requisiti di scalabilità Altri requisiti funzionali e non Team unico Team multipli Product backlog Requisito funzionale Requisiti non funzionali

Problemi tipici con Scrum 1. Ignoranza dei valori agili e di Scrum 2. Prodotto software non testato alla fine dello sprint (cattiva definizione di Done) 3. Backlog non pronto all inizio dello sprint (cattiva definizione di Ready) 4. Mancanza di facilitazione (o cattiva facilitazione) 5. Mancanza di supporto da parte dei manager 6. Mancanza di supporto da parte degli stakeholder 7. Gestione caotica degli scrum di scrums

Riferimenti utili www.scrumalliance.org www.controlchaos.com www.mountaingoatsoftware.com/scrum

Una lista di libri su Scrum Larman: Agile and Iterative Development: A Manager s Guide Cohn: Agile Estimating and Planning Cohn: Succeeding with Agile Cohn: User Stories Applied for Agile Software Development Derby & Larsen: Agile Retrospectives Highsmith: Agile Software Development Ecosystems Rubin: Essential Scrum Schwaber & Beedle: Agile Software Development with Scrum Schwaber: Scrum and The Enterprise Schwaber: Agile Project Management with Scrum

Domande?