Just-in-time development with kanban - JAX London 2011


Published on

A just in time approach to getting things done using the kanban technique - including experiences from my own team and coaching other teams.

Published in: Technology, Business
  • Be the first to comment

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

No notes for slide

Just-in-time development with kanban - JAX London 2011

  1. 1. JIT Development with kanban John Stevenson Lean Agile Machine©LeanAgileMachineCreative Commons Licence
  2. 2. Who is John Stevenson @JR0cket©LeanAgileMachineCreative Commons Licence
  3. 3. GoalsBasics of kanban Visualise your challenges©LeanAgileMachineCreative Commons Licence
  4. 4. Additional goal©LeanAgileMachineCreative Commons Licence
  5. 5. What is the problem... Never enought time Always more to do Something urgent comes up Missed opportunities Work to do, bills to pay, kids to feed... Window of opportunity for getting stuff done is limited©LeanAgileMachineCreative Commons Licence
  6. 6. How many hours do you work a week ?©LeanAgileMachineCreative Commons Licence
  7. 7. How many hours are you productive per week ?©LeanAgileMachineCreative Commons Licence
  8. 8. What is Kanban ?● A way to manage dependant events● Make your work visible● Limit your work in progress  Avoiding multi-tasking – its inefficient● Pull system  only work on a task once previous task is complete● Help work to flow  continuously and predictably deliver value©LeanAgileMachineCreative Commons Licence
  9. 9. ©LeanAgileMachineCreative Commons Licence
  10. 10. Software projects design©LeanAgileMachineCreative Commons Licence
  11. 11. Kanban board - Wall of Facts©LeanAgileMachineCreative Commons Licence
  12. 12. Value stream mapping The (often wide) path to getting things done Activities that get things done effectively©LeanAgileMachineCreative Commons Licence
  13. 13. Let the board show issues... V1.0.1, V1.0.2, V1.0.3, V1.0.4, Build 1209 Build 1221 Build 1301©LeanAgileMachineCreative Commons Licence
  14. 14. How did I build my Kanban● Started simple with: Plan – Do – Done  Used scrap of paper for initial design  Built a simple board and started using it● Evolved into Plan – Do – Check – Act  Evaluated deficits in board and enhanced● Used online Kanban  So I dont need to cary a large whiteboard around  Useful for distributed teams©LeanAgileMachineCreative Commons Licence
  15. 15. ©LeanAgileMachineCreative Commons Licence
  16. 16. ©LeanAgileMachineCreative Commons Licence
  17. 17. Software development©LeanAgileMachineCreative Commons Licence
  18. 18. Software development©LeanAgileMachineCreative Commons Licence
  19. 19. Is something ready to work on?● Identify completed work between seperate board lanes● Spilt the study board lane into two  First new lane is doing state  Second lane is done / ready©LeanAgileMachineCreative Commons Licence
  20. 20. Ready queue©LeanAgileMachineCreative Commons Licence
  21. 21. Quick decisions Having a ready lane show you what you could work on next Prompts discussion as when something is ready to move from one stage / role to another Start to see if there is a bottleneck if cards queue up in the ready column©LeanAgileMachineCreative Commons Licence
  22. 22. Let the board run©LeanAgileMachineCreative Commons Licence
  23. 23. ©LeanAgileMachineCreative Commons Licence
  24. 24. So What is missing ?● I have a Kanban board● I am breaking my tasks down into relatively small chunks● But I still have far too much to do...©LeanAgileMachineCreative Commons Licence
  25. 25. Lets apply the WIP !!!● To sudy effectively I need to focus● To focus I need to work on 1 thing at once● To work on 1 thing at once I need: Work In Progress Limits©LeanAgileMachineCreative Commons Licence
  26. 26. How to decide what is right Experiment !! Map to resources©LeanAgileMachineCreative Commons Licence
  27. 27. With one tester resource©LeanAgileMachineCreative Commons Licence
  28. 28. 1 tester, 6 devs pairing©LeanAgileMachineCreative Commons Licence
  29. 29. Fast feedback across the board©LeanAgileMachineCreative Commons Licence
  30. 30. Fast feedback● Ltd WIP on  Columns  Board  Goals● Ltd WIP in column gives fast feeback between team roles  They know when there is a hold up  Can discuss what the problem is  Can try out things to see if it alivates the problem©LeanAgileMachineCreative Commons Licence
  31. 31. Predictability● Ltd WIP● Smaller batch sizes● Consistently sized tasks  Breaking down features, epics, stories● Smallest responsible change©LeanAgileMachineCreative Commons Licence
  32. 32. Let kanban help you be effective● Work on only on one thing at once● Everyone responsible for priority changes  Even your manager● If forced to switch, record and reset task to begining  Review ”task switching” overload©LeanAgileMachineCreative Commons Licence
  33. 33. Pull system©LeanAgileMachineCreative Commons Licence
  34. 34. What else can we do ?©LeanAgileMachineCreative Commons Licence
  35. 35. Drop the Backlog omnipresent sign of overload  Useful for pushing back to the management  Bad for team moral Tasks flow when team is in tune with value, opportunities are not drowned out©LeanAgileMachineCreative Commons Licence
  36. 36. Defining the task card● Set goal of task● Identify measure to check if goal reached  Code should pass all tests● Identify resources needed to compete● Identify scope of work  refactor task into multiple cards if too big©LeanAgileMachineCreative Commons Licence
  37. 37. Use both sided of the card©LeanAgileMachineCreative Commons Licence
  38. 38. Classes of service©LeanAgileMachineCreative Commons Licence
  39. 39. Experditing● Visualisation for a high priority task  Big red sticker  Experditing lane  Record other tasks being blocked● Review why you get high priority task  Consider it a constraint / bottleneck©LeanAgileMachineCreative Commons Licence
  40. 40. Experditing lane©LeanAgileMachineCreative Commons Licence
  41. 41. DevOps Goal keeper Goalkeeper fields all issues Rest of team allowed to focus on a (bigger) tasks Use visual indicator to show who is the Goalie Swap goalie regularly©LeanAgileMachineCreative Commons Licence
  42. 42. Enhancing theboard information©LeanAgileMachineCreative Commons Licence
  43. 43. Blockers©LeanAgileMachineCreative Commons Licence
  44. 44. Avatars / Calls for help©LeanAgileMachineCreative Commons Licence
  45. 45. Pairing©LeanAgileMachineCreative Commons Licence
  46. 46. Pairing does not have to be twoDifferent roles help share understanding of getting work done©LeanAgileMachineCreative Commons Licence
  47. 47. Review your effectiveness©LeanAgileMachineCreative Commons Licence
  48. 48. Effective daily standupsAvoiding status meetings● Details already there on the wall● Talk about something more useful● Opportunity to improve What have I learnt yesterday ? What do I hope to learn today ?©LeanAgileMachineCreative Commons Licence
  49. 49. Kanban board - Wall of Facts©LeanAgileMachineCreative Commons Licence
  50. 50. Understanding of Value©LeanAgileMachineCreative Commons Licence
  51. 51. Understanding your companyTable stakes /foundations DifferentiatorsSpoilers Accelerators©LeanAgileMachineCreative Commons Licence
  52. 52. Benefits©LeanAgileMachineCreative Commons Licence
  53. 53. Summary of Kanban● Visualse work● Manage WIP ● Helps you stay sane● Engage with business ● Show you are  Shared ownership productive● Encourage realistic ● Deal with micro- priorities management©LeanAgileMachineCreative Commons Licence
  54. 54. Be as creative as needed©LeanAgileMachineCreative Commons Licence
  55. 55. The first rule of kanban...©LeanAgileMachineCreative Commons Licence
  56. 56. Thank you©LeanAgileMachineCreative Commons Licence
  57. 57. Feedback & Refs @JR0cket John@jr0cket.co.uk Please note: Very few bulletpoints were hurt during the making of this presentation©LeanAgileMachineCreative Commons Licence