Scrumban - A methodology Fusion
di Fabio Armani
In this talk I will describe the use, in a real context, of Kanban and Scrum agile methodologies combined with some practices of Extreme Programming. In the scenery of the agile methodologies, Scrum has certainly gained a position of clear dominance in terms of adoption and obtained successes.
This remarkable result is undoubtedly due to its peculiarities to know how to answer to the agile's values and principles in a revolutionary way, and of fostering a very pragmatic approach. Moreover, its characteristic of not being prescriptive with regard to technological aspects, allows a Scrum team to integrate eXtreme Programming practices to agile skills with a great success through their gradual introduction.
As also shown and described in my article "Lean Agile Adoption - an enterprise-war story" Scrum can scale to enterprise-level and can be used to guide the transformation process itself of a company into an agile one. Our real-world experience, based on principles of continuous experimentation and adaptation, soon led us to devise and use a form of merging Scrum with Lean methodologies, and in particular with Kanban.
The purpose of this short paper is therefore to share the direct practical experience of teams led by me, in order to help others in their process of adopting agile methodologies.
8. Fusion to change course
« 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
9. cambiar strada
« 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
10. Chi sono
• Fabio Armani
• CTO di Sequenza SpA
• CEO di OpenWare
• Direttore artistico
dell’etichetta Different Lands
14. Contesto
• 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
15. 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.
16. Contesto
• Una via estremamente interessante per l’adozione e la
pratica delle metodologie agili …
21. Transition Project
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)
22. Cambiamenti globali
Cambiamenti
Rollout
Organizzativi
aziendale
globali
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
23. Metafora
Azienda Agile
Cambiamenti
Organizzativi
globali
I team prendono il nome dei pianeti
Il sistema solare
• Mercury
• Venus
• Earth
• Mars
• Jupiter
• Saturn
• Neptune
24. Modello organizzativo
Quality Assurance
Quality
Mercury Team Jupiter Team Halley Romanian Team 1
Program 1
Project 1 Project 3
Task 1 Task N
Project 2 Project N
Proxy Proxy
Life-Cycle Management
CRM Test
Systems - DBA
25. Delivery
Azienda Agile
Modello organizzativo » Team
Modello di conoscenza » Pratiche
Modello di competenza » Aree
27. Cross Team
Azienda Agile
Mercury
Neptune
Focus sulle seguenti aree:
• Quality Assurance,
• DBA,
• Lifecycle,
• Learning
Sincronizzano i propri Sprint con quelli degli altri team
34. Daily Work
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
35.
36.
37.
38. 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
81. Kanban » concetti
• 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).
82. Kanban » elementi primari
• Visualizzare il workflow
• Demand-Driven
• Limitare Work-In-Process (WIP)
• Measurare Lead Time
84. Kanban » Scrum - similitudini
• 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)
85. Kanban » Scrum - differenze
Scrum Kanban
Time-boxed iterations prescribed Time-boxed iterations optional
Team commits to a specific amount of Commitment optional
work for this iteration
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
86. Kanban » Scrum
“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
106. Conclusioni
• 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!