Your SlideShare is downloading. ×
0
Java Tech & Tools | Using a Pull System for Just-In-Time Development | John Stevenson
Java Tech & Tools | Using a Pull System for Just-In-Time Development | John Stevenson
Java Tech & Tools | Using a Pull System for Just-In-Time Development | John Stevenson
Java Tech & Tools | Using a Pull System for Just-In-Time Development | John Stevenson
Java Tech & Tools | Using a Pull System for Just-In-Time Development | John Stevenson
Java Tech & Tools | Using a Pull System for Just-In-Time Development | John Stevenson
Java Tech & Tools | Using a Pull System for Just-In-Time Development | John Stevenson
Java Tech & Tools | Using a Pull System for Just-In-Time Development | John Stevenson
Java Tech & Tools | Using a Pull System for Just-In-Time Development | John Stevenson
Java Tech & Tools | Using a Pull System for Just-In-Time Development | John Stevenson
Java Tech & Tools | Using a Pull System for Just-In-Time Development | John Stevenson
Java Tech & Tools | Using a Pull System for Just-In-Time Development | John Stevenson
Java Tech & Tools | Using a Pull System for Just-In-Time Development | John Stevenson
Java Tech & Tools | Using a Pull System for Just-In-Time Development | John Stevenson
Java Tech & Tools | Using a Pull System for Just-In-Time Development | John Stevenson
Java Tech & Tools | Using a Pull System for Just-In-Time Development | John Stevenson
Java Tech & Tools | Using a Pull System for Just-In-Time Development | John Stevenson
Java Tech & Tools | Using a Pull System for Just-In-Time Development | John Stevenson
Java Tech & Tools | Using a Pull System for Just-In-Time Development | John Stevenson
Java Tech & Tools | Using a Pull System for Just-In-Time Development | John Stevenson
Java Tech & Tools | Using a Pull System for Just-In-Time Development | John Stevenson
Java Tech & Tools | Using a Pull System for Just-In-Time Development | John Stevenson
Java Tech & Tools | Using a Pull System for Just-In-Time Development | John Stevenson
Java Tech & Tools | Using a Pull System for Just-In-Time Development | John Stevenson
Java Tech & Tools | Using a Pull System for Just-In-Time Development | John Stevenson
Java Tech & Tools | Using a Pull System for Just-In-Time Development | John Stevenson
Java Tech & Tools | Using a Pull System for Just-In-Time Development | John Stevenson
Java Tech & Tools | Using a Pull System for Just-In-Time Development | John Stevenson
Java Tech & Tools | Using a Pull System for Just-In-Time Development | John Stevenson
Java Tech & Tools | Using a Pull System for Just-In-Time Development | John Stevenson
Java Tech & Tools | Using a Pull System for Just-In-Time Development | John Stevenson
Java Tech & Tools | Using a Pull System for Just-In-Time Development | John Stevenson
Java Tech & Tools | Using a Pull System for Just-In-Time Development | John Stevenson
Java Tech & Tools | Using a Pull System for Just-In-Time Development | John Stevenson
Java Tech & Tools | Using a Pull System for Just-In-Time Development | John Stevenson
Java Tech & Tools | Using a Pull System for Just-In-Time Development | John Stevenson
Java Tech & Tools | Using a Pull System for Just-In-Time Development | John Stevenson
Java Tech & Tools | Using a Pull System for Just-In-Time Development | John Stevenson
Java Tech & Tools | Using a Pull System for Just-In-Time Development | John Stevenson
Java Tech & Tools | Using a Pull System for Just-In-Time Development | John Stevenson
Java Tech & Tools | Using a Pull System for Just-In-Time Development | John Stevenson
Java Tech & Tools | Using a Pull System for Just-In-Time Development | John Stevenson
Java Tech & Tools | Using a Pull System for Just-In-Time Development | John Stevenson
Java Tech & Tools | Using a Pull System for Just-In-Time Development | John Stevenson
Java Tech & Tools | Using a Pull System for Just-In-Time Development | John Stevenson
Java Tech & Tools | Using a Pull System for Just-In-Time Development | John Stevenson
Java Tech & Tools | Using a Pull System for Just-In-Time Development | John Stevenson
Java Tech & Tools | Using a Pull System for Just-In-Time Development | John Stevenson
Java Tech & Tools | Using a Pull System for Just-In-Time Development | John Stevenson
Java Tech & Tools | Using a Pull System for Just-In-Time Development | John Stevenson
Java Tech & Tools | Using a Pull System for Just-In-Time Development | John Stevenson
Java Tech & Tools | Using a Pull System for Just-In-Time Development | John Stevenson
Java Tech & Tools | Using a Pull System for Just-In-Time Development | John Stevenson
Java Tech & Tools | Using a Pull System for Just-In-Time Development | John Stevenson
Java Tech & Tools | Using a Pull System for Just-In-Time Development | John Stevenson
Java Tech & Tools | Using a Pull System for Just-In-Time Development | John Stevenson
Java Tech & Tools | Using a Pull System for Just-In-Time Development | John Stevenson
Java Tech & Tools | Using a Pull System for Just-In-Time Development | John Stevenson
Java Tech & Tools | Using a Pull System for Just-In-Time Development | John Stevenson
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×
Saving this for later? Get the SlideShare app to save on your phone or tablet. Read anywhere, anytime – even offline.
Text the download link to your phone
Standard text messaging rates apply

Java Tech & Tools | Using a Pull System for Just-In-Time Development | John Stevenson

730

Published on

2011-11-01 | 05:20 PM - 06:10 PM …

2011-11-01 | 05:20 PM - 06:10 PM
Showing the concepts and techniques of using a pull based system (eg. kanban) to manage development effectively and working towards a just in time development approach. This session covers kanban as a way to visualise your workflow and ensure you are working on the most valuable task at hand. Experiences will be shared from applying kanban at a diverse range of companies.

Published in: Technology, Business
0 Comments
1 Like
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total Views
730
On Slideshare
0
From Embeds
0
Number of Embeds
1
Actions
Shares
0
Downloads
22
Comments
0
Likes
1
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
No notes for slide

Transcript

  • 1. JIT Development with kanban John Stevenson Lean Agile Machine©LeanAgileMachineCreative Commons Licence
  • 2. Who is John Stevenson @JR0cket©LeanAgileMachineCreative Commons Licence
  • 3. GoalsBasics of kanban Visualise your challenges©LeanAgileMachineCreative Commons Licence
  • 4. Additional goal©LeanAgileMachineCreative Commons Licence
  • 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. How many hours do you work a week ?©LeanAgileMachineCreative Commons Licence
  • 7. How many hours are you productive per week ?©LeanAgileMachineCreative Commons Licence
  • 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. ©LeanAgileMachineCreative Commons Licence
  • 10. Software projects design©LeanAgileMachineCreative Commons Licence
  • 11. Kanban board - Wall of Facts©LeanAgileMachineCreative Commons Licence
  • 12. Value stream mapping The (often wide) path to getting things done Activities that get things done effectively©LeanAgileMachineCreative Commons Licence
  • 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. 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. ©LeanAgileMachineCreative Commons Licence
  • 16. ©LeanAgileMachineCreative Commons Licence
  • 17. Software development©LeanAgileMachineCreative Commons Licence
  • 18. Software development©LeanAgileMachineCreative Commons Licence
  • 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. Ready queue©LeanAgileMachineCreative Commons Licence
  • 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. Let the board run©LeanAgileMachineCreative Commons Licence
  • 23. ©LeanAgileMachineCreative Commons Licence
  • 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. 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. How to decide what is right Experiment !! Map to resources©LeanAgileMachineCreative Commons Licence
  • 27. With one tester resource©LeanAgileMachineCreative Commons Licence
  • 28. 1 tester, 6 devs pairing©LeanAgileMachineCreative Commons Licence
  • 29. Fast feedback across the board©LeanAgileMachineCreative Commons Licence
  • 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. Predictability● Ltd WIP● Smaller batch sizes● Consistently sized tasks  Breaking down features, epics, stories● Smallest responsible change©LeanAgileMachineCreative Commons Licence
  • 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. Pull system©LeanAgileMachineCreative Commons Licence
  • 34. What else can we do ?©LeanAgileMachineCreative Commons Licence
  • 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. 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. Use both sided of the card©LeanAgileMachineCreative Commons Licence
  • 38. Classes of service©LeanAgileMachineCreative Commons Licence
  • 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. Experditing lane©LeanAgileMachineCreative Commons Licence
  • 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. Enhancing theboard information©LeanAgileMachineCreative Commons Licence
  • 43. Blockers©LeanAgileMachineCreative Commons Licence
  • 44. Avatars / Calls for help©LeanAgileMachineCreative Commons Licence
  • 45. Pairing©LeanAgileMachineCreative Commons Licence
  • 46. Pairing does not have to be twoDifferent roles help share understanding of getting work done©LeanAgileMachineCreative Commons Licence
  • 47. Review your effectiveness©LeanAgileMachineCreative Commons Licence
  • 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. Kanban board - Wall of Facts©LeanAgileMachineCreative Commons Licence
  • 50. Understanding of Value©LeanAgileMachineCreative Commons Licence
  • 51. Understanding your companyTable stakes /foundations DifferentiatorsSpoilers Accelerators©LeanAgileMachineCreative Commons Licence
  • 52. Benefits©LeanAgileMachineCreative Commons Licence
  • 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. Be as creative as needed©LeanAgileMachineCreative Commons Licence
  • 55. The first rule of kanban...©LeanAgileMachineCreative Commons Licence
  • 56. Thank you©LeanAgileMachineCreative Commons Licence
  • 57. Feedback & Refs @JR0cket JStevenson@atlassian.com John@jr0cket.com Please note: Very few bulletpoints were hurt during the making of this presentation©LeanAgileMachineCreative Commons Licence
  • 58. Lessons from Service Desk● Variation of personal kanban  Sticky notes at the side of the keyboard  One priority at once  Need business reason to change priorities  Record reason and number of times you had to revisit the task©LeanAgileMachineCreative Commons Licence
  • 59. Kanban design for study©LeanAgileMachineCreative Commons Licence

×