Scrumban a Methodology Fusion - Bettersoftware & Codemotion 2011
-
Upload
fabio-armani -
Category
Business
-
view
1.373 -
download
1
description
Transcript of Scrumban a Methodology Fusion - Bettersoftware & Codemotion 2011
A methodology fusion
Charlie Parker
John Coltrane
Jimi Hendrix
Led Zeppelin
Miles Davis
Weather Report
Fusion
« What they didn't understand was that I wasn't prepared to be a memory yet, wasn't prepared to be listed only on Columbia's so-called classical list. [...]
I wanted to change course, had to change course for me to continue to believe in and love what I was playing. »
Miles Davis
to change course
« Non credo avessero capito che non mi sentivo pronto a diventare un ricordo e a entrare nel cosiddetto catalogo dei classici Columbia. [...]
Volevo cambiare strada. Dovevo cambiare strada, se volevo continuare ad amare e a credere nella musica che facevo. »
Miles Davis
cambiar strada
• Fabio Armani
• CTO di Sequenza SpA
• CEO di OpenWare
• Direttore artistico dell’etichetta Different Lands
Chi sono
• Agile Enterprise
• Mainstream Agile
• Scrum » Kanban
• Scrumban
• Q&A
Agenda
• Agile Enterprise
• Mainstream Agile
• Scrum » Kanban
• Scrumban
• Q&A
Agenda
Background e motivazioni
• Ho utilizzato le metodologie Scrum ed XP sin dal 2000
• Per anni ho avuto l’opportunit{ di impiegare questi potenti strumenti di processo in importanti progetti agili (come lo sviluppo del sito www.rai.it ed il sistema di CMS della RAI) in contesti che potrei descrivere come
Contesto
• Le dodici pratiche di eXtreme Programming, come il Test Driven Development e la Continuous Integration sono sempre stati al mio fianco come reali fattori di differenziazione ed effettivi catalizzatori verso la Qualità e la Velocità di consegna di working software.
• Più tardi, quando ho iniziato a gestire la trasformazione agile di aziende, i differenti contesti mi hanno portato ad integrare la metodologia Scrum con la filosofia del Lean Software Development.
Contesto
• Una via estremamente interessante per l’adozione e la pratica delle metodologie agili …
Contesto
Forchetta
Coltello
Assieme
… meglio
Si utilizza un processo iterativo ed incrementale per la gestione del cambiamento
Utilizzo di Scrum e di S2 (Scrum of Scrums) per gestire il progetto di Rollout aziendale
Creazione di un Enterprise Transition Committee (ETC)
Creazione di un Rollout Team (RT)
Transition Project
Il risultato del Rollout aziendale è stato l’attuazione di una serie di cambiamenti Organizzativi globali
Il modello organizzativo Agile si distingue dal precedente per una serie di importanti fattori:
• Generalizing Specialist
• Holistic Team (cross functional)
• Condivisione a tutti i livelli di
• obiettivi,
• valori
• e principi
• Responsabilità e Leadership globali
• Sinergia tra i diversi team
Cambiamenti globali
Rollout
aziendale
Cambiamenti
Organizzativi
globali
I team prendono il nome dei pianeti • Mercury
• Venus
• Earth
• Mars
• Jupiter
• Saturn
• Neptune
Metafora
Il sistema solare
Azienda AgileCambiamenti
Organizzativi
globali
Modello organizzativo
Life-Cycle Management
CRM Test
Systems - DBA
Jupiter Team
Project N
Mercury Team
Project 2
Program 1
Project 1 Project 3
Halley
Task 1
Proxy
Romanian Team 1
Task N
Proxy
Quality Assurance
Quality
Modello organizzativo » Team
Modello di conoscenza » Pratiche
Modello di competenza » Aree
Delivery Azienda Agile
Cross Team
Cross Team
Mercury
Neptune
Focus sulle seguenti aree: • Quality Assurance,
• DBA,
• Lifecycle,
• Learning
Sincronizzano i propri Sprint con quelli degli altri team
Azienda Agile
Delivery
Delivery Team
Venus
Earth
Mars
Jupiter
Saturn
Azienda Agile
External
External Team
Halley
Vengono gestiti mediante i Proxy PO
Azienda Agile
Sprint Planning » estimation
Team Jupiter @ Scrummorra
I team lavorano collettivamente nel proprio open space suddiviso nelle seguenti aree:
• Il Laboratorio (set di tavoli affiancati per favorire le pratiche XP di pair programming, osmotic communication …)
• Il Pensatoio (vicino alle lavagne)
• Integrazione e Test (es: Venera 7, VGer)
• Comunicazione (attrezzata con Skipe, video camera …)
Realizzano nuove funzionalità in modalità Test Driven Development e Agile Modeling
Sono cross-functional e si auto organizzano
Daily Work
Stop
• N progetti » già in corso e nuovi • M Agile Team • Cercare di avere team con almeno 5 persone, meglio 7 • N > M • Manutenzione di sistemi legacy
• Agile Enterprise
• Mainstream Agile
• Scrum » Kanban
• Scrumban
• Q&A
Agenda
• Agile Enterprise
• Mainstream Agile
• Scrum » Kanban
• Scrumban
• Q&A
Agenda
Fixed box
tempo
ITEM DEVELOPMENT DEV. DONE TEST DONE!
tasks in prog. tasks done
ITEM DEVELOPMENT DEV. DONE TEST DONE!
tasks in prog. tasks done
ITEM DEVELOPMENT DEV. DONE TEST DONE!
tasks in prog. tasks done
tempo
lavo
ro r
iman
ente
Facciamo i conti con la realtà
Iterazione
Iterazione
Capacità
Iterazione
Capacità
Iterazione
Capacità
Iterazione
Capacità
• Agile Enterprise
• Mainstream Agile
• Scrum » Kanban
• Scrumban
• Q&A
Agenda
• Agile Enterprise
• Mainstream Agile
• Scrum » Kanban
• Scrumban
• Q&A
Agenda
Agile framework
• Ruoli » ScrumMaster, Product Owner, Team
• Cerimonie » Sprint Planning, Daily Scrum, Sprint Review, retrospective
• Artifact » Product Backlog, Sprint Backlog, Burndown Diagram
Elementi primari
Scrum flow
Lean process tool
• Benchè il concetto di Kanban esista da anni, il suo impiego nello sviluppo software development è relativamente nuovo in rapporto a Scrum.
• Kanban è un sistema semplice ma efficace che può essere facilemnte introdotto in vari ambienti di produzione
• E’ un concetto coolegato al Lean e alla produzione Just-In-Time (JIT).
Kanban » concetti
• Visualizzare il workflow
• Demand-Driven
• Limitare Work-In-Process (WIP)
• Measurare Lead Time
Kanban » elementi primari
Comparazione
»
• Entrambi sono Lean e Agili
• Entrambi si basano sul pull scheduling
• Entrambi limitano il WIP
• Entrambi usano la trasparenza per guidare il processo di miglioramento
• Entrambi focalizzano nel consegnare working software presto e spesso
• Entrambi sono basati su team cross funzionali che si auto-organizzino
• Entrambi richiedono di suddividere di parcellizzare il lavoro suddividendolo in pezzi
• In entrambi il processo di rilascio viene continuamente ottimizzato basandosi su dati empirici (velocity / lead time)
Kanban » Scrum - similitudini
Kanban » Scrum - differenze
Scrum Kanban Time-boxed iterations prescribed Time-boxed iterations optional
Team commits to a specific amount of work for this iteration
Commitment optional
Uses Velocity as default metric Uses Lead time as default metric
Cross-functional teams prescribed Cross-functional teams optional
WIP limited indirectly (per sprint) WIP limited directly (per workflow state)
Estimation prescribed Estimation optional
Prescribes 3 roles (PO/SM/Team) Doesn’t prescribe any roles
Cannot add items to ongoing iteration Can add new items whenever capacity is available
Prescribes a prioritized product backlog Prioritization is optional
“Kanban is not a project management or software development lifecycle method. It is an approach to change management - a framework for catalyzing change in an organization. It uses a WIP limit as a change agent and Scrum uses commitments. This is a fundamental difference in approach.”
David J. Anderson
Kanban » Scrum
Scrum board
• Agile Enterprise
• Mainstream Agile
• Scrum » Kanban
• Scrumban
• Q&A
Agenda
• Agile Enterprise
• Mainstream Agile
• Scrum » Kanban
• Scrumban
• Q&A
Agenda
The flow paradigm
ITEM
ITEM ANALYSIS
in prog. done
ITEM DEVELOPMENT
tasks in prog. tasks done
ANALYSIS
done in prog.
ITEM DEVELOPMENT
tasks in prog. tasks done
ANALYSIS
done in prog.
ITEM DEVELOPMENT TEST
tasks in prog. tasks done
ANALYSIS
done in prog.
ITEM DEVELOPMENT TEST DONE!
tasks in prog. tasks done
ANALYSIS
done in prog.
ITEM DEVELOPMENT TEST DONE!
tasks in prog. tasks done
ANALYSIS
done in prog.
Scrumban board
WIP
Cycle time
Throughput
Scrumban » metriche
WIP
Cycle time Throughput
• In conclusione vedo in modo estremamente positivo questa fusione o processo di ibridizzazione come parte di un principio evolutivo di sperimentazione continua ed innovazione.
• Penso che diverrà più popolare di Scrum in una prospettiva a lungo termine.
• La visualizzazione è la chiave per gestire la complessità to manage complexity, e lo sviluppo software è un sistema complesso!
Conclusioni
• Agile Enterprise
• Mainstream Agile
• Scrum » Kanban
• Scrumban
• Q&A
Agenda
• Agile Enterprise
• Mainstream Agile
• Scrum » Kanban
• Scrumban
• Q&A
Agenda
Links
AgileDevelopment
AgileManifesto
AgileAlliance
AgileinAction
ImplementingScrum
ControlChaos
AgileUP
DSDM
eXtremeProgramming
Thanks to …
• David J. Anderson
• Henrik Kniberg
• Mary & Tom Poppendieck
• Jørn Ola Birkeland
Domande?
Grazie