Kanban, Flow and Cadence


Published on

This workshop explores three important Lean concepts - Kanban, Flow and Cadence (KFC) - which can be combined to generate a more pipeline-based approach to software development, as opposed to the more common timebox-based approaches of more traditional Agile methods. The presenters will describe their experiences implementing these ideas at Yahoo! and explain the concepts using examples, simulations and games. In addition, because this is a new and emerging way of working, there will be an opportunity for discussion between the participants about how the ideas might be applied in their own situations, in order to advance the art. - See more at: http://conferences.agilealliance.org/sessions/20082311#sthash.QqTFKRkG.dpuf

Published in: Technology
  • Be the first to comment

No Downloads
Total views
On SlideShare
From Embeds
Number of Embeds
Embeds 0
No embeds

No notes for slide
  • 1962
  • Sometimes when the system slows, people will not have the ability to help release the constraint. When this happens, Product Developers are trusted to find other interesting work. This work could be in Career Development, Product Innovation, development process improvements, defect reduction or anything else the Product Developer finds to be interesting. The only requirement is that it is work that can immediately be put down when the system speeds up and moving work within the Product Developer's responsibility is once again possible.
  • Another way to think about this is INVEST:
    Independent, Negotiable, Valuable, Estimable, Sized appropriately, Testable
    Expect many MMFs per product.
    MMFs will be small when adding enhancements to existing features.
    MMFs will be larger for new functionality.
    It's okay to have multiple MMFs for the same feature.
  • Leading v. Trailing indicators?
  • Kanban, Flow and Cadence

    1. 1. KFC DevelopmentKFC Development It’s Finger Lickin’ GoodIt’s Finger Lickin’ Good But It Has ConsequencesBut It Has Consequences Karl Scotland Aaron Sanders
    2. 2. KFC DevelopmentKFC Development
    3. 3. KanbanKanban Controlling the Workflow
    4. 4. DefinitionDefinition Kanban (in kanji 看板 also in katakana カ ンバン , where kan, 看 カン , means "visual," and ban, 板 バン , means "card" or "board")
    5. 5. OriginOrigin “The two pillars of the Toyota production system are just-in-time and automation with a human touch, or autonomation. The tool used to operate the system is kanban.” Taiichi Ohno, Toyota Production System (adopted 1962)
    6. 6. Toyota Production SystemToyota Production System
    7. 7. Kanban BoardKanban Board http://www.flickr.com/photos/jnywong/22 22481466/
    8. 8. Kanban PullKanban Pull … Step 1 DoneStep 2 Step n…Work Items Queue In Process Queue In Process Queue In Process
    9. 9. KanbanKanban That’s it Except for one more important element Kanban Limits ◦ Queue ◦ WIP
    10. 10. Kanban Pull – With LimitsKanban Pull – With Limits … Step 1 DoneStep 2 Step n…Work Items Queue In Process Queue In Process Queue In Process
    11. 11. Queues / BuffersQueues / Buffers Large enough to keep the team busy Small enough to avoid premature prioritisation Ideally should be FIFO
    12. 12. Work In ProgressWork In Progress Reduce multi-tasking Maximize throughput Enhances teamwork
    13. 13. MultitaskingMultitasking Reduce Multitasking ◦ 20% time lost to context switching per ‘task’ Gerald Weinberg, Quality Software Management: Systems Thinking
    14. 14. MultitaskingMultitasking Reduce Multitasking ◦ Sequential yields results sooner A AA A B BB CCC B C
    15. 15. Multitasking ExerciseMultitasking Exercise 3 Projects 1. Write the 1st 10 digits in a column 2. Write the 1st 10 letters in a column 3. Write the 1st 10 roman numerals in a column 1.Sequential (non multi-tasking) ◦ Column by column 1.Parallel (multi-tasking) ◦ Row by row
    16. 16. ThroughputThroughput Maximize Throughput Throughput Work In Progress
    17. 17. ThroughputThroughput Little’s Law for Queuing Theory Therefore, to improve cycle time 1. Reduce Number of Things in Process 2. Improve Average Completion Rate Total Cycle Time = Number of Things in Process Average Completion Rate
    18. 18. TeamworkTeamwork Enhances Teamwork ◦ Team focus on goals that add value not individual tasks Encourages Swarming
    19. 19. GuidelinesGuidelines  What are you going to work on? 1. Can you help progress an existing kanban? • Work on that. 1. Don’t have the right skills? • Find the bottleneck and work to release it. 1. Don’t have the right skills? • Pull in work from the queue. 1. Can’t starting anything in the queue? • Is there any lower priority to start investigating? 1. They don’t have anything? • Find other interesting work.
    20. 20. Being BlockedBeing Blocked Lower priority work… ◦ Spikes ◦ Analysis Other interesting work… ◦ Refactoring ◦ Tool Automation ◦ Personal Development ◦ Innovation But NOT ◦ Anything which will create work downstream
    21. 21. WIP Limit SizesWIP Limit Sizes WIP limit can depend on type of work and size of team Should be adjusted to achieve maximum flow
    22. 22. ExampleExample Fill Me! UED ReleaseBuild TestWork Items Queue WIP Queue WIP Queue WIP Done Queue WIP Product Manager Prioritises 1 UED 6 Dev 1 QA 1 SE Fill Me! Fill Me! Fill Me! Fill Me! Fill Me! Fill Me! Fill Me! Fill Me! Fill Me! Fill Me! Fill Me! Fill Me! Remember! It’s the whole team’s responsibility to progress work items
    23. 23. Simulation - PushSimulation - Push  The system includes a cup of Raw Material tokens, several workers in a row, and a cup for Finished Goods.  Each worker has a fair die.  Place 6 tokens between each worker  Worker 1 removes tokens from the cup according to the number of dots rolled on the die. The tokens are moved to a point between Worker 1 and Worker 2. Worker 2 rolls the die and moves tokens from between Worker 1 and Worker 2 to between Worker 2 and Worker 3. Then number processed is the maximum of the number rolled and the number of tokens available (WIP) at that location  Play the game for ten days. Each worker will roll the die once each day.  Record the final amount of Finished Goods and Work in Process
    24. 24. Simulation - KanbanSimulation - Kanban  The system includes a cup of Raw Material tokens, several workers in a row, and a cup for Finished Goods.  Each worker has a fair die.  Place 6 tokens between each worker  On day 1, the last worker moves the tokens into the finished goods cup according to the roll of the dice. The next to last worker rolls and tries to replenish the WIP before the last worker to its Kanban level of 6.  Sometimes the next to the last worker will be short and will have to make up the shortage on future days. Sometimes the next to the last worker will roll a high number and could exceed the Kanban level. Don't allow the Kanban level (WIP between two workers) to go above 6 tokens.  Play the game for ten days. Each worker will roll the die once each day.  Record the final amount of Finished Goods and Work in Process
    25. 25. Simulation - DiscussionSimulation - Discussion How did the two processes compare? ◦ Finished Goods? ◦ Work in Process? Any other observations?
    26. 26. Kanban ConsequenceKanban Consequence
    27. 27. Kanban ConsequenceKanban Consequence Eliminate Backlogs, Timeboxed Iterations, and Estimates
    28. 28. FlowFlow The Work in the System
    29. 29. FlowFlow “In lean enterprises, traditional organizational structures give way to new team-oriented organizations which are centred on the flow of value, not on functional expertise.” http://www.poppendieck.com/papers/LeanThinking.pdf
    30. 30. One Piece FlowOne Piece Flow Moving one piece at a time between stages in a workflow as opposed to Moving batches of work between stages in a workflow
    31. 31. Large BatchLarge Batch Analysis Design Build Test Release
    32. 32. Smaller BatchesSmaller Batches Analysis Design Build Test Release
    33. 33. AgileAgile Analysis Design Build Test Release
    34. 34. One Piece FlowOne Piece Flow Analysis Design Build Test Release
    35. 35. Continuous FlowContinuous Flow
    36. 36. Minimal Marketable FeaturesMinimal Marketable Features “A minimal marketable feature is a chunk of functionality that delivers a subset of the customer’s requirements, and that is capable of returning value to the customer when released as an independent entity” M Denne & H Cleland-Huang, Software by Numbers
    37. 37. MinimalMinimal As small as possible ◦ Progressive delivery (realise product sooner) ◦ Reduce feature bloat (the core features are the most important) ◦ A feature has a cost to a user (added complexity)
    38. 38. MarketableMarketable I will be able to write an entry in our product blog about this new feature
    39. 39. MarketableMarketable  Table Stakes ◦ Parity to the competition ◦ Minimum needed to be in the game  Differentiator ◦ Differentiates from the competition ◦ Delights the customer  Spoiler ◦ A competitors differentiator ◦ Raises the bar for parity  Cost Reducer ◦ Reduces cost ◦ Improves the margin
    40. 40. FeatureFeature Distinct, Deliverable, Observable Fits the INVEST acronym ◦ Independent, Negotiable, Valuable, Estimable, Small, Testable
    41. 41. User Story MappingUser Story Mapping goal activity task tool task task tool tool tool tool tool activity task tool task task tool tool tool tool tool • Goal: business or user objective • Activity: user centred pursuit • Task: element of performing an activity • Tool: solution detail Time Necessity goal
    42. 42. Two Tier Kanban - 1Two Tier Kanban - 1 Proposed In Progress (5) Done Development (3)Queue (4) Done
    43. 43. Two Tier Kanban - 2Two Tier Kanban - 2 Proposed WIP(5) DoneQueue (4) DoneMMF (3)
    44. 44. Flow ConsequenceFlow Consequence
    45. 45. Flow ConsequenceFlow Consequence Use Larger, Value-Focussed Features
    46. 46. CadenceCadence Commitment and Reliability
    47. 47. CadenceCadence “If the team isn’t estimating or planning with fixed time-boxes, how can it make reliable commitments?” Anonymous(es)
    48. 48. CadenceCadence “A regular cadence, or ‘heartbeat,’ establishes the capability of a team to reliably deliver working software at a dependable velocity. An organization that delivers at a regular cadence has established its process capability and can easily measure its capacity.” http://www.poppendieck.com/pipeline.htm
    49. 49. MetricsMetrics Throughput - the amount of output of a process in a given period of time Cycle Time - the length of time to complete a process Throughput = WIP / Cycle Time Throughput allows forecasting of future capability
    50. 50. CommitmentCommitment  Cycle Time becomes an SLA with the business  May need to size and/or classify MMFs where there is variation
    51. 51. Long Term ForecastingLong Term Forecasting Focus on quarterly goals and objectives Prioritise MMFs to meet those goals and objectives Release regularly Trust the team to work to its full capacity
    52. 52. Cumulative Flow DiagramCumulative Flow Diagram
    53. 53. Throughput ChartThroughput Chart
    54. 54. Cycle Time ChartCycle Time Chart
    55. 55. Other CadencesOther Cadences  Stand-up Meetings  Retrospectives  Operations Reviews
    56. 56. Cadence ConsequenceCadence Consequence
    57. 57. Cadence ConsequenceCadence Consequence Commitment via Measurement as Opposed to Planning
    58. 58. Thank YouThank You kjscotland@yahoo.co.uk http://availagility.wordpress.com aaron@sanders.name http://aaron.sanders.name/ http://groups.yahoo.com/group/kanbandev/