Global Identity Enrolment and Verification Pro Solution - Cizo Technology Ser...
Short lean kanban training with Don Reinertsen's Lean Product Development Principles
1. Subset of Lean and Kanban
slides with Don Reinertsen 2nd
Gen Lean Prod Dev Principles
2. Do any of these sound familiar?
• “We’ve done Scrum for a long time now and our process
improvement has levelled off. How can we take our process
to the next level?”
• “Our needs and priorities shift on a daily basis”
• “We don’t like fixed-length, fixed-commitment iterations”
• “We are spending too much time long-range planning and
estimating when these plans end up changing in the short-
run and are never realized”
3. Scrum vs. Kanban
Scrum Kanban
Process tool based in Lean and Agile
principles
Process tool based in Lean and Agile
principles
Empirical process Empirical process
Plans work in time-boxes called Sprints with
prescribed activities at beginning and end
of each Sprint
Is a flow-based model with no prescribed
ceremonies. Team can choose to do
ceremonies whenever they deem necessary
Places a WIP limit on the amount of work to
be completed in a Sprint (Sprint Backlog
based on Velocity)
Places WIP limits on each workflow state
3 specific roles No specific roles
Prescribes sizing work items which is then
measured as Velocity
Measures lead time (time it takes for item
to go through the entire workflow) without
sizing work items (and cycle time)
Source: http://www.infoq.com/minibooks/kanban-scrum-minibook
14. Why Queues Matter
• Queues Create…
• Longer cycle time
• Lower Quality
• More variability
• Increased risk
• More overhead
• Less motivation
Managing queues is the key to improving product development economics
Don Reinertsen’s 2GLPD
15. 3. Exploit Variability
• Manufacturing wants reduce variability
• Product development needs variability in order to innovate
• We need to understand what makes variability valuable and manage
our process to create these conditions
• We need a development process that functions in the presence of
variability
Don Reinertsen’s 2GLPD
16. 4. Enable Smaller Batches
• When work products are invisible, batch sizes are invisible
• When batch sizes are invisible, product developers pay little attention
to them
• Many companies institutionalize large batch sizes
• Batch size reduction is attractive because it is fast, easy, cheap,
granular, leveraged, and reversible
• It is a great starting point for LPD
Batch Size Queues Cycle Time
X 0.5 X 0.5 X 0.5Don Reinertsen’s 2GLPD
18. Benefits of Small Batch Testing
Higher ValidityFewer Open Bugs
Faster Cycle Time
Early Feedback
Less Debug Complexity
More Efficient Debugging
More Uptime
Smaller Change
Fewer Status Reports
Less Requirement Changes
Faster Learning
Lower Cost Changes
Cheaper Debugging
Cheaper Testing
Less Non-Value-Added
Better Code
Cheaper Correction
Better
Economics
Don Reinertsen’s 2GLPD
19. Little’s Formula
• By constraining WIP in development processes we can control cycle
time
• This approach, which is known as Lean Kanban, is currently growing
rapidly in software development
https://en.wikipedia.org/wiki/Little%27s_law
MeanResponseTime = MeanNumberInSystem / MeanThroughput
20. Control Number of Active Projects
1
2
3
4
1
2
3
4
COD Savings of Project 1 and 2 Late Start Advantages for Project 3 and 4
Time to Deliver
Time to Deliver Time to Deliver
Don Reinertsen’s 2GLPD
21. Avoid Long Planning Horizons
• The further out you plan, the less likely your forecast will be accurate
• Don’t do detailed analysis on things beyond a quarter
• Market conditions change everyday, this can change requirements
• Changing requirements cause churn (waste)
Don Reinertsen’s 2GLPD
22. Visual WIP Control Boards
Ready Queue Coding Ready to Test Testing Done
WIP constraints = 10
13
14
15
16
11
10
9
8
7
6
5
4
3
2
112
?
Don Reinertsen’s 2GLPD
23. 6. Sequence Work Correctly
• The sequence in which work is processed is called the queuing
discipline
• By changing the queuing discipline we can reduce the cost of a queue
without decreasing the size of the queue
• Since manufacturing has homogeneous flows it always uses FIFO
(First-In-First-Out)
• For the non-homogeneous flows of product development other
approaches have better economics
Don Reinertsen’s 2GLPD
24. Use FIFO for Homogeneous Flow
First-In First-Out
Cost
of
Delay
1
2
3
A
B
Time
Cost
Delay Cost
Last-In First-Out
Cost
of
Delay 1
2
3
A
B
Time
Cost
Project Duration Cost of Delay
1 3 3
2 3 3
3 3 3
Don Reinertsen’s 2GLPD
25. Weighted Shortest Job First (WSJF) for
Non-homogenous flow
High Weight First
Cost
of
Delay
1
2
3
A
B
Time
Cost
Delay Cost
Low Weight First
Cost
of
Delay
A
B
Time
Cost
Project Duration Cost of
Delay
Weight =
COD/Duration
1 1 10 10
2 3 3 1
3 10 1 0.1
1
2
3
160 7
96 % Reduction in COD
Don Reinertsen’s 2GLPD
Notas do Editor
This could be turned into a large or small group discussion, rather than have it all presented as a lecture. If in a small group discussion format, once the groups have time to discuss, each group can share with the whole class 1 or 2 items they came up with. The instructor can then fill out any areas they missed or correct any misunderstandings.
Q: “Approximately how often do you deploy software applications to production?”
Audience: People influential in cloud-services development
There can be a variety of columns teams may choose to use, all depending on their states in their workflow process. If they choose to have columns representing different activities, such as development, testing, user sign-off, the team must remain disciplined so as not to associate those activities with specific roles or individuals on the teams. Although people have specific skillsets, the whole team must work together to complete a work item and move it all the way across the board. Each column has a specified WIP limit in order to streamline the flow of items through the wholeflow work state.
There can be a variety of columns teams may choose to use, all depending on their states in their workflow process. If they choose to have columns representing different activities, such as development, testing, user sign-off, the team must remain disciplined so as not to associate those activities with specific roles or individuals on the teams. Although people have specific skillsets, the whole team must work together to complete a work item and move it all the way across the board. Each column has a specified WIP limit in order to streamline the flow of items through the wholeflow work state.
There can be a variety of columns teams may choose to use, all depending on their states in their workflow process. If they choose to have columns representing different activities, such as development, testing, user sign-off, the team must remain disciplined so as not to associate those activities with specific roles or individuals on the teams. Although people have specific skillsets, the whole team must work together to complete a work item and move it all the way across the board. Each column has a specified WIP limit in order to streamline the flow of items through the wholeflow work state.
There can be a variety of columns teams may choose to use, all depending on their states in their workflow process. If they choose to have columns representing different activities, such as development, testing, user sign-off, the team must remain disciplined so as not to associate those activities with specific roles or individuals on the teams. Although people have specific skillsets, the whole team must work together to complete a work item and move it all the way across the board. Each column has a specified WIP limit in order to streamline the flow of items through the wholeflow work state.
There can be a variety of columns teams may choose to use, all depending on their states in their workflow process. If they choose to have columns representing different activities, such as development, testing, user sign-off, the team must remain disciplined so as not to associate those activities with specific roles or individuals on the teams. Although people have specific skillsets, the whole team must work together to complete a work item and move it all the way across the board. Each column has a specified WIP limit in order to streamline the flow of items through the wholeflow work state.
There can be a variety of columns teams may choose to use, all depending on their states in their workflow process. If they choose to have columns representing different activities, such as development, testing, user sign-off, the team must remain disciplined so as not to associate those activities with specific roles or individuals on the teams. Although people have specific skillsets, the whole team must work together to complete a work item and move it all the way across the board. Each column has a specified WIP limit in order to streamline the flow of items through the wholeflow work state.
Assumes M/M/1/~ Queue, p = Capacity Untilization
Instead of the deterministic view that we should load to 100% of capacity, Roe formal says the queue starts to double for every next level of utilization saught once you get around 70 of capacity.
Control queue size to optimize cycle-time.
Little’s formula
Google 20% excess capacity
3M 155 excess capacity
Fast feedback loops are critical
Example of developer feedback within one day versus 90 days.
Example of starbucks coffee line with 20 people in line, processing 5 people every 1 minute, means I’ll get my coffee in 5 minutes.
If you know the cost of delay, these is an easy decision.
Gantt and Pert charts couldn’t tells queue challenges because they are time-based
The Kanban board is work item status based and thus provide an instant visual representation of where the bottleneck might be.
What options are available to the developer looking for work?
Comparing COD to duration of effort give you object project priority