©LeanAgileMachineCreative Commons Licence
JIT Development with kanban
John StevensonLean Agile Machine
©LeanAgileMachineCreative Commons Licence
Who is John Stevenson
@JR0cket
©LeanAgileMachineCreative Commons Licence
Goals
Basics of kanban
Visualise your challenges
©LeanAgileMachineCreative Commons Licence
Additional goal
©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
©LeanAgileMachineCreative Commons Licence
How many hours do you work a
week ?
©LeanAgileMachineCreative Commons Licence
How many hours are you productive
per week ?
©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
©LeanAgileMachineCreative Commons Licence
©LeanAgileMachineCreative Commons Licence
Software projects design
©LeanAgileMachineCreative Commons Licence
Kanban board - Wall of Facts
©LeanAgileMachineCreative Commons Licence
Value stream mapping
The (often wide) path to getting things done
Activities that get things done effectively
©LeanAgileMachineCreative Commons Licence
Let the board show issues...
V1.0.1, V1.0.2, V1.0.3, V1.0.4,
Build 1209Build 1221Build 1301
©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
©LeanAgileMachineCreative Commons Licence
©LeanAgileMachineCreative Commons Licence
©LeanAgileMachineCreative Commons Licence
Software development
©LeanAgileMachineCreative Commons Licence
Software development
©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
©LeanAgileMachineCreative Commons Licence
Ready queue
©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
©LeanAgileMachineCreative Commons Licence
Let the board run
©LeanAgileMachineCreative Commons Licence
©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...
©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
©LeanAgileMachineCreative Commons Licence
How to decide what is right
Experiment !!
Map to resources
©LeanAgileMachineCreative Commons Licence
With one tester resource
©LeanAgileMachineCreative Commons Licence
1 tester, 6 devs pairing
©LeanAgileMachineCreative Commons Licence
Fast feedback across the board
©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
©LeanAgileMachineCreative Commons Licence
Predictability
● Ltd WIP● Smaller batch sizes● Consistently sized tasks
Breaking down features, epics, stories
● Smallest responsible change
©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
©LeanAgileMachineCreative Commons Licence
Pull system
©LeanAgileMachineCreative Commons Licence
What else can we do ?
©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
©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
©LeanAgileMachineCreative Commons Licence
Use both sided of the card
©LeanAgileMachineCreative Commons Licence
Classes of service
©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
©LeanAgileMachineCreative Commons Licence
Experditing lane
©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
©LeanAgileMachineCreative Commons Licence
Enhancing the board information
©LeanAgileMachineCreative Commons Licence
Blockers
©LeanAgileMachineCreative Commons Licence
Avatars / Calls for help
©LeanAgileMachineCreative Commons Licence
Pairing
©LeanAgileMachineCreative Commons Licence
Pairing does not have to be two
Different roles help share understanding of getting work done
©LeanAgileMachineCreative Commons Licence
Review your effectiveness
©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 ?
©LeanAgileMachineCreative Commons Licence
Kanban board - Wall of Facts
©LeanAgileMachineCreative Commons Licence
Understanding of Value
©LeanAgileMachineCreative Commons Licence
Understanding your company
Table stakes / foundations
Spoilers Differentiators
Accelerators
©LeanAgileMachineCreative Commons Licence
Benefits
©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
©LeanAgileMachineCreative Commons Licence
Be as creative as needed
©LeanAgileMachineCreative Commons Licence
The first rule of kanban...
©LeanAgileMachineCreative Commons Licence
Thank you
©LeanAgileMachineCreative Commons Licence
Feedback & Refs
@JR0cket
Please note: Very few bulletpoints were hurt during the making of this presentation
©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
©LeanAgileMachineCreative Commons Licence
Kanban design for study