Leading Continuous Improvement in Established Agile Organizations
Level Set 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?
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 without interruption whenever someone requests them, and perform them more and more effectively. Womack & Jones
A Definition of Lean Thinking specify value line up value-creating actions in the best sequence conduct these activities without interruption whenever someone requests them perform them more and more effectively Customer defines value Map the Value Stream Maintain continuous flow Customer pull Practice continuous improvement
Five Principles of Lean Perfection (No Waste) Pull (On Demand) Flow (No Stops & No Piles) Value Stream (Steps that Add Value) Value (From Customer s Perspective)
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 (Large?) batch sizes Delivery every n weeks
Canonical Agile Through a Lean Lens Iteration commitments (Large?) batch sizes Delivery every n weeks Discontinuous flow, delayed delivery
Lean Wastes in Software Development 1.Defects 2.Inventory 3.Over-processing 4.Waiting 5.Motion 6.Transportation 7.Overproduction
Suboptimal (but common) Agile Practice and the Seven Deadly Wastes of Lean Proxy customer or PO 1.Defects 2.Inventory 3.Over-processing 4.Waiting 5.Motion 6.Transportation 7.Overproduction Also: Leads to push system Leads to large batches
Suboptimal (but common) Agile Practice and the Seven Deadly Wastes of Lean Lack of technical discipline 1.Defects 2.Inventory 3.Over-processing 4.Waiting 5.Motion 6.Transportation 7.Overproduction Also: Causes re-work Causes technical debt
Suboptimal (but common) Agile Practice and the Seven Deadly Wastes of Lean Non-collocated team 1.Defects 2.Inventory 3.Over-processing 4.Waiting 5.Motion 6.Transportation 7.Overproduction Also: Causes reliance on indirect communication
Suboptimal (but common) Agile Practice and the Seven Deadly Wastes of Lean Non-collocated team 1.Defects 2.Inventory 3.Over-processing 4.Waiting 5.Motion 6.Transportation 7.Overproduction Also: Causes reliance on indirect communication
Suboptimal (but common) Agile Practice and the Seven Deadly Wastes of Lean Non-collocated team 1.Defects 2.Inventory 3.Over-processing 4.Waiting 5.Motion 6.Transportation 7.Overproduction Also: Causes reliance on indirect communication
Suboptimal (but common) Agile Practice and the Seven Deadly Wastes of Lean Agile for coders only, sequential process for BAs, testers 1.Defects 2.Inventory 3.Over-processing 4.Waiting 5.Motion 6.Transportation 7.Overproduction Also: Causes re-work, lengthens lead & cycle times
Suboptimal (but common) Agile Practice and the Seven Deadly Wastes of Lean Start all stories at the beginning of each iteration 1.Defects 2.Inventory 3.Over-processing 4.Waiting 5.Motion 6.Transportation 7.Overproduction Also: Lengthens lead & cycle times Destroys continuous flow
Multitasking from an Individual Perspective Multitasking Best case: No blocks Not multitasking Day 1 8:00 8:30 Task 1 8:00 12:00 Task 1 8:30 8:45 Context switch 12:00 13:00 Lunch 8:45 9:15 Task 2 13:00 17:00 Task 1 (Done) 9:15 9:30 Context switch 9:30 10:00 Task 3 10:00 10:15 Context switch 10:15 10:45 Task 1 10:45 11:00 Context switch 11:00 11:30 Task 2 11:30 11:45 Context switch 11:45 12:15 Task 3
Multitasking from an Individual Perspective Multitasking Day 1 12:15 12:45 Lunch (short) 12:45 13:00 Context switch 13:00 13:30 Task 1 13:30 13:45 Context switch 13:45 14:15 Task 2 14:15 14:30 Context switch 14:30 15:00 Task 3 15:00 15:15 Context switch 15:15 15:45 Task 1 15:45 16:00 Context switch Best case: No blocks Not multitasking
Multitasking from an Individual Perspective Multitasking Day 1 16:00 16:15 Context switch 16:15 16:45 Task 2 16:45 17:00 Context switch 17:00 17:30 Task 3 (overtime) Best case: No blocks Not multitasking Day 2 8:00 8:30 Task 1 8:00 12:00 Task 2 8:30 8:45 Context switch 12:00 13:00 Lunch 8:45 9:00 Task 2 13:00 17:00 Task 2 (Done) 9:00 9:15 Context switch et cetera
Multitasking 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 focus on the work and low stress.
Multitasking from a Team Perspective Day 0 Backlog Acc. Test Code (TDD) Acceptance Done
Multitasking from a Team Perspective Day 1 Backlog Acc. Test Code (TDD) Acceptance Done
Multitasking from a Team Perspective Day 4 Backlog Acc. Test Code (TDD) Acceptance Done
Multitasking from a Team Perspective Day 6 Backlog Acc. Test Code (TDD) Acceptance Done
Multitasking from a Team Perspective Day 8 Backlog Acc. Test Code (TDD) Acceptance Done
Multitasking from a Team Perspective End of Iteration Backlog Acc. Test Code (TDD) Acceptance Done
Little s Law From queuing theory: L = λw queue length = average arrival rate x average wait time
Little s Law As applied to SW development: Throughput = WIP / Cycle Time
Throughput for the Multitasking Team WIP = Cycle Time = 8 stories 8 days Throughput = 1.0
Limiting WIP to Improve Throughput Day 0 2 2 Backlog Acc. Test Q Code (TDD) Q Accept. Done
Limiting WIP to Improve Throughput Day 1 2 2 Backlog Acc. Test Q Code (TDD) Q Accept. Done
Limiting WIP to Improve Throughput Day 4 2 2 Backlog Acc. Test Q Code (TDD) Q Accept. Done
Limiting WIP to Improve Throughput Day 6 2 2 Backlog Acc. Test Q Code (TDD) Q Accept. Done
Limiting WIP to Improve Throughput Day 8 2 2 Backlog Acc. Test Q Code (TDD) Q Accept. Done
Limiting WIP to Improve Throughput End of Iter. 2 2 Backlog Acc. Test Q Code (TDD) Q Accept. Done
Throughput for the WIP-Limiting Team WIP = Cycle Time = 8 stories 0.6 days Throughput = 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 Practice and the Seven Deadly Wastes of Lean Pull team members out to deal with tactical issues 1.Defects 2.Inventory 3.Over-processing 4.Waiting 5.Motion 6.Transportation 7.Overproduction Also: Lengthens lead & cycle times Destroys continuous flow
Effect of Removing Team Members Thanks to Tom Looy
Suboptimal (but common) Agile Practice and the Seven Deadly Wastes of Lean Keep individual resources busy 1.Defects 2.Inventory 3.Over-processing 4.Waiting 5.Motion 6.Transportation 7.Overproduction Also: Lengthens lead & cycle times, Destroys continuous flow
Keep Individual Resources Busy Iteration 1 Analysis Programming Testing Iteration 2 Analysis Programming Testing Iteration 3 Analysis Programming Testing
Invader Zim s Process Improvement Method Team builds to user stories, ignores -ilities Poor quality! Better quality! Expand user story format to include all details Present new & improved Agile at next conference Worse or better?
The Three M s 無 駄 muda Activity that does not add value 斑 mura Unevenness in flow 無 理 muri Overburdening
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 X Backlog Acc. Test Q Code (TDD) Q Accept. Done? X eliminating the queues would cause muda (delays) when work is not ready
Priorities in a Lean Software Development Process X X Backlog Acc. Test Q Code (TDD) Q Accept. Done and muri (overburden) when too much work is in play.
mura unevenness of flow Uneven Flow is the First Domino
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