scrumban a methodology fusion - bettersoftware & codemotion 2011

111
A methodology fusion

Upload: fabio-armani

Post on 08-May-2015

1.373 views

Category:

Business


1 download

DESCRIPTION

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.

TRANSCRIPT

Page 1: Scrumban a Methodology Fusion - Bettersoftware & Codemotion 2011

A methodology fusion

Page 2: Scrumban a Methodology Fusion - Bettersoftware & Codemotion 2011

Charlie Parker

Page 3: Scrumban a Methodology Fusion - Bettersoftware & Codemotion 2011

John Coltrane

Page 4: Scrumban a Methodology Fusion - Bettersoftware & Codemotion 2011

Jimi Hendrix

Page 5: Scrumban a Methodology Fusion - Bettersoftware & Codemotion 2011

Led Zeppelin

Page 6: Scrumban a Methodology Fusion - Bettersoftware & Codemotion 2011

Miles Davis

Page 7: Scrumban a Methodology Fusion - Bettersoftware & Codemotion 2011

Weather Report

Page 8: Scrumban a Methodology Fusion - Bettersoftware & Codemotion 2011

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

Page 9: Scrumban a Methodology Fusion - Bettersoftware & Codemotion 2011

« 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

Page 10: Scrumban a Methodology Fusion - Bettersoftware & Codemotion 2011

• Fabio Armani

• CTO di Sequenza SpA

• CEO di OpenWare

• Direttore artistico dell’etichetta Different Lands

Chi sono

Page 11: Scrumban a Methodology Fusion - Bettersoftware & Codemotion 2011

• Agile Enterprise

• Mainstream Agile

• Scrum » Kanban

• Scrumban

• Q&A

Agenda

Page 12: Scrumban a Methodology Fusion - Bettersoftware & Codemotion 2011

• Agile Enterprise

• Mainstream Agile

• Scrum » Kanban

• Scrumban

• Q&A

Agenda

Page 13: Scrumban a Methodology Fusion - Bettersoftware & Codemotion 2011

Background e motivazioni

Page 14: Scrumban a Methodology Fusion - Bettersoftware & Codemotion 2011

• 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

Page 15: Scrumban a Methodology Fusion - Bettersoftware & Codemotion 2011

• 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

Page 16: Scrumban a Methodology Fusion - Bettersoftware & Codemotion 2011

• Una via estremamente interessante per l’adozione e la pratica delle metodologie agili …

Contesto

Page 17: Scrumban a Methodology Fusion - Bettersoftware & Codemotion 2011

Forchetta

Page 18: Scrumban a Methodology Fusion - Bettersoftware & Codemotion 2011

Coltello

Page 19: Scrumban a Methodology Fusion - Bettersoftware & Codemotion 2011

Assieme

Page 20: Scrumban a Methodology Fusion - Bettersoftware & Codemotion 2011

… meglio

Page 21: Scrumban a Methodology Fusion - Bettersoftware & Codemotion 2011

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

Page 22: Scrumban a Methodology Fusion - Bettersoftware & Codemotion 2011

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

Page 23: Scrumban a Methodology Fusion - Bettersoftware & Codemotion 2011

I team prendono il nome dei pianeti • Mercury

• Venus

• Earth

• Mars

• Jupiter

• Saturn

• Neptune

Metafora

Il sistema solare

Azienda AgileCambiamenti

Organizzativi

globali

Page 24: Scrumban a Methodology Fusion - Bettersoftware & Codemotion 2011

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

Page 25: Scrumban a Methodology Fusion - Bettersoftware & Codemotion 2011

Modello organizzativo » Team

Modello di conoscenza » Pratiche

Modello di competenza » Aree

Delivery Azienda Agile

Page 26: Scrumban a Methodology Fusion - Bettersoftware & Codemotion 2011

Cross Team

Page 27: Scrumban a Methodology Fusion - Bettersoftware & Codemotion 2011

Cross Team

Mercury

Neptune

Focus sulle seguenti aree: • Quality Assurance,

• DBA,

• Lifecycle,

• Learning

Sincronizzano i propri Sprint con quelli degli altri team

Azienda Agile

Page 28: Scrumban a Methodology Fusion - Bettersoftware & Codemotion 2011

Delivery

Page 29: Scrumban a Methodology Fusion - Bettersoftware & Codemotion 2011

Delivery Team

Venus

Earth

Mars

Jupiter

Saturn

Azienda Agile

Page 30: Scrumban a Methodology Fusion - Bettersoftware & Codemotion 2011
Page 31: Scrumban a Methodology Fusion - Bettersoftware & Codemotion 2011

External

Page 32: Scrumban a Methodology Fusion - Bettersoftware & Codemotion 2011

External Team

Halley

Vengono gestiti mediante i Proxy PO

Azienda Agile

Page 33: Scrumban a Methodology Fusion - Bettersoftware & Codemotion 2011

Sprint Planning » estimation

Team Jupiter @ Scrummorra

Page 34: Scrumban a Methodology Fusion - Bettersoftware & Codemotion 2011

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

Page 35: Scrumban a Methodology Fusion - Bettersoftware & Codemotion 2011
Page 36: Scrumban a Methodology Fusion - Bettersoftware & Codemotion 2011
Page 37: Scrumban a Methodology Fusion - Bettersoftware & Codemotion 2011
Page 38: Scrumban a Methodology Fusion - Bettersoftware & Codemotion 2011

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

Page 39: Scrumban a Methodology Fusion - Bettersoftware & Codemotion 2011

• Agile Enterprise

• Mainstream Agile

• Scrum » Kanban

• Scrumban

• Q&A

Agenda

Page 40: Scrumban a Methodology Fusion - Bettersoftware & Codemotion 2011

• Agile Enterprise

• Mainstream Agile

• Scrum » Kanban

• Scrumban

• Q&A

Agenda

Page 41: Scrumban a Methodology Fusion - Bettersoftware & Codemotion 2011

Fixed box

Page 42: Scrumban a Methodology Fusion - Bettersoftware & Codemotion 2011
Page 43: Scrumban a Methodology Fusion - Bettersoftware & Codemotion 2011
Page 44: Scrumban a Methodology Fusion - Bettersoftware & Codemotion 2011

tempo

Page 45: Scrumban a Methodology Fusion - Bettersoftware & Codemotion 2011
Page 46: Scrumban a Methodology Fusion - Bettersoftware & Codemotion 2011
Page 47: Scrumban a Methodology Fusion - Bettersoftware & Codemotion 2011
Page 48: Scrumban a Methodology Fusion - Bettersoftware & Codemotion 2011
Page 49: Scrumban a Methodology Fusion - Bettersoftware & Codemotion 2011
Page 50: Scrumban a Methodology Fusion - Bettersoftware & Codemotion 2011

ITEM DEVELOPMENT DEV. DONE TEST DONE!

tasks in prog. tasks done

Page 51: Scrumban a Methodology Fusion - Bettersoftware & Codemotion 2011

ITEM DEVELOPMENT DEV. DONE TEST DONE!

tasks in prog. tasks done

Page 52: Scrumban a Methodology Fusion - Bettersoftware & Codemotion 2011

ITEM DEVELOPMENT DEV. DONE TEST DONE!

tasks in prog. tasks done

Page 53: Scrumban a Methodology Fusion - Bettersoftware & Codemotion 2011
Page 54: Scrumban a Methodology Fusion - Bettersoftware & Codemotion 2011

tempo

lavo

ro r

iman

ente

Page 55: Scrumban a Methodology Fusion - Bettersoftware & Codemotion 2011
Page 56: Scrumban a Methodology Fusion - Bettersoftware & Codemotion 2011
Page 57: Scrumban a Methodology Fusion - Bettersoftware & Codemotion 2011
Page 58: Scrumban a Methodology Fusion - Bettersoftware & Codemotion 2011
Page 59: Scrumban a Methodology Fusion - Bettersoftware & Codemotion 2011
Page 60: Scrumban a Methodology Fusion - Bettersoftware & Codemotion 2011
Page 61: Scrumban a Methodology Fusion - Bettersoftware & Codemotion 2011
Page 62: Scrumban a Methodology Fusion - Bettersoftware & Codemotion 2011
Page 63: Scrumban a Methodology Fusion - Bettersoftware & Codemotion 2011
Page 64: Scrumban a Methodology Fusion - Bettersoftware & Codemotion 2011
Page 65: Scrumban a Methodology Fusion - Bettersoftware & Codemotion 2011

Facciamo i conti con la realtà

Page 66: Scrumban a Methodology Fusion - Bettersoftware & Codemotion 2011
Page 67: Scrumban a Methodology Fusion - Bettersoftware & Codemotion 2011

Iterazione

Page 68: Scrumban a Methodology Fusion - Bettersoftware & Codemotion 2011

Iterazione

Capacità

Page 69: Scrumban a Methodology Fusion - Bettersoftware & Codemotion 2011

Iterazione

Capacità

Page 70: Scrumban a Methodology Fusion - Bettersoftware & Codemotion 2011

Iterazione

Capacità

Page 71: Scrumban a Methodology Fusion - Bettersoftware & Codemotion 2011

Iterazione

Capacità

Page 72: Scrumban a Methodology Fusion - Bettersoftware & Codemotion 2011
Page 73: Scrumban a Methodology Fusion - Bettersoftware & Codemotion 2011
Page 74: Scrumban a Methodology Fusion - Bettersoftware & Codemotion 2011
Page 75: Scrumban a Methodology Fusion - Bettersoftware & Codemotion 2011

• Agile Enterprise

• Mainstream Agile

• Scrum » Kanban

• Scrumban

• Q&A

Agenda

Page 76: Scrumban a Methodology Fusion - Bettersoftware & Codemotion 2011

• Agile Enterprise

• Mainstream Agile

• Scrum » Kanban

• Scrumban

• Q&A

Agenda

Page 77: Scrumban a Methodology Fusion - Bettersoftware & Codemotion 2011

Agile framework

Page 78: Scrumban a Methodology Fusion - Bettersoftware & Codemotion 2011

• Ruoli » ScrumMaster, Product Owner, Team

• Cerimonie » Sprint Planning, Daily Scrum, Sprint Review, retrospective

• Artifact » Product Backlog, Sprint Backlog, Burndown Diagram

Elementi primari

Page 79: Scrumban a Methodology Fusion - Bettersoftware & Codemotion 2011

Scrum flow

Page 80: Scrumban a Methodology Fusion - Bettersoftware & Codemotion 2011

Lean process tool

Page 81: Scrumban a Methodology Fusion - Bettersoftware & Codemotion 2011

• 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

Page 82: Scrumban a Methodology Fusion - Bettersoftware & Codemotion 2011

• Visualizzare il workflow

• Demand-Driven

• Limitare Work-In-Process (WIP)

• Measurare Lead Time

Kanban » elementi primari

Page 83: Scrumban a Methodology Fusion - Bettersoftware & Codemotion 2011

Comparazione

»

Page 84: Scrumban a Methodology Fusion - Bettersoftware & Codemotion 2011

• 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

Page 85: Scrumban a Methodology Fusion - Bettersoftware & Codemotion 2011

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

Page 86: Scrumban a Methodology Fusion - Bettersoftware & Codemotion 2011

“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

Page 87: Scrumban a Methodology Fusion - Bettersoftware & Codemotion 2011

Scrum board

Page 88: Scrumban a Methodology Fusion - Bettersoftware & Codemotion 2011

• Agile Enterprise

• Mainstream Agile

• Scrum » Kanban

• Scrumban

• Q&A

Agenda

Page 89: Scrumban a Methodology Fusion - Bettersoftware & Codemotion 2011

• Agile Enterprise

• Mainstream Agile

• Scrum » Kanban

• Scrumban

• Q&A

Agenda

Page 90: Scrumban a Methodology Fusion - Bettersoftware & Codemotion 2011

The flow paradigm

Page 91: Scrumban a Methodology Fusion - Bettersoftware & Codemotion 2011
Page 92: Scrumban a Methodology Fusion - Bettersoftware & Codemotion 2011

ITEM

Page 93: Scrumban a Methodology Fusion - Bettersoftware & Codemotion 2011

ITEM ANALYSIS

in prog. done

Page 94: Scrumban a Methodology Fusion - Bettersoftware & Codemotion 2011

ITEM DEVELOPMENT

tasks in prog. tasks done

ANALYSIS

done in prog.

Page 95: Scrumban a Methodology Fusion - Bettersoftware & Codemotion 2011

ITEM DEVELOPMENT

tasks in prog. tasks done

ANALYSIS

done in prog.

Page 96: Scrumban a Methodology Fusion - Bettersoftware & Codemotion 2011
Page 97: Scrumban a Methodology Fusion - Bettersoftware & Codemotion 2011

ITEM DEVELOPMENT TEST

tasks in prog. tasks done

ANALYSIS

done in prog.

Page 98: Scrumban a Methodology Fusion - Bettersoftware & Codemotion 2011

ITEM DEVELOPMENT TEST DONE!

tasks in prog. tasks done

ANALYSIS

done in prog.

Page 99: Scrumban a Methodology Fusion - Bettersoftware & Codemotion 2011

ITEM DEVELOPMENT TEST DONE!

tasks in prog. tasks done

ANALYSIS

done in prog.

Page 100: Scrumban a Methodology Fusion - Bettersoftware & Codemotion 2011
Page 101: Scrumban a Methodology Fusion - Bettersoftware & Codemotion 2011
Page 102: Scrumban a Methodology Fusion - Bettersoftware & Codemotion 2011
Page 103: Scrumban a Methodology Fusion - Bettersoftware & Codemotion 2011

Scrumban board

Page 104: Scrumban a Methodology Fusion - Bettersoftware & Codemotion 2011

WIP

Cycle time

Throughput

Scrumban » metriche

Page 105: Scrumban a Methodology Fusion - Bettersoftware & Codemotion 2011

WIP

Cycle time Throughput

Page 106: Scrumban a Methodology Fusion - Bettersoftware & Codemotion 2011

• 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

Page 107: Scrumban a Methodology Fusion - Bettersoftware & Codemotion 2011

• Agile Enterprise

• Mainstream Agile

• Scrum » Kanban

• Scrumban

• Q&A

Agenda

Page 108: Scrumban a Methodology Fusion - Bettersoftware & Codemotion 2011

• Agile Enterprise

• Mainstream Agile

• Scrum » Kanban

• Scrumban

• Q&A

Agenda

Page 110: Scrumban a Methodology Fusion - Bettersoftware & Codemotion 2011

Thanks to …

• David J. Anderson

• Henrik Kniberg

• Mary & Tom Poppendieck

• Jørn Ola Birkeland

Page 111: Scrumban a Methodology Fusion - Bettersoftware & Codemotion 2011

Domande?

Grazie