java tech & tools | using a pull system for just-in-time development | john stevenson
DESCRIPTION
2011-11-01 | 05:20 PM - 06:10 PMShowing 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.TRANSCRIPT
![Page 1: Java Tech & Tools | Using a Pull System for Just-In-Time Development | John Stevenson](https://reader036.vdocuments.site/reader036/viewer/2022081403/5555cda4d8b42aaf158b4b84/html5/thumbnails/1.jpg)
©LeanAgileMachineCreative Commons Licence
JIT Development with kanban
John StevensonLean Agile Machine
![Page 2: Java Tech & Tools | Using a Pull System for Just-In-Time Development | John Stevenson](https://reader036.vdocuments.site/reader036/viewer/2022081403/5555cda4d8b42aaf158b4b84/html5/thumbnails/2.jpg)
©LeanAgileMachineCreative Commons Licence
Who is John Stevenson
@JR0cket
![Page 3: Java Tech & Tools | Using a Pull System for Just-In-Time Development | John Stevenson](https://reader036.vdocuments.site/reader036/viewer/2022081403/5555cda4d8b42aaf158b4b84/html5/thumbnails/3.jpg)
©LeanAgileMachineCreative Commons Licence
Goals
Basics of kanban
Visualise your challenges
![Page 4: Java Tech & Tools | Using a Pull System for Just-In-Time Development | John Stevenson](https://reader036.vdocuments.site/reader036/viewer/2022081403/5555cda4d8b42aaf158b4b84/html5/thumbnails/4.jpg)
©LeanAgileMachineCreative Commons Licence
Additional goal
![Page 5: Java Tech & Tools | Using a Pull System for Just-In-Time Development | John Stevenson](https://reader036.vdocuments.site/reader036/viewer/2022081403/5555cda4d8b42aaf158b4b84/html5/thumbnails/5.jpg)
©LeanAgileMachineCreative Commons Licence
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
![Page 6: Java Tech & Tools | Using a Pull System for Just-In-Time Development | John Stevenson](https://reader036.vdocuments.site/reader036/viewer/2022081403/5555cda4d8b42aaf158b4b84/html5/thumbnails/6.jpg)
©LeanAgileMachineCreative Commons Licence
How many hours do you work a
week ?
![Page 7: Java Tech & Tools | Using a Pull System for Just-In-Time Development | John Stevenson](https://reader036.vdocuments.site/reader036/viewer/2022081403/5555cda4d8b42aaf158b4b84/html5/thumbnails/7.jpg)
©LeanAgileMachineCreative Commons Licence
How many hours are you productive
per week ?
![Page 8: Java Tech & Tools | Using a Pull System for Just-In-Time Development | John Stevenson](https://reader036.vdocuments.site/reader036/viewer/2022081403/5555cda4d8b42aaf158b4b84/html5/thumbnails/8.jpg)
©LeanAgileMachineCreative Commons Licence
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
![Page 10: Java Tech & Tools | Using a Pull System for Just-In-Time Development | John Stevenson](https://reader036.vdocuments.site/reader036/viewer/2022081403/5555cda4d8b42aaf158b4b84/html5/thumbnails/10.jpg)
©LeanAgileMachineCreative Commons Licence
Software projects design
![Page 11: Java Tech & Tools | Using a Pull System for Just-In-Time Development | John Stevenson](https://reader036.vdocuments.site/reader036/viewer/2022081403/5555cda4d8b42aaf158b4b84/html5/thumbnails/11.jpg)
©LeanAgileMachineCreative Commons Licence
Kanban board - Wall of Facts
![Page 12: Java Tech & Tools | Using a Pull System for Just-In-Time Development | John Stevenson](https://reader036.vdocuments.site/reader036/viewer/2022081403/5555cda4d8b42aaf158b4b84/html5/thumbnails/12.jpg)
©LeanAgileMachineCreative Commons Licence
Value stream mapping
The (often wide) path to getting things done
Activities that get things done effectively
![Page 13: Java Tech & Tools | Using a Pull System for Just-In-Time Development | John Stevenson](https://reader036.vdocuments.site/reader036/viewer/2022081403/5555cda4d8b42aaf158b4b84/html5/thumbnails/13.jpg)
©LeanAgileMachineCreative Commons Licence
Let the board show issues...
V1.0.1, V1.0.2, V1.0.3, V1.0.4,
Build 1209Build 1221Build 1301
![Page 14: Java Tech & Tools | Using a Pull System for Just-In-Time Development | John Stevenson](https://reader036.vdocuments.site/reader036/viewer/2022081403/5555cda4d8b42aaf158b4b84/html5/thumbnails/14.jpg)
©LeanAgileMachineCreative Commons Licence
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
![Page 17: Java Tech & Tools | Using a Pull System for Just-In-Time Development | John Stevenson](https://reader036.vdocuments.site/reader036/viewer/2022081403/5555cda4d8b42aaf158b4b84/html5/thumbnails/17.jpg)
©LeanAgileMachineCreative Commons Licence
Software development
![Page 18: Java Tech & Tools | Using a Pull System for Just-In-Time Development | John Stevenson](https://reader036.vdocuments.site/reader036/viewer/2022081403/5555cda4d8b42aaf158b4b84/html5/thumbnails/18.jpg)
©LeanAgileMachineCreative Commons Licence
Software development
![Page 19: Java Tech & Tools | Using a Pull System for Just-In-Time Development | John Stevenson](https://reader036.vdocuments.site/reader036/viewer/2022081403/5555cda4d8b42aaf158b4b84/html5/thumbnails/19.jpg)
©LeanAgileMachineCreative Commons Licence
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
![Page 20: Java Tech & Tools | Using a Pull System for Just-In-Time Development | John Stevenson](https://reader036.vdocuments.site/reader036/viewer/2022081403/5555cda4d8b42aaf158b4b84/html5/thumbnails/20.jpg)
©LeanAgileMachineCreative Commons Licence
Ready queue
![Page 21: Java Tech & Tools | Using a Pull System for Just-In-Time Development | John Stevenson](https://reader036.vdocuments.site/reader036/viewer/2022081403/5555cda4d8b42aaf158b4b84/html5/thumbnails/21.jpg)
©LeanAgileMachineCreative Commons Licence
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
![Page 22: Java Tech & Tools | Using a Pull System for Just-In-Time Development | John Stevenson](https://reader036.vdocuments.site/reader036/viewer/2022081403/5555cda4d8b42aaf158b4b84/html5/thumbnails/22.jpg)
©LeanAgileMachineCreative Commons Licence
Let the board run
![Page 24: Java Tech & Tools | Using a Pull System for Just-In-Time Development | John Stevenson](https://reader036.vdocuments.site/reader036/viewer/2022081403/5555cda4d8b42aaf158b4b84/html5/thumbnails/24.jpg)
©LeanAgileMachineCreative Commons Licence
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...
![Page 25: Java Tech & Tools | Using a Pull System for Just-In-Time Development | John Stevenson](https://reader036.vdocuments.site/reader036/viewer/2022081403/5555cda4d8b42aaf158b4b84/html5/thumbnails/25.jpg)
©LeanAgileMachineCreative Commons Licence
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
![Page 26: Java Tech & Tools | Using a Pull System for Just-In-Time Development | John Stevenson](https://reader036.vdocuments.site/reader036/viewer/2022081403/5555cda4d8b42aaf158b4b84/html5/thumbnails/26.jpg)
©LeanAgileMachineCreative Commons Licence
How to decide what is right
Experiment !!
Map to resources
![Page 27: Java Tech & Tools | Using a Pull System for Just-In-Time Development | John Stevenson](https://reader036.vdocuments.site/reader036/viewer/2022081403/5555cda4d8b42aaf158b4b84/html5/thumbnails/27.jpg)
©LeanAgileMachineCreative Commons Licence
With one tester resource
![Page 28: Java Tech & Tools | Using a Pull System for Just-In-Time Development | John Stevenson](https://reader036.vdocuments.site/reader036/viewer/2022081403/5555cda4d8b42aaf158b4b84/html5/thumbnails/28.jpg)
©LeanAgileMachineCreative Commons Licence
1 tester, 6 devs pairing
![Page 29: Java Tech & Tools | Using a Pull System for Just-In-Time Development | John Stevenson](https://reader036.vdocuments.site/reader036/viewer/2022081403/5555cda4d8b42aaf158b4b84/html5/thumbnails/29.jpg)
©LeanAgileMachineCreative Commons Licence
Fast feedback across the board
![Page 30: Java Tech & Tools | Using a Pull System for Just-In-Time Development | John Stevenson](https://reader036.vdocuments.site/reader036/viewer/2022081403/5555cda4d8b42aaf158b4b84/html5/thumbnails/30.jpg)
©LeanAgileMachineCreative Commons Licence
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
![Page 31: Java Tech & Tools | Using a Pull System for Just-In-Time Development | John Stevenson](https://reader036.vdocuments.site/reader036/viewer/2022081403/5555cda4d8b42aaf158b4b84/html5/thumbnails/31.jpg)
©LeanAgileMachineCreative Commons Licence
Predictability
● Ltd WIP● Smaller batch sizes● Consistently sized tasks
Breaking down features, epics, stories
● Smallest responsible change
![Page 32: Java Tech & Tools | Using a Pull System for Just-In-Time Development | John Stevenson](https://reader036.vdocuments.site/reader036/viewer/2022081403/5555cda4d8b42aaf158b4b84/html5/thumbnails/32.jpg)
©LeanAgileMachineCreative Commons Licence
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
![Page 33: Java Tech & Tools | Using a Pull System for Just-In-Time Development | John Stevenson](https://reader036.vdocuments.site/reader036/viewer/2022081403/5555cda4d8b42aaf158b4b84/html5/thumbnails/33.jpg)
©LeanAgileMachineCreative Commons Licence
Pull system
![Page 34: Java Tech & Tools | Using a Pull System for Just-In-Time Development | John Stevenson](https://reader036.vdocuments.site/reader036/viewer/2022081403/5555cda4d8b42aaf158b4b84/html5/thumbnails/34.jpg)
©LeanAgileMachineCreative Commons Licence
What else can we do ?
![Page 35: Java Tech & Tools | Using a Pull System for Just-In-Time Development | John Stevenson](https://reader036.vdocuments.site/reader036/viewer/2022081403/5555cda4d8b42aaf158b4b84/html5/thumbnails/35.jpg)
©LeanAgileMachineCreative Commons Licence
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
![Page 36: Java Tech & Tools | Using a Pull System for Just-In-Time Development | John Stevenson](https://reader036.vdocuments.site/reader036/viewer/2022081403/5555cda4d8b42aaf158b4b84/html5/thumbnails/36.jpg)
©LeanAgileMachineCreative Commons Licence
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
![Page 37: Java Tech & Tools | Using a Pull System for Just-In-Time Development | John Stevenson](https://reader036.vdocuments.site/reader036/viewer/2022081403/5555cda4d8b42aaf158b4b84/html5/thumbnails/37.jpg)
©LeanAgileMachineCreative Commons Licence
Use both sided of the card
![Page 38: Java Tech & Tools | Using a Pull System for Just-In-Time Development | John Stevenson](https://reader036.vdocuments.site/reader036/viewer/2022081403/5555cda4d8b42aaf158b4b84/html5/thumbnails/38.jpg)
©LeanAgileMachineCreative Commons Licence
Classes of service
![Page 39: Java Tech & Tools | Using a Pull System for Just-In-Time Development | John Stevenson](https://reader036.vdocuments.site/reader036/viewer/2022081403/5555cda4d8b42aaf158b4b84/html5/thumbnails/39.jpg)
©LeanAgileMachineCreative Commons Licence
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
![Page 40: Java Tech & Tools | Using a Pull System for Just-In-Time Development | John Stevenson](https://reader036.vdocuments.site/reader036/viewer/2022081403/5555cda4d8b42aaf158b4b84/html5/thumbnails/40.jpg)
©LeanAgileMachineCreative Commons Licence
Experditing lane
![Page 41: Java Tech & Tools | Using a Pull System for Just-In-Time Development | John Stevenson](https://reader036.vdocuments.site/reader036/viewer/2022081403/5555cda4d8b42aaf158b4b84/html5/thumbnails/41.jpg)
©LeanAgileMachineCreative Commons Licence
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
![Page 42: Java Tech & Tools | Using a Pull System for Just-In-Time Development | John Stevenson](https://reader036.vdocuments.site/reader036/viewer/2022081403/5555cda4d8b42aaf158b4b84/html5/thumbnails/42.jpg)
©LeanAgileMachineCreative Commons Licence
Enhancing the board information
![Page 43: Java Tech & Tools | Using a Pull System for Just-In-Time Development | John Stevenson](https://reader036.vdocuments.site/reader036/viewer/2022081403/5555cda4d8b42aaf158b4b84/html5/thumbnails/43.jpg)
©LeanAgileMachineCreative Commons Licence
Blockers
![Page 44: Java Tech & Tools | Using a Pull System for Just-In-Time Development | John Stevenson](https://reader036.vdocuments.site/reader036/viewer/2022081403/5555cda4d8b42aaf158b4b84/html5/thumbnails/44.jpg)
©LeanAgileMachineCreative Commons Licence
Avatars / Calls for help
![Page 45: Java Tech & Tools | Using a Pull System for Just-In-Time Development | John Stevenson](https://reader036.vdocuments.site/reader036/viewer/2022081403/5555cda4d8b42aaf158b4b84/html5/thumbnails/45.jpg)
©LeanAgileMachineCreative Commons Licence
Pairing
![Page 46: Java Tech & Tools | Using a Pull System for Just-In-Time Development | John Stevenson](https://reader036.vdocuments.site/reader036/viewer/2022081403/5555cda4d8b42aaf158b4b84/html5/thumbnails/46.jpg)
©LeanAgileMachineCreative Commons Licence
Pairing does not have to be two
Different roles help share understanding of getting work done
![Page 47: Java Tech & Tools | Using a Pull System for Just-In-Time Development | John Stevenson](https://reader036.vdocuments.site/reader036/viewer/2022081403/5555cda4d8b42aaf158b4b84/html5/thumbnails/47.jpg)
©LeanAgileMachineCreative Commons Licence
Review your effectiveness
![Page 48: Java Tech & Tools | Using a Pull System for Just-In-Time Development | John Stevenson](https://reader036.vdocuments.site/reader036/viewer/2022081403/5555cda4d8b42aaf158b4b84/html5/thumbnails/48.jpg)
©LeanAgileMachineCreative Commons Licence
Effective daily standups
Avoiding 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 ?
![Page 49: Java Tech & Tools | Using a Pull System for Just-In-Time Development | John Stevenson](https://reader036.vdocuments.site/reader036/viewer/2022081403/5555cda4d8b42aaf158b4b84/html5/thumbnails/49.jpg)
©LeanAgileMachineCreative Commons Licence
Kanban board - Wall of Facts
![Page 50: Java Tech & Tools | Using a Pull System for Just-In-Time Development | John Stevenson](https://reader036.vdocuments.site/reader036/viewer/2022081403/5555cda4d8b42aaf158b4b84/html5/thumbnails/50.jpg)
©LeanAgileMachineCreative Commons Licence
Understanding of Value
![Page 51: Java Tech & Tools | Using a Pull System for Just-In-Time Development | John Stevenson](https://reader036.vdocuments.site/reader036/viewer/2022081403/5555cda4d8b42aaf158b4b84/html5/thumbnails/51.jpg)
©LeanAgileMachineCreative Commons Licence
Understanding your company
Table stakes / foundations
Spoilers Differentiators
Accelerators
![Page 52: Java Tech & Tools | Using a Pull System for Just-In-Time Development | John Stevenson](https://reader036.vdocuments.site/reader036/viewer/2022081403/5555cda4d8b42aaf158b4b84/html5/thumbnails/52.jpg)
©LeanAgileMachineCreative Commons Licence
Benefits
![Page 53: Java Tech & Tools | Using a Pull System for Just-In-Time Development | John Stevenson](https://reader036.vdocuments.site/reader036/viewer/2022081403/5555cda4d8b42aaf158b4b84/html5/thumbnails/53.jpg)
©LeanAgileMachineCreative Commons Licence
Summary of Kanban
● Visualse work● Manage WIP● Engage with business
Shared ownership
● Encourage realistic priorities
● Helps you stay sane
● Show you are productive
● Deal with micro-management
![Page 54: Java Tech & Tools | Using a Pull System for Just-In-Time Development | John Stevenson](https://reader036.vdocuments.site/reader036/viewer/2022081403/5555cda4d8b42aaf158b4b84/html5/thumbnails/54.jpg)
©LeanAgileMachineCreative Commons Licence
Be as creative as needed
![Page 55: Java Tech & Tools | Using a Pull System for Just-In-Time Development | John Stevenson](https://reader036.vdocuments.site/reader036/viewer/2022081403/5555cda4d8b42aaf158b4b84/html5/thumbnails/55.jpg)
©LeanAgileMachineCreative Commons Licence
The first rule of kanban...
![Page 56: Java Tech & Tools | Using a Pull System for Just-In-Time Development | John Stevenson](https://reader036.vdocuments.site/reader036/viewer/2022081403/5555cda4d8b42aaf158b4b84/html5/thumbnails/56.jpg)
©LeanAgileMachineCreative Commons Licence
Thank you
![Page 57: Java Tech & Tools | Using a Pull System for Just-In-Time Development | John Stevenson](https://reader036.vdocuments.site/reader036/viewer/2022081403/5555cda4d8b42aaf158b4b84/html5/thumbnails/57.jpg)
©LeanAgileMachineCreative Commons Licence
Feedback & Refs
@JR0cket
Please note: Very few bulletpoints were hurt during the making of this presentation
![Page 58: Java Tech & Tools | Using a Pull System for Just-In-Time Development | John Stevenson](https://reader036.vdocuments.site/reader036/viewer/2022081403/5555cda4d8b42aaf158b4b84/html5/thumbnails/58.jpg)
©LeanAgileMachineCreative Commons Licence
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
![Page 59: Java Tech & Tools | Using a Pull System for Just-In-Time Development | John Stevenson](https://reader036.vdocuments.site/reader036/viewer/2022081403/5555cda4d8b42aaf158b4b84/html5/thumbnails/59.jpg)
©LeanAgileMachineCreative Commons Licence
Kanban design for study