Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Kanban as a Software Development Process

Kanban as a Software Development Process

It was presented on part of Software project management course on Masters program in HFT Stuttgart.

Mushfiq-E Mahabub

May 01, 2013
Tweet

More Decks by Mushfiq-E Mahabub

Other Decks in Programming

Transcript

  1. Learning objectives © 2013 Mahabub; slide 2  What is

    Kanban?  How to implement Kanban in software development project
  2. Outline © 2013 Mahabub; slide 3  Introduction  Properties

    of Kanban  Visualize workflow  Limit work in progress (WIP)  Measure and manage cycle time  Calculation of WIP  Kanban kickstart example  Case study  Kanban tools  Conclusion  References
  3. Introduction © 2013 Mahabub; slide 4  Kanban means 'visual

    card', it is a Japanese word  Kanban is used by Toyota for last half-century as their lean production system  In 2004 David Anderson pioneered implementation of Kanban as a software development process  Fundamental principles:  Start with what do you know  Agree to pursue incremental, evolutionary change  Initially, respect roles, responsibilities & job titles  Encourage acts of leadership at all levels
  4. What is Kanban? © 2013 Mahabub; slide 5 “ Kanban

    is a method for developing software products with an emphasis on just-in-time delivery while not overloading the software developers. In this approach, the process, from definition of a task to its delivery to the customer, is dis played for participants to see and developers pull work from queue.” Source: http://en.wikipedia.org/wiki/Kanban_(development)
  5. Properties of Kanban © 2013 Mahabub; slide 6  Visualize

    the workflow  Limit work in progress (WIP)  Measure and manage cycle time.
  6. Visualize the workflow © 2013 Mahabub; slide 7  Split

    work into pieces, write each item on a card, and put the card on the wall  Use named columns to illustrate where each item is in the workflow
  7. Limit work in progress (WIP) © 2013 Mahabub; slide 9

     Assign explicit limits to how many items may be in progress at each workflow state  Too low Kaban limit => idle people => bad productivity  Too high Kanban limit => idle tasks => bad lead time
  8. Limit work in progress(WIP Example) © 2013 Mahabub; slide 10

    Source:”Kanban and Scrum making the most of both”( Reference Book 2 ) Figure: Kanban board flow
  9. Measure and manage cycle time © 2013 Mahabub; slide 11

    “Cumulative flow diagram is an area graph that depicts the quantity of work in a given state, showing arrivals, time in queue, quantity in queue, and departure.” source:http://en.wikipedia.org/wiki/Cumulative_flow_diagram Lead time is the physical time needed to successfully implemented and released since the request was added to backlog.  Cycle time is the time needed for a certain story to be implemented. It shows actual effort, in time units.
  10. Measure and manage cycle time (Example) © 2013 Mahabub; slide

    12 Day 4: Total 9 items in board and 1 items in Production,1 in test, 2 items in Dev and 5 items in the Backlog. Source:“Kanban and Scrum making the most of both” (Reference Book 2) Figure: Cumulative flow diagram
  11. WIP Calculation © 2013 Mahabub; slide 14 Using Littles' law

    “ The long-term average number of customer in a stable system L is equal to the long-term average effective arrival rate, λ, multiplied by the average time of customer spends in the system, W” L = λW Source:http://en.wikipedia.org/wiki/Little's_law Applied to Kanban, WIP = Throughput * CycleTime Heuristic Approach 2n -1 where n = Number of team members
  12. Case Study © 2013 Mahabub; slide 15 BBC world-wide London:

    “ After detailed investigation of the performance of nine- person software development team employed by BBC world-wide London. The data was collected in 2009 and evidence shows that over the 12-month period, lead time to delivery software improved 37%, consistency of delivery rose to 47% and defects reported by customer fell 24% .“ Source: Lean Software Management: BBC Worldwide Case Study (Reference 3)
  13. Kanban tools © 2013 Mahabub; slide 16  Trello (http://trello.com)

     Kanbanize (http://kanbanize.com)  Kanbanery (https://kanbanery.com)  Kanbanpad (https://kanbanpad.com)  Simple Kanban (http://simple-kanban.com) Open Source
  14. Conclusions © 2013 Mahabub; slide 17  Kanban encourages incremental

    evolution of existing work  Proper visual work flow ensures synchronization between teams  Experiment, inspect and adapt!
  15. References © 2013 Mahabub; slide 18 1.H. Kniberg, Lean from

    the Trenches, The Pragmatic Programmers, 2011 2.H. Kniberg & M. Skarim, Kanban & S crum making the most of both, C4 Media, 2010 3. P. Middleton & D. Joyce, Lean S oftware Management: BBC Worldwide Case S tudy, IEEE Transaction on Engineering management,http://ieeexplore.ieee.org/xpl/login.jsp? tp=&arnumber=5741001