Date post: | 06-Dec-2014 |
Category: |
Technology |
Upload: | raoul-buzziol |
View: | 3,023 times |
Download: | 0 times |
Instilling ScrumAndrea Torino Rodriguez [email protected]
@agilerod
Raoul Buzziol [email protected] @raoulbuzziol
Di cosa parliamo ?
• Cos’è Agile• Genesi di Scrum• Imparare giocando• Applichiamo le “stille”• Miglioriamo • Feedback, please
Timeline …timeboxed, prima
• Introduciamo Agile• Scrum in stille• Pronti, al posto…• Giochiamo in Team !• Retrospettive• Caffè !
Timeline …timeboxed, dopo
• La nostra Vision• Backlog e Storie• Scrum all’opera• Retrospettive• Grazie !
AgileL’Ingegneria del software nel secondo millennio
Avete letto il Manifesto ?
Nel 2001 viene stilato il “Manifesto Agile”
“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 strumentiIl software funzionante più che la documentazione esaustivaLa collaborazione col cliente più che la negoziazione dei contrattiRispondere al cambiamento più che seguire un piano
Ovvero, fermo restando il valore delle voci a destra, consideriamo più importanti le voci a sinistra.”
Progetto vs. Sviluppo
• I progetti software sono molto variabili
• Nei ns. tempi, i progetti sono molto dettagliati
• Fasi distinte di progettazione e costruzione…
…nel software vengono interpretate:
• Progettazione =• Costruzione =
Analisi, design, formalismi…
Sviluppo, implementazione
Progetto vs. Sviluppo
• Qual’è il progetto dettagliato nel software ?
• Progettazione =• Costruzione =
Sviluppo, implementazione
Build (automatica)
Agile
• Accettiamo la variabilità
• Dividiamo il progetto in (brevi) tappe
• Per ogni tappa applichiamo il metodo scientifico
1. Osservazione (analisi)2. Ipotesi (teoria)3. Esperimento (validazione)
Agile, adattabilità
• Codice (progetto) strutturato per privilegiare l’adattabilità alle modifiche
Agile, iterativo ed incrementale
• Pianificazione, analisi, sviluppo, test compressi in tempi stretti e costanti; rilasci frequenti
Agile, orientato alle Persone
• Privilegiare le Persone rispetto ai processi, come riportato nel manifesto
Scrum in stille“Can a repeatable and defined process really exist for software Development?”
Genesi• 1986: “The New New product development game”
– Hirotaka Takeushi – Hikujiro Nonaka
• 1998: “An extension pattern language for hyperproductive software development”– Mike Beedle [email protected]– Martine Devos [email protected]– Yonat Sharon [email protected]– Ken Schwaber [email protected]– Jeff Sutherland [email protected]
Perché “Scrum” ?
…rispondiamo alla domanda iniziale
Repeatable/Defined• Repeatable/Defined Problem
ma solitamente i requisiti non sono mai completi e cambiano durante lo sviluppo
• Repeatable/Defined Solutionma le architetture solitamente evolvono a causa dei requisiti e del processo creativo che le genera
• Repeatable/Defined Developersma le capacità ed abilità dei programmatori variano parecchio
• Repeatable/Defined Organizational environmentma pressione, priorità, rapporto col Cliente, comportamento del management, ecc. cambiano spesso
Avete letto la Guida ?
• Scrum NON è un processo
• Scrum NON è una tecnica
• Scrum è un Framework
• Applica il metodo Iterativo ed incrementale
• Si basa sul Controllo empirico di processo– Trasparenza– Ispezione– Adattamento
Cosa c’é nel pacchetto ?• Persone…
Product Owner Scrum Master
TeamScrum Team
Cosa c’é nel pacchetto ?• Iterazioni…
Product Owner
Backlog
Cosa c’é nel pacchetto ?• Iterazioni…
Product Owner Scrum Master
Team
Planning
Cosa c’é nel pacchetto ?• Iterazioni…
Scrum Master
Team
SprintSprint Backlog
Cosa c’é nel pacchetto ?• Iterazioni…
Team
Potentially shippable product (increment)
Cosa c’é nel pacchetto ?• Iterazioni…
Scrum Master
Team
ReviewProduct Owner
Scrum, vista panoramica
Obiettivo• Far “passare” più palle possibili fra le mani di ogni
membro del Team, partendo e terminando dallo
stesso punto, rispettando qualche semplice regola
Svolgimento• Introduzione, 2 min.
• Regole, 2 min.
• Preparazione Team, 2 min.
• Stime, 1 min.
• Iterazione, 2 min.
• Miglioramento, nuova stima, 1 min.
• X 5 Iterazioni
• Retrospettiva, 5-10 min.
Regole• Siete un Team
• Le palle devono “stare in aria”
• Non potete passare la palla al vostro vicino diretto
• Palla valida = toccata da tutti
• Durata iterazione, 2 min.
• Fra ogni iterazione, 1 min. (breafing)
• 5 Iterazioni
Retrospettiva
• Cosa è successo ?
• Qual’è stata la migliore iterazione ?
• Avete provato/trovato un ritmo ?
…Inspect & Adapt, ci ricorda qualcosa ?
Inspect & Adapt in Scrum• Ciclo di Deming (o PDCA)
È un modello studiato da W. Edwards Deming per il miglioramento continuo della qualità
Scrum Flow• Il Ciclo di Deming rappresenta la meccanica del
“Flusso” in Scrum• Possiamo parlare di Flusso quando:– L’obiettivo è raggiungibile– Le persone non sono disturbate durante le iterazioni– Il lavoro ha un significato
Vision“Vision is the art of seeing things invisible” (Jonathan Swift)
Una buona Vision
• Condivisa
P.O., S.M., Team, management, clienti e altri stakeholder
• Chiara e stabile
• Avvincente
• Corta e attraente
10 sec. Prova dell’ascensore
La nostra Vision• Per famiglie e temerari• Che vogliono un’esperienza ad alta (e bassa)
velocità• Lo SpeedBall Park• È un parco multitematico con una pista (almeno)• Dove sfrecciare in discesa, ma anche bersi una birra
SpeedBall Park
Requisiti • Pista
Partenza Arrivo Salto Curva Giro della morte Rimbalzo 1 metro di pista 3 metri di pista 10 metri di pista
•Biglietteria•Ristorante•Negozio souvenir•Pulmino interno•Navetta esterna•Fermata del bus•Parcheggio (disegnabile)•Lago (disegnabile)•Fiume (disegnabile)•Spiaggia (disegnabile)•Ponte•Ruota panoramica•Pista baby
User StoriesUn modo Agile per catturare le funzionalità del prodotto
La User Story• I requisiti sono le descrizioni dei bisogni del
prodotto; descrivono il problema
• Le User Stories sono soluzioni proposte dal punto di
vista dell’utente
• Hanno criteri di accettazione (test)
Collocazione architetturale• Una User Story dovrebbe attraversare tutti i layer
architetturali
Come scriverla• Template di scrittura
As a <type of user> i want to <do something>so that <i can achieve some busn. value>
• Template di validazione: I.N.V.E.S.T.– Independent– Negotiable– Valuable– Estimable– Small– Testable
Product Backlog
Il tool fondamentale per il Product Owner
Il Backlog• E’ una lista di elementi, prioritizzata in base ad un valore di
business
• La lista di elementi include tutte le features che “rilasciano”
la Vision
• Gli elementi a più alta priorità della lista, devono essere i più
dettagliati
• La lista di elementi è in continua evoluzione, variazione,
aggiornamento
Esempio…
Backlog grooming
Un buon Backlog• D.E.E.P.– Detailed appropriately– Estimated– Emergent– Prioritized