Scrumban a Methodology Fusion - Bettersoftware & Codemotion 2011

Post on 08-May-2015

1.375 views 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 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

Thanks to …

• David J. Anderson

• Henrik Kniberg

• Mary & Tom Poppendieck

• Jørn Ola Birkeland

Domande?

Grazie