Introduction to kanban lean ghm_02022010


Published on

Introduction to Kanban and lean

Published in: Technology

Introduction to kanban lean ghm_02022010

  1. 1. Introduction to KANBAN & LEAN<br />Mads Troels Hansen<br />BestBrains, February 2nd 2010<br />
  2. 2. Inspiration, theory, examples<br />Visual<br />Mgt.<br />Kaizen<br />Kanban<br />Lean<br />Agile<br />Your expectations?<br />
  3. 3. WhyKanban and Lean?<br />
  4. 4. Kanban and Visual Management (1/3)<br />Alignedgoals<br />
  5. 5. Kanban and Visual Management (2/3)<br />More contribution<br />
  6. 6. Kanban and Visual Management (3/3)<br />Bottlenecks and Quality<br />
  7. 7. Mads Troels Hansen: Kanban Experience<br />Agile and Lean Coach at BestBrans<br />Agile and Lean Coach, Management Consultant<br />Development Director at Omada <br />7 different nationalities, products, projects and support, 4 teams, global clients<br />Development Director, co-founder at SoftwarePeople<br />Products, projects and hosting, 6 teams<br /> Started Offshore in Bangladesh, SoftwarePeopleLtd, 25+ people<br />IT Director at PeopleGroup<br /> Started Offshore graphical production in Bangladesh. <br />Development Manager at NetPeople<br /> 15+ nationalities, 2 teams<br />2010<br />Scrum extended with Kanban<br />Kanban and offshore teams<br />Kanban talks, training, coaching<br />2008<br />Kanban and Visual Management<br />Scrumboardswith offshore teams<br />2006<br />Kanban techniques<br />Hyper productive offshore teams<br />2004<br />Started Offshore production company<br />Agile+XP, Task Boards<br />2003<br />Also experience as developer, architect, project manager. <br />
  8. 8. Agenda<br /><ul><li>Introduction w. basic theory (20 min)
  9. 9. break (5 min)
  10. 10. Kanban, Scrum, Scrumban (~20 min)
  11. 11. break: Sandwich (15 min)
  12. 12. Examples of Kanban boards (20 min)
  13. 13. break (5 min)
  14. 14. Kanban on Whiteboard (20 min)
  15. 15. 5 steps to get started (5 min)</li></li></ul><li>Kanbandevelopment<br />A very simple tool<br />Adaptive<br />Prescriptive<br />Extreme <br />Programming<br />CMMI (ML 3-5)<br />Kanban<br />SCRUM<br />RUP<br />”Whatever”<br />9<br />
  16. 16. Kanban and kanban<br /><ul><li>Toyota Production System (TPS)
  17. 17. TaiichiOhno (大野 耐)
  18. 18. A kan-ban
  19. 19. A physical card (kan)
  20. 20. A signaling device (ban)</li></li></ul><li>Lean (TPS) and Kanban<br />
  21. 21. FLOW<br />
  22. 22. PULL<br />
  23. 23. CADANCE<br />
  24. 24. Release<br />per <br />Feature<br />
  25. 25. Systems Thinking<br />
  26. 26. ValueStreams<br />
  27. 27. Limit <br />Work-In-Progress<br />
  28. 28. Schedulelarge work orders and align resources by workflow<br />Schedulesmall work orders and align resources by schedule<br />Schedulesmall work orders and align resources by workflow<br />
  29. 29. Kanban, Scrum, Scrumban<br />
  30. 30. Scrum<br />Sprint Planning<br /><ul><li> Prioritization
  31. 31. Task breakdown
  32. 32. Team commitment
  33. 33. Sprint backlog</li></ul>Daily Scrum Meeting<br /><ul><li> 10-15 minutes
  34. 34. Three questions</li></ul>Burndown Charts<br /><ul><li> Sprint
  35. 35. Release</li></ul>Product Owner<br /><ul><li> Speaks on behalf of the customer
  36. 36. Prioritization
  37. 37. Owns product backlog</li></ul>Sprint Review<br /><ul><li> Demo
  38. 38. Retrospective</li></ul>Scrum Master<br /><ul><li> Responsible for process
  39. 39. Support of team
  40. 40. Remove empediments</li></ul>Scrum Team<br /><ul><li> Cross-functional
  41. 41. Delivers</li></li></ul><li>Scrum and KanbanTwo process tools<br />Scrum vs. Kanban<br />Scrum <br />Accept test<br />Deployment<br />Sales<br />Analyze<br />Dev<br />Kanban<br />
  42. 42. Pull<br />Scrum vs. Kanban<br />Kanban<br />Downstream pull <br />from upstream<br />Scrum<br />Push from business/product mgt.<br />
  43. 43. Taskboard game<br />Scrum vs. Kanban<br />In Prog<br />Review<br />Done<br />ToDo<br />PBL<br />A<br />Test<br />Doc<br />Deploy<br />B<br />C<br />D<br />E<br />F<br />In Prog (2)<br />Review (2)<br />Queue (2)<br />Test<br />Queue (2)<br />Doc<br />Queue (2)<br />Deploy<br />Queue (3)<br />PBL<br />A<br />D<br />E<br />B<br />F<br />C<br />
  44. 44. Taskboard game<br />Scrum vs. Kanban<br />New request from a customer<br />X<br />In Prog<br />Review<br />Done<br />ToDo<br />PBL<br />X<br />A<br />Test<br />Doc<br />Deploy<br />B<br />C<br />D<br />E<br />F<br />In Prog (2)<br />Review (2)<br />Queue (2)<br />Test<br />Queue (2)<br />Doc<br />Queue (2)<br />Deploy<br />Queue (3)<br />PBL<br />A<br />X<br />D<br />E<br />B<br />C<br />F<br />
  45. 45. Taskboard game<br />Scrum vs. Kanban<br />New request from a customer<br />X<br />In Prog<br />Review<br />Done<br />ToDo<br />PBL<br />X<br />A<br />Test<br />Doc<br />Deploy<br />B<br />C<br />D<br />E<br />F<br />In Prog (2)<br />Review (2)<br />Queue (2)<br />Test<br />Queue (2)<br />Doc<br />Queue (2)<br />Deploy<br />Queue (3)<br />PBL<br />A<br />X<br />D<br />E<br />B<br />C<br />F<br />
  46. 46. Taskboard game<br />Scrum vs. Kanban<br />New request from a customer<br />X<br />New bug reported<br />Y<br />In Prog<br />Review<br />Done<br />ToDo<br />PBL<br />Y<br />A<br />Test<br />Doc<br />Deploy<br />X<br />B<br />C<br />D<br />E<br />F<br />In Prog (2)<br />Review (2)<br />Queue (2)<br />Test<br />Queue (2)<br />Doc<br />Queue (2)<br />Deploy<br />Queue (3)<br />PBL<br />A<br />X<br />Y<br />F<br />B<br />D<br />C<br />E<br />
  47. 47. Taskboard game<br />Scrum vs. Kanban<br />New request from a customer<br />X<br />New bug reported<br />Y<br />In Prog<br />Review<br />Done<br />ToDo<br />PBL<br />Y<br />A<br />Test<br />Doc<br />Deploy<br />X<br />B<br />C<br />D<br />E<br />F<br />In Prog<br />Review (2)<br />Queue (2)<br />Test<br />Queue (2)<br />Doc<br />Queue (2)<br />Deploy<br />Queue (3)<br />PBL<br />A<br />X<br />Y<br />F<br />B<br />D<br />C<br />E<br />
  48. 48. Taskboard game<br />Scrum vs. Kanban<br />New request from a customer<br />X<br />New bug reported<br />Y<br />In Prog<br />Review<br />Done<br />ToDo<br />PBL<br />Y<br />A<br />Test<br />Doc<br />Deploy<br />X<br />B<br />C<br />D<br />E<br />F<br />In Prog<br />Review (2)<br />Queue (2)<br />Test<br />Queue (2)<br />Doc<br />Queue (2)<br />Deploy<br />Queue (3)<br />PBL<br />A<br />X<br />Y<br />E<br />B<br />C<br />D<br />F<br />
  49. 49. Taskboard game<br />Scrum vs. Kanban<br />New request from a customer<br />X<br />New bug reported<br />Y<br />In Prog<br />Review<br />Done<br />ToDo<br />PBL<br />Y<br />A<br />Test<br />Doc<br />Deploy<br />X<br />B<br />C<br />Problem with test server<br />D<br />E<br />F<br />In Prog<br />Review (2)<br />Queue (2)<br />Test<br />Queue (2)<br />Doc<br />Queue (2)<br />Deploy<br />Queue (3)<br />PBL<br />A<br />X<br />Y<br />E<br />B<br />C<br />D<br />F<br />Queue full<br />
  50. 50. Taskboard game<br />Scrum vs. Kanban<br />New request from a customer<br />X<br />New bug reported<br />Y<br />In Prog<br />Review<br />Done<br />ToDo<br />PBL<br />Y<br />A<br />Test<br />Doc<br />Deploy<br />X<br />B<br />C<br />Fixing the test server<br />D<br />E<br />F<br />In Prog<br />Review (2)<br />Que (2)<br />Test<br />Queue (2)<br />Doc<br />Queue (2)<br />Deploy<br />Queue (3)<br />PBL<br />A<br />X<br />Y<br />E<br />D<br />C<br />B<br />F<br />
  51. 51. Taskboard game<br />Scrum vs. Kanban<br />Scrum: Scope commitment more focus to developers. <br />New request from a customer<br />X<br />New bug reported<br />Y<br />In Prog<br />Review<br />Done<br />ToDo<br />PBL<br />Y<br />A<br />Test<br />Doc<br />Deploy<br />X<br />B<br />C<br />D<br />Kanban: Visualize bottlenecks fast, and enable frequent business prioritization.<br />E<br />F<br />In Prog<br />Review (2)<br />Queue (2)<br />Test<br />Queue (2)<br />Doc<br />Queue (2)<br />Deploy<br />Queue (3)<br />PBL<br />A<br />X<br />Y<br />E<br />D<br />C<br />B<br />F<br />
  52. 52. Business prioritization<br />Scrum<br />Don't interrupt WIP and you may only adjust our work plan every iteration. <br />Kanban<br />Don't interrupt WIP and you may change prioritization any time. <br />Scrum vs. Kanban<br />
  53. 53. Commitment and goals<br />Scrum<br />Commit to a scope<br />Kanban<br />Commit to deliver working features within a time limit.<br />SLA: “…always deliver within 14 days…” <br />Scrum vs. Kanban<br />
  54. 54. Planning<br />Scrum<br />Combined planning and release cycles. <br />Kanban<br />Planning and release can be separated.<br />Frequent planning with release interval related to cost of release and business feedback.<br />Scrum vs. Kanban<br />
  55. 55. WIP<br />Scrum<br />Limit WIP pr. iteration<br />Kanban<br />Limit WIP pr. workflow state<br />Scrum vs. Kanban<br />
  56. 56. Roles<br />Scrum<br />Product Owner<br />Scrum Master<br />Team<br />Kanban<br />None prescribed!<br />An Agile Project Manager might be valuable to focus on the full value stream<br />Scrum vs. Kanban<br />
  57. 57. Iterations<br />Scrum<br />Sprints, one cadence with <br />Planning<br />Process improvement<br />Release<br />Kanban<br />No iteration<br />Can chose when to do planning, Process improvement, release etc.<br />Scrum vs. Kanban<br />
  58. 58. Backlogs<br />Scrum<br />Product Backlog<br />Sprint Backlog<br />(Impediment backlog!)<br />Kanban<br />Queues<br />Maybe combine with a Backlog of requirements<br />Scrum vs. Kanban<br />
  59. 59. Teams<br />Scrum<br />Cross-functional team<br />Kanban<br />Specialists<br />Different roles<br />Can also be cross-functional<br />Scrum vs. Kanban<br />
  60. 60. Reporting<br />Scrum<br />ProductBacklogBurndownchart<br />Sprint BacklogBurndown<br />Kanban<br />Cumulative Flow Diagrams (CFD)<br />Scrum vs. Kanban<br />
  61. 61. Estimating and velocity<br />Scrum<br />Estimate relative size<br />Measure velocity<br />Use velocity for planning<br />Kanban<br />None… might make sense to do it<br />Break down work at same size<br />Throughput instead of velocity<br />Scrum vs. Kanban<br />
  62. 62. Quick summary<br />Scrum vs. Kanban<br />
  64. 64.
  65. 65.
  66. 66. Traditional task boards<br />
  67. 67. Just getstarted<br />
  68. 68. Devs, tests, technicalwriter, operations, support<br />
  69. 69. Personal Kanban<br />
  70. 70. Traditional task board extended with limits<br />
  71. 71. Kanban board<br />
  72. 72. Kanban board<br />
  73. 73. Kanban board<br />
  74. 74. Kanban board<br />
  75. 75. Kanban board<br />
  76. 76. Virtual Kanban board (Custom solution against TFS)<br />
  77. 77. Rally<br />
  78. 78. Version One<br />
  79. 79. Target Process<br />
  80. 80. Jira Greenhopper<br />
  81. 81. KanbanonWhiteboard<br />
  82. 82.
  83. 83.
  84. 84. Kanban – Get started<br />My Top 5<br />My Top 5<br />Draw your end-to-end process (Value Stream)<br />Map your process to a physical Task board<br />Start using the board<br />Limit work-in-process with WIP limits<br />Measure cycle time and lead time<br />n. Find bottlenecks, do Kaizen and improve <br />Use 2 minutes to create your personal list <br />
  85. 85. Kanban – Take Away<br />A Kanban system, starts to focus on flow and cycle time of delivered work and gives a way to visualize and resolve bottlenecks<br />
  86. 86. Thank you<br /><br />People don’t resist change, they resist being changed.<br />- Peter Scholtes<br />@MadsTH<br />
  87. 87. Some references<br />Lean Software Development - An Agile Toolkit, Mary & Tom Poppendieck, 2003<br />Implementing Lean Software Development, Mary & Tom Poppendieck, 2007<br />The Enterprise and Scrum, Ken Swaper, 2007<br />Factory Physics, W. Hopp, 3rd edition, 2008<br />Agile management, David Andersson, 2004<br />Scrumban, Corey Ladas, 2009<br />Kanbanvs Scrum – A practical guide, Henrik Kniberg, April 2009<br />Kanban intro, Karl Scotland,<br />YahooGroup: Kanbandev<br />Software Excellenceådgivning<br />