Diese Präsentation wurde erfolgreich gemeldet.
Die SlideShare-Präsentation wird heruntergeladen. ×

Transitioning to Kanban

Wird geladen in …3

Hier ansehen

1 von 51 Anzeige

Weitere Verwandte Inhalte

Diashows für Sie (20)


Ähnlich wie Transitioning to Kanban (20)

Weitere von Gil Irizarry (13)


Aktuellste (20)

Transitioning to Kanban

  1. 1. Copyright © 2011 Constant Contact Inc.<br />Transitioning Your Team to Kanban: Theory and Practice<br />Gil Irizarry & Susan Jacobs<br />Constant Contact<br />June 2011<br />
  2. 2. Copyright © 2011 Constant Contact, Inc.<br />2<br />Agenda<br /><ul><li> A bit about us and Constant Contact
  3. 3. Theory –
  4. 4. Motivations
  5. 5. Background
  6. 6. What is Kanban and how does it work
  7. 7. Practice –
  8. 8. Setting up a Kanban board
  9. 9. Establishing policies and limits</li></li></ul><li>Copyright © 2011 Constant Contact, Inc.<br />3<br />Gil’s background<br /><ul><li> Program Manager at Constant Contact
  10. 10. Over 20 years software development and management experience, over 5 years in an agile software development environment
  11. 11. CSM and PMP certifications, Kanban coaching training with David Anderson
  12. 12. BS from Cornell, ALM from Harvard, certificate in Management from MIT Sloan
  13. 13. girizarry@constantcontact.com, gil@conoa.com</li></li></ul><li>Copyright © 2011 Constant Contact, Inc.<br />4<br />Susan’s background<br /><ul><li> Engineering Manager, Website Team at Constant Contact
  14. 14. BS degree in Computer Science / Information Science from Binghamton University
  15. 15. sjacobs@constantcontact.com, Twitter: @sjacobs146</li></li></ul><li>Copyright © 2011 Constant Contact, Inc.<br />5<br />Background on Constant Contact<br /><ul><li>SaaS company offering on-line e-mail marketing, event marketing and surveys. Recent enhancements extend the services to the social media space
  16. 16. >$200MM gross revenue per year
  17. 17. >800 employees
  18. 18. >450K paying customers
  19. 19. Engineering and Operations total about 150 people
  20. 20. First Scrum team formed in 2006</li></li></ul><li>Copyright © 2011 Constant Contact, Inc.<br />6<br />Motivations<br /><ul><li> We want to move to Agile management methods. Why?
  21. 21. React quicker to changing market conditions
  22. 22. Get new features to users more quickly
  23. 23. Frequent releases are smaller releases
  24. 24. Better Quality</li></li></ul><li>Copyright © 2011 Constant Contact, Inc.<br />7<br />A little review: how things used to be<br />
  25. 25. Copyright © 2011 Constant Contact, Inc.<br />8<br />This is appropriate if you are building an…<br />“Originally planned to enter service in May 2008, the [Dreamliner] project has suffered from repeated delays and is now more than three years behind schedule.” -- Wikipedia<br />
  26. 26. Copyright © 2011 Constant Contact, Inc.<br />9<br />Quick Review of Scrum<br /><ul><li>Fixed iterations
  27. 27. Daily stand-ups
  28. 28. What did you do yesterday, what did you do today, any impediments
  29. 29. Retrospectives
  30. 30. Burn-down chart
  31. 31. Board with To Do, In Progress and Done states</li></li></ul><li>Copyright © 2011 Constant Contact, Inc.<br />10<br />Digression (or maybe not)<br />An excellent retelling of the early days of Southwest Airlines can be found in Leading Lean Software Development: Results Are not the Point by Mary and Tom Poppendieck<br />
  32. 32. Copyright © 2011 Constant Contact, Inc.<br />11<br />Lean Principles<br /><ul><li>Eliminate Waste
  33. 33. Build Quality In
  34. 34. Create Knowledge
  35. 35. Defer Commitment
  36. 36. Deliver Fast
  37. 37. Respect People
  38. 38. Optimize the Whole</li></ul>Leading Lean Software Development: Results Are not the Point by Mary and Tom Poppendieck<br />
  39. 39. Copyright © 2011 Constant Contact, Inc.<br />12<br />Foundational Principles of Kanban<br /><ul><li> Start with what you do now
  40. 40. Agree to pursue incremental, evolutionary change
  41. 41. Respect the current process, roles, responsibilities & titles</li></ul>From: http://agilemanagement.net/index.php/Blog/the_principles_of_the_kanban_method (David Anderson)<br />
  42. 42. Copyright © 2011 Constant Contact, Inc.<br />13<br />5 Core Properties of Kanban<br /><ul><li> Visualize the workflow
  43. 43. Team board states are a reflection of the value stream
  44. 44. Limit WIP
  45. 45. Manage Flow
  46. 46. Implied that flow should be continuous
  47. 47. Make Process Policies Explicit
  48. 48. Improve Collaboratively (using models & the scientific method)</li></li></ul><li>Copyright © 2011 Constant Contact, Inc.<br />14<br />Kanban and Roles<br />Org<br />• Prioritization<br />• Definition<br />• Ready-Ready<br />Lead<br />Team<br />• Work mgmt.<br />• Metrics<br />• Improvement<br />• Delivery<br />• Flow<br />
  49. 49. Copyright © 2011 Constant Contact, Inc.<br />15<br />Pigs vs. Chickens?<br />
  50. 50. Copyright © 2011 Constant Contact, Inc.<br />16<br />No! You are a team<br />
  51. 51. Copyright © 2011 Constant Contact, Inc.<br />17<br />Value Mapping Exercise<br />How do you make dinner?<br />
  52. 52. Copyright © 2011 Constant Contact, Inc.<br />18<br />Sample Value Stream<br />From http://en.wikipedia.org/wiki/Value_stream_mapping<br />
  53. 53. Copyright © 2011 Constant Contact, Inc.<br />19<br />Sample Kanban Board<br />States<br />WIP Limits<br />Classes of Service<br />
  54. 54. Copyright © 2011 Constant Contact, Inc.<br />20<br />Pull, not Push<br /><ul><li> Work items should be pulled into available lanes
  55. 55. Work should not be pushed when completed, even if its lane is full</li></li></ul><li>Copyright © 2011 Constant Contact, Inc.<br />21<br />Limit WIP<br /><ul><li> Why?
  56. 56. Less multitasking
  57. 57. Less time lost to context switching
  58. 58. Better quality
  59. 59. Smoother flow</li></li></ul><li>Copyright © 2011 Constant Contact, Inc.<br />22<br />Classes of Service<br /><ul><li> Different types of work need to be handled and prioritized differently
  60. 60. We manage this through the concept of classes of service. Similar projects are grouped into classes and each class is assigned an allocation.
  61. 61. For example, we may decide that 20% of ops time should be spent on infrastructure improvements, and 80% spent on servicing development</li></li></ul><li>Copyright © 2011 Constant Contact, Inc.<br />23<br />Sample CFD<br />
  62. 62. Copyright © 2011 Constant Contact, Inc.<br />24<br />Team Kanban<br /><ul><li> Teams plan continuously. Backlogs should be constantly groomed.
  63. 63. Teams test continuously
  64. 64. It’s OK if a team finds a defect on the last day of the release. Pull the feature or delay the release, but keep the flow continuous
  65. 65. It’s OK if a team starts work for the next release in the current release
  66. 66. Aim for development and testing to flow more smoothly through your system</li></li></ul><li>Copyright © 2011 Constant Contact, Inc.<br />25<br />Metrics<br /><ul><li> Considering gathering the following:
  67. 67. Cycle time on items after grouping them by size:
  68. 68. Completion time for small, medium and large
  69. 69. Spread of cycle times
  70. 70. Work items completed
  71. 71. Open defects in production, to give a high-level approximation of technical debt</li></li></ul><li>Copyright © 2011 Constant Contact, Inc.<br />26<br />Metrics guide planning and estimation<br /><ul><li> Over time, we would expect that the spread of cycle times for a given item size goes down.
  72. 72. So, over time, an estimate of completion time for items of a given size should become more accurate.
  73. 73. Work items can be sized by t-shirt sizes (smalls, mediums or larges) and the average cycle times for those sizes from the last release become the estimate for the upcoming release.
  74. 74. Large items should in most cases be broken down into smaller items</li></li></ul><li>Copyright © 2011 Constant Contact, Inc.<br />27<br />
  75. 75. Copyright © 2011 Constant Contact, Inc.<br />28<br />Resources<br /><ul><li>Kanban by David J Anderson
  76. 76. Implementing Lean Software Development: From Concept to Cash - by Mary Poppendieck and Tom Poppendieck
  77. 77. Scrumban - Essays on Kanban Systems for Lean Software Development - by Corey Ladas
  78. 78. http://www.netobjectives.com/</li></li></ul><li>Copyright © 2011 Constant Contact, Inc.<br />29<br />Kanban in practice<br />
  79. 79. Copyright © 2011 Constant Contact, Inc.<br />30<br />Kanban in Practice<br /><ul><li>The Website team at Constant Contact started using Kanban in the Spring of 2009.
  80. 80. I was a Principal Engineer at the time. I’m currently the Engineering Manager.
  81. 81. Mike Fitterman (currently Director of Engineering) introduced Kanban to the team.
  82. 82. It has been an evolutionary process.</li></li></ul><li>Why Kanban?<br /><ul><li>Shorter sprint lengths were forcing us to artificially break up items in order to fit within sprint boundaries.
  83. 83. Sprint planning consumed the team for an entire day.
  84. 84. Most of the work for a sprint was getting completed all at once, close to the end of the sprint.
  85. 85. QA had nothing to do at the beginning of a sprint, but were overworked at the end.</li></ul>Copyright © 2011 Constant Contact, Inc.<br />31<br />
  86. 86. Mapping the Value Stream<br /><ul><li>At the time, the Website team was really 2 teams, Engineering and Design.
  87. 87. We asked the teams to map out their current development process.
  88. 88. It was really complicated…</li></ul>Copyright © 2011 Constant Contact, Inc.<br />32<br />
  89. 89. Mapping the Value Stream<br />Copyright © 2011 Constant Contact, Inc.<br />33<br />
  90. 90. How do you set a WIP limit?<br /><ul><li>Setting WIP limit is more art than science.
  91. 91. Don’t overthink the initial WIP limit, it will change based on metrics.
  92. 92. Start WIP limit at 1.5X the number of team members.
  93. 93. That WIP limit is for the whole board.
  94. 94. Divide total WIP amongst the columns, whatever feels right.
  95. 95. Take photos of the board daily for Cumulative Flow Diagram.</li></ul>Copyright © 2011 Constant Contact, Inc.<br />34<br />
  96. 96. Week 2 – Patterns emerge<br />Copyright © 2011 Constant Contact, Inc.<br />35<br />Verify column over limit<br />Blocked Items<br />Work not on board<br />
  97. 97. Week 4 – Board Changes<br />Copyright © 2011 Constant Contact, Inc.<br />36<br />Wait states<br />Less columns<br />Team adding policies<br />
  98. 98. Policies<br /><ul><li>The team defined policies for moving items into each state.
  99. 99. Policies are the requirements that must be met before an item is considered ready for the next state.
  100. 100. Policies were written down in a wiki and posted on the board.
  101. 101. The team frequently ignores policies, so the scrum master has to keep them honest ;-). </li></ul>Copyright © 2011 Constant Contact, Inc.<br />37<br />
  102. 102. Copyright © 2011 Constant Contact, Inc.<br />Items<br />Tasks<br />Week 5 – Items broken into Tasks<br />38<br />
  103. 103. One Team – Single Flow<br />Copyright © 2011 Constant Contact, Inc.<br />39<br />Item and task type by color<br />Produce<br />Todo<br />Bugs & Footprints on board<br />WIPL = 6 full items<br />Visible policies<br />
  104. 104. Metrics are the Key to Improvement<br /><ul><li>Cycle Time – Elapsed time from Design to Release to Production
  105. 105. Perceived lack of predictability compared to Scrum was an issue.
  106. 106. By tracking Cycle Time, we can eventually provide Service Level Agreements to stakeholders.
  107. 107. SLA = Avg. Cycle Time + 2(Standard Deviation)</li></ul>Copyright © 2011 Constant Contact, Inc.<br />40<br />
  108. 108. Cycle Times – May 2011<br />Copyright © 2011 Constant Contact, Inc.<br />41<br />SLA = Avg. Cycle Time + 2(Standard Deviation)<br />
  109. 109. Cycle Times<br />Copyright © 2011 Constant Contact, Inc.<br />42<br />
  110. 110. Cycle Time Standard Deviation<br />Copyright © 2011 Constant Contact, Inc.<br />43<br />
  111. 111. Examine Outliers to improve Process<br />Copyright © 2011 Constant Contact, Inc.<br />44<br /><ul><li>Aberdeen – delays due to churn
  112. 112. SMB Week Landing Page – we decided to start work despite the fact that many dependent assets were not ready. Stakeholder pressure to meet a deadline.
  113. 113. Chamber Website Design, and Add Simple Share Tutorial for potential bottlenecks.</li></li></ul><li>Throughput<br />Copyright © 2011 Constant Contact, Inc.<br />45<br />
  114. 114. Cumulative Flow Diagram <br /><ul><li>QA overloaded
  115. 115. Worked on more constant delivery
  116. 116. Identified a bottleneck with source control
  117. 117. Changed our branching strategy to improve</li></ul>Copyright © 2011 Constant Contact, Inc.<br />46<br />Before<br />After<br />
  118. 118. Cumulative Flow Diagram<br />Copyright © 2011 Constant Contact, Inc.<br />47<br /><ul><li>By September, we’re now releasing twice a week to Production
  119. 119. Much smoother CFD, continuous deliver improves cycle time</li></li></ul><li>Business Value Metrics<br />Copyright © 2011 Constant Contact, Inc.<br />48<br />
  120. 120. One Year Later…<br />Copyright © 2011 Constant Contact, Inc.<br />49<br />New classes of service<br />
  121. 121. Today<br />Copyright © 2011 Constant Contact, Inc.<br />50<br />New classes of service<br />
  122. 122. Conclusion<br />Copyright © 2011 Constant Contact, Inc.<br />51<br />Thanks For Spending This Time With Us<br />

Hinweis der Redaktion

  • We didn’t get it right the first week.
  • We had 3 “swim lanes” “P1” or “expedite”, Engineering and Design. The lanes converged in the verify column.We had WIP limits for each column or “state”Engineering Lanes: Queue, Requirements &amp; Test Plans, Design, Review&amp; Revision, Code, Review &amp; Revision, Verify, DoneDesign Lanes: Queue, User Experience, UX Review &amp; Revision, Design, Review&amp; Revision, Test Plan, Code, Review &amp; Revision, Verify, Done
  • We decided to use post it “flags” to indicate a blocked item.We created a parking area for “work not on the board” for visibility sake.
  • Breaking items into tasks allowed for better tracking of progress, and made it easier for people to see item that they could collaborate on.
  • We had trouble managing dependencies between the two boards/teamsWe decided to pull together as one team, one board, one goal
  • Cycle times look good, but would like to see more predictability on Pebbles.
  • Spike in February cycle times due to Know How items
  • Standard Deviation is a measure of predictability. The bigger the standard deviation, the less predictable we are.
  • We still “retro”. We try to look at items that exceed estimates to try to learn from our mistakes.
  • Throughput dramatically higher in March due to Know How. May throughput down because of Google/Open ID and Network Solutions items. Lots of work, but didn’t deliver until June. Increase in the number of bugs also affects throughput.
  • This example is from September of last year. Pretty smooth.
  • Bugs are taking up almost 30% of our time!!!! I’m using these metrics to demonstrate that poor quality is hurting our ability to deliver
  • Throughput was down because we had 4 large projects going on simultaneously, so smaller items blocked.Infrastructure work (e.g. code cleanup, upgrades, etc.) were not getting done.Team defined classes of service – pebbles, rocks, sand, plus infrastructure and design only.
  • We standardized item sizes – Small &lt;= 1 day, Medium 2-7 days, Large 7-14 daysWe found ourselves sizing items based on free lanes instead of actual size, felt artificialWe decided to change our classes of service to 2 Stakeholder lanes, 1 Exploration lane, 2 Infrastructure lanes, bugs and footprints the same.Started prioritizing by class of serviceWe’ll collect data and see what happens