leading continuous improvement - agile alliance · pdf filepractice continuous improvement in...
TRANSCRIPT
Leading Continuous Improvementin Established Agile Organizations
What’s the state of agile methods in your organization?
Level Set
What’s the state of agile methods in your organization?
Do you actively and explicitly practice continuous
improvement in some form?
Level Set
A Definition of Lean Thinking
A way of thinking that enables organizations to“specify value, line up value-creating actions in the best sequence, conduct these activities withoutinterruption whenever someone requests them, andperform them more and more effectively.”
Womack & Jones
specify value Customer defines “value”
line up value-creating Map the Value Streamactions in the best sequence
conduct these activities Maintain continuous flowwithout interruption
whenever someone Customer pullrequests them
perform them more Practice continuousand more effectively improvement
A Definition of Lean Thinking
Five Principles of Lean
Value (From Customer’s Perspective)
Value Stream(Steps that Add Value)
Pull(On Demand)
Perfection(No Waste)
Flow(No Stops & No Piles)
Canonical Agile Through a Lean Lens
Iteration commitments
Canonical Agile Through a Lean Lens
Iteration commitments
(Large?) batch sizes
Canonical Agile Through a Lean Lens
Iteration commitments
Delivery every n weeks
(Large?) batch sizes
Canonical Agile Through a Lean Lens
Iteration commitments
Delivery every n weeks
(Large?) batch sizes
Discontinuous flow,delayed delivery
Lean Wastes in Software Development
1.Defects2.Inventory3.Over-processing4.Waiting5.Motion6.Transportation7.Overproduction
Suboptimal (but common) Agile Practiceand the Seven Deadly Wastes of Lean
Proxy customeror PO
1.Defects2.Inventory3.Over-processing4.Waiting5.Motion6.Transportation7.Overproduction
Also: Leads to “push” systemLeads to large batches
Suboptimal (but common) Agile Practiceand the Seven Deadly Wastes of Lean
Lack of technicaldiscipline
1.Defects2.Inventory3.Over-processing4.Waiting5.Motion6.Transportation7.Overproduction
Also: Causes re-workCauses technical debt
Suboptimal (but common) Agile Practiceand the Seven Deadly Wastes of Lean
Non-collocatedteam
1.Defects2.Inventory3.Over-processing4.Waiting5.Motion6.Transportation7.Overproduction
Also: Causes reliance onindirect communication
Suboptimal (but common) Agile Practiceand the Seven Deadly Wastes of Lean
Non-collocatedteam
1.Defects2.Inventory3.Over-processing4.Waiting5.Motion6.Transportation7.Overproduction
Also: Causes reliance onindirect communication
Suboptimal (but common) Agile Practiceand the Seven Deadly Wastes of Lean
Non-collocatedteam
1.Defects2.Inventory3.Over-processing4.Waiting5.Motion6.Transportation7.Overproduction
Also: Causes reliance onindirect communication
Suboptimal (but common) Agile Practiceand the Seven Deadly Wastes of Lean
Agile for codersonly, sequentialprocess for BAs, testers
1.Defects2.Inventory3.Over-processing4.Waiting5.Motion6.Transportation7.Overproduction
Also: Causes re-work, lengthenslead & cycle times
Suboptimal (but common) Agile Practiceand the Seven Deadly Wastes of Lean
Start all storiesat the beginningof each iteration
1.Defects2.Inventory3.Over-processing4.Waiting5.Motion6.Transportation7.Overproduction
Also: Lengthens lead & cycle timesDestroys continuous flow
Multitasking from an Individual Perspective
Multitasking Not multitasking
Day 18:00 – 8:30 Task 1 8:00 – 12:00 Task 18:30 – 8:45 Context switch 12:00 – 13:00 Lunch8:45 – 9:15 Task 2 13:00 – 17:00 Task 1 (Done)9:15 – 9:30 Context switch9:30 – 10:00 Task 310:00 – 10:15 Context switch10:15 – 10:45 Task 110:45 – 11:00 Context switch11:00 – 11:30 Task 211:30 – 11:45 Context switch11:45 – 12:15 Task 3
Best case: No blocks
Multitasking Not multitasking
Day 112:15 – 12:45 Lunch (short)12:45 – 13:00 Context switch13:00 – 13:30 Task 113:30 – 13:45 Context switch13:45 – 14:15 Task 214:15 – 14:30 Context switch14:30 – 15:00 Task 315:00 – 15:15 Context switch15:15 – 15:45 Task 115:45 – 16:00 Context switch
Best case: No blocksMultitasking from an Individual Perspective
Multitasking Not multitasking
Day 116:00 – 16:15 Context switch16:15 – 16:45 Task 216:45 – 17:00 Context switch17:00 – 17:30 Task 3 (overtime)
Day 28:00 – 8:30 Task 1 8:00 – 12:00 Task 2 8:30 – 8:45 Context switch 12:00 – 13:00 Lunch8:45 – 9:00 Task 2 13:00 – 17:00 Task 2 (Done)9:00 – 9:15 Context switch
et cetera
Best case: No blocksMultitasking from an Individual Perspective
Best case: No blocks
With multitasking it takes 8 days to complete three 8-hour tasks with short lunch breaks and a bit of overtime.
Without multitasking it takes 3 days to complete three 8-hour tasks with good focuson the work and low stress.
Multitasking from an Individual Perspective
Multitasking from a Team Perspective
Backlog Acc. Test Code (TDD) Acceptance DoneDay 0
Multitasking from a Team Perspective
Backlog Acc. Test Code (TDD) Acceptance DoneDay 1
Multitasking from a Team Perspective
Backlog Acc. Test Code (TDD) Acceptance DoneDay 4
Multitasking from a Team Perspective
Backlog Acc. Test Code (TDD) Acceptance DoneDay 6
Multitasking from a Team Perspective
Backlog Acc. Test Code (TDD) Acceptance DoneDay 8
Multitasking from a Team Perspective
Backlog Acc. Test Code (TDD) Acceptance DoneEnd of Iteration
From queuing theory:L = λWqueue length = average arrival rate x average wait time
Little’s Law
As applied to SW development:Throughput = WIP / Cycle Time
Little’s Law
Throughput for the Multitasking Team
WIP = 8 storiesCycle Time = 8 daysThroughput = 1.0
Limiting WIP to Improve Throughput
Backlog Acc. Test Q Code (TDD) Q Accept. DoneDay 0 2 2
Limiting WIP to Improve Throughput
Backlog Acc. Test Q Code (TDD) Q Accept. DoneDay 1 2 2
Limiting WIP to Improve Throughput
Backlog Acc. Test Q Code (TDD) Q Accept. DoneDay 4 2 2
Limiting WIP to Improve Throughput
Backlog Acc. Test Q Code (TDD) Q Accept. DoneDay 6 2 2
Limiting WIP to Improve Throughput
Backlog Acc. Test Q Code (TDD) Q Accept. DoneDay 8 2 2
Limiting WIP to Improve Throughput
Backlog Acc. Test Q Code (TDD) Q Accept. DoneEnd of Iter. 2 2
Throughput for the WIP-Limiting Team
WIP = 8 storiesCycle Time = 0.6 daysThroughput = 4.8
Multitasking at the Portfolio Level
• Total cost is 4.8 times higher (for this example)• Lead time (concept to cash) is 4.8 times longer• Opportunity costs and risks are higher• Staff stress is higher, staff turnover is higher• Recruitment / training overhead is higher• Defect rate is likely to be higher• “Business agility” is likely to be lower• Responsiveness to customers is lower
Suboptimal (but common) Agile Practiceand the Seven Deadly Wastes of Lean
Pull teammembers outto deal withtactical issues
1.Defects2.Inventory3.Over-processing4.Waiting5.Motion6.Transportation7.Overproduction
Also: Lengthens lead & cycle timesDestroys continuous flow
Effect of Removing Team Members
Thanks to Tom Looy
Suboptimal (but common) Agile Practiceand the Seven Deadly Wastes of Lean
Keep individual“resources” busy
1.Defects2.Inventory3.Over-processing4.Waiting5.Motion6.Transportation7.Overproduction
Also: Lengthens lead & cycle times,Destroys continuous flow
Keep Individual “Resources” Busy
Analysis Programming Testing
Analysis Programming Testing
Analysis Programming Testing
Iteration 1
Iteration 2
Iteration 3
Invader Zim’s Process Improvement Method
Team builds to user stories,
ignores -ilities
Expand user story format to include
all details
Poor quality!
Better quality!
Present new & improved Agile at next conference
Worse…or better?
無駄 muda
斑 mura
無理 muri
Activity that does not add value
Unevenness in flow
Overburdening
The Three M’s
Priorities in a Lean Software Development Process
Backlog Acc. Test Q Code (TDD) Q Accept. Done
Inventory is “waste” by definition, but…
Priorities in a Lean Software Development Process
Backlog Acc. Test Q Code (TDD) Q Accept. Done
…eliminating the queues would causemuda (delays) when work is not ready…
X X?
Priorities in a Lean Software Development Process
Backlog Acc. Test Q Code (TDD) Q Accept. Done
…and muri (overburden) when too much work is in play.
X X
Uneven Flow is the First Domino
muraunevenness of flow
Priorities in a Lean Software Development Process
1. Value
2. Flow
3. Removing waste
To Maintain Continuous Flow…
Control WIP
Let’s Talk About Real Cases