Scrumban a Methodology Fusion - Bettersoftware & Codemotion 2011

1,733 views
1,635 views

Published on

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.

Published in: Business
0 Comments
7 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
1,733
On SlideShare
0
From Embeds
0
Number of Embeds
53
Actions
Shares
0
Downloads
66
Comments
0
Likes
7
Embeds 0
No embeds

No notes for slide

Scrumban a Methodology Fusion - Bettersoftware & Codemotion 2011

  1. 1. A methodology fusion
  2. 2. Charlie Parker
  3. 3. John Coltrane
  4. 4. Jimi Hendrix
  5. 5. Led Zeppelin
  6. 6. Miles Davis
  7. 7. Weather Report
  8. 8. Fusion to change course« What they didnt understand was that I wasnt preparedto be a memory yet, wasnt prepared to be listed only onColumbias so-called classical list. [...]I wanted to change course, had to change course for meto continue to believe in and love what I was playing. » Miles Davis
  9. 9. cambiar strada« Non credo avessero capito che non mi sentivo pronto adiventare un ricordo e a entrare nel cosiddetto catalogodei classici Columbia. [...]Volevo cambiare strada. Dovevo cambiare strada, sevolevo continuare ad amare e a credere nella musica chefacevo. » Miles Davis
  10. 10. Chi sono• Fabio Armani• CTO di Sequenza SpA• CEO di OpenWare• Direttore artistico dell’etichetta Different Lands
  11. 11. Agenda• Agile Enterprise• Mainstream Agile• Scrum » Kanban• Scrumban• Q&A
  12. 12. Agenda• Agile Enterprise• Mainstream Agile• Scrum » Kanban• Scrumban• Q&A
  13. 13. Background e motivazioni
  14. 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. 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. 16. Contesto• Una via estremamente interessante per l’adozione e la pratica delle metodologie agili …
  17. 17. Forchetta
  18. 18. Coltello
  19. 19. Assieme
  20. 20. … meglio
  21. 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. 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. 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. 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. 25. Delivery Azienda Agile Modello organizzativo » Team Modello di conoscenza » Pratiche Modello di competenza » Aree
  26. 26. Cross Team
  27. 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
  28. 28. Delivery
  29. 29. Delivery Team Azienda Agile Venus Earth Mars Jupiter Saturn
  30. 30. External
  31. 31. External Team Azienda Agile Halley Vengono gestiti mediante i Proxy PO
  32. 32. Sprint Planning » estimation Team Jupiter @ Scrummorra
  33. 33. Daily WorkI team lavorano collettivamente nel proprio open spacesuddiviso 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
  34. 34. 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
  35. 35. Agenda• Agile Enterprise• Mainstream Agile• Scrum » Kanban• Scrumban• Q&A
  36. 36. Agenda• Agile Enterprise• Mainstream Agile• Scrum » Kanban• Scrumban• Q&A
  37. 37. Fixed box
  38. 38. tempo
  39. 39. ITEM DEVELOPMENT DEV. DONE TEST DONE! tasks in prog. tasks done
  40. 40. ITEM DEVELOPMENT DEV. DONE TEST DONE! tasks in prog. tasks done
  41. 41. ITEM DEVELOPMENT DEV. DONE TEST DONE! tasks in prog. tasks done
  42. 42. lavoro rimanentetempo
  43. 43. Facciamo i conti con la realtà
  44. 44. Iterazione
  45. 45. Iterazione Capacità
  46. 46. Iterazione Capacità
  47. 47. Iterazione Capacità
  48. 48. Iterazione Capacità
  49. 49. Agenda• Agile Enterprise• Mainstream Agile• Scrum » Kanban• Scrumban• Q&A
  50. 50. Agenda• Agile Enterprise• Mainstream Agile• Scrum » Kanban• Scrumban• Q&A
  51. 51. Agile framework
  52. 52. Elementi primari• Ruoli » ScrumMaster, Product Owner, Team• Cerimonie » Sprint Planning, Daily Scrum, Sprint Review, retrospective• Artifact » Product Backlog, Sprint Backlog, Burndown Diagram
  53. 53. Scrum flow
  54. 54. Lean process tool
  55. 55. 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).
  56. 56. Kanban » elementi primari• Visualizzare il workflow• Demand-Driven• Limitare Work-In-Process (WIP)• Measurare Lead Time
  57. 57. »Comparazione
  58. 58. 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)
  59. 59. 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
  60. 60. Kanban » Scrum“Kanban is not a project management or software developmentlifecycle method. It is an approach to change management - aframework for catalyzing change in an organization. It uses a WIPlimit as a change agent and Scrum uses commitments. This is afundamental difference in approach.” David J. Anderson
  61. 61. Scrum board
  62. 62. Agenda• Agile Enterprise• Mainstream Agile• Scrum » Kanban• Scrumban• Q&A
  63. 63. Agenda• Agile Enterprise• Mainstream Agile• Scrum » Kanban• Scrumban• Q&A
  64. 64. The flow paradigm
  65. 65. ITEM
  66. 66. ITEM ANALYSIS in prog. done
  67. 67. ITEM ANALYSIS DEVELOPMENT in prog. done tasks in prog. tasks done
  68. 68. ITEM ANALYSIS DEVELOPMENT in prog. done tasks in prog. tasks done
  69. 69. ITEM ANALYSIS DEVELOPMENT TEST in prog. done tasks in prog. tasks done
  70. 70. ITEM ANALYSIS DEVELOPMENT TEST DONE! in prog. done tasks in prog. tasks done
  71. 71. ITEM ANALYSIS DEVELOPMENT TEST DONE! in prog. done tasks in prog. tasks done
  72. 72. Scrumban board
  73. 73. Scrumban » metriche WIP Cycle time Throughput
  74. 74. WIPCycle time Throughput
  75. 75. 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!
  76. 76. Agenda• Agile Enterprise• Mainstream Agile• Scrum » Kanban• Scrumban• Q&A
  77. 77. Agenda• Agile Enterprise• Mainstream Agile• Scrum » Kanban• Scrumban• Q&A
  78. 78. LinksAgileDevelopmentAgileManifestoAgileAllianceAgileinActionImplementingScrumControlChaosAgileUPDSDMeXtremeProgramming
  79. 79. Thanks to …• David J. Anderson• Henrik Kniberg• Mary & Tom Poppendieck• Jørn Ola Birkeland
  80. 80. Domande? Grazie

×