2012 regina tc 102 kanban
DESCRIPTION
Presentation done at the Regina Technical CommunityTRANSCRIPT
MavenThought Inc.Amir Barylko > Kanban > What’s Kanban?
AMIR BARYLKO
KANBAN
MavenThought Inc.Amir Barylko > Kanban > What’s Kanban?
INTROKanban System
Pull vs PushGoals
Software ProcessExample
MavenThought Inc.Amir Barylko > Kanban > What’s Kanban?
KANBAN SYSTEM
•Kanban = Signal Card
•Kanban cards represent the capacity of the system
•Each card is a “signal”
•No work can be started unless has a card available
•The card gets attached to a work item
MavenThought Inc.Amir Barylko > Kanban > What’s Kanban?
PULL VS PUSH
New work is New work is
pulled pushed
into the system based on
into the system based on
capacity demand
MavenThought Inc.Amir Barylko > Kanban > What’s Kanban?
GOALS
•Improve your current process
•Not change roles
•Not change flow
•Easy adoption
MavenThought Inc.Amir Barylko > Kanban > What’s Kanban?
SOFTWARE PROCESS
•Cards are “virtual”
•Cards represent a work item
•The system is represented by a card “wall”
•Pull is signaled when the work-in-progress is less than the actual limit
•Often implemented with sticky notes and a board
MavenThought Inc.Amir Barylko > Kanban > What’s Kanban?
KANBAN BOARD
MavenThought Inc.Amir Barylko > Kanban > What’s Kanban?
MODEL YOUR PROCESSIdentify WorkflowDrawing the boardTime Calculation
BuffersWork Items
MavenThought Inc.Amir Barylko > Kanban > Implementation
IDENTIFY WORKFLOW
•Which states/phases can be possible?
•What are the transitions?
•Which roles are involved?
•Which are the boundaries?
MavenThought Inc.Amir Barylko > Kanban > Implementation
EXAMPLE
Analysis
Design
Coding
Testing
UAT
Deploy
MavenThought Inc.Amir Barylko > Kanban > Implementation
WORK ITEMS
•Use Cases
•User stories
•Bugs
•Change request
•Etc....
MavenThought Inc.Amir Barylko > Kanban > Implementation
BOARD / CARD WALL
•Each phase/state becomes a column
•Has a first input column (usually called backlog)
•May have a last archive form done items
•The flow goes from left to right
•By convention highest priority goes on top
MavenThought Inc.Amir Barylko > Kanban > Implementation
EXAMPLE BOARD
Input Analysis Design Coding Testing UAT Deploy
Flow
MavenThought Inc.Amir Barylko > Kanban > Implementation
LEAD TIME
•Starts when the card is added to the input queue and finishes when is delivered/deployed
Input Analysis Design Coding Testing UAT Deploy
Lead Time
MavenThought Inc.Amir Barylko > Kanban > Implementation
CYCLE TIME
•Starts when work begins on the card and finishes when the card is ready to be deployed
Input Analysis Design Coding Testing UAT Deploy
Cycle Time
MavenThought Inc.Amir Barylko > Kanban > Implementation
WORK ITEMS
•Do all the work items have the same workflow?
•How can we identify them?
•Use different colors
•Or different rows (swim lanes)
•Or both
MavenThought Inc.Amir Barylko > Kanban > Implementation
USING SWIM LANESBacklog AnalysisAnalysis CodingCoding UAT Archive
In Prog. Done In Prog. Done
Features
Bugs
Small Change
MavenThought Inc.Amir Barylko > Kanban > Implementation
WHAT GOES IN THE CARD?
•Information about the feature/request
•Number for traceability (tracking system, etc)
•Who’s assigned
•Deadline
•Other?
MavenThought Inc.Amir Barylko > Kanban > Implementation
Post-It&
Sharpie!DRAW YOUR BOARD
•Split up in teams (2 or 3)
•Identify current workflow
•Identify work items
•Draw a board
•Discuss
MavenThought Inc.Amir Barylko > Kanban > What’s Kanban?
WIP LIMITSLimit Work
Queues & BuffersConsiderationsWIP Accuracy
Capacity Allocation
MavenThought Inc.Amir Barylko > Kanban > Implementation
LIMIT WORK
•How many team members?
•How many roles?
•How many work items per person?
•Usually one item per person is enough
•but it depends on your environment
MavenThought Inc.Amir Barylko > Kanban > Implementation
EXAMPLE I
•3 Developers
•2 Testers
•2 Analysts
•1 Sysadmin
•Analysis (2)
•Dev (3)
•Testing (2)
•Deploy (1)
8 Total
MavenThought Inc.Amir Barylko > Kanban > Implementation
EXAMPLE II
•3 Developers
•2 Testers
•2 Analysts
•1 Sysadmin
•Analysis (4)
•Dev (4)
•Testing (3)
•Deploy (2)
13 Total
MavenThought Inc.Amir Barylko > Kanban > Implementation
QUEUES
•What happens we one phase is faster?
•Work would be “waiting” to be pulled
•So its “queuing” for the next phase
•What should be the size of the queue?
MavenThought Inc.Amir Barylko > Kanban > Implementation
QUEUE EXAMPLEBacklog
(7)Analysis
(4)Analysis
(4)
Dev Ready
(3)
Coding(4)
Coding(4)
UAT(2)
Deploy(2)
In Prog. Done In Prog. Done
Bottleneck buffer
20Total
MavenThought Inc.Amir Barylko > Kanban > Implementation
CONSIDERATIONS
•Buffers mitigate bottlenecks allowing work to continue
•However letting in more work doesn’t imply we go faster
•Our goal is to balance the demand and throughput
•We want to make “Lead Time” shorter
MavenThought Inc.Amir Barylko > Kanban > Implementation
RIGHT THE FIRST TIME
•What would happen if the WIP limits are not accurate?
•Absolutely nothing!
• It’s an empirical process
•Don’t get caught on getting it right the first time
MavenThought Inc.Amir Barylko > Kanban > Implementation
HOWEVER...
Always set the WIP!