Leading Continuous Improvement - Agile Alliance · PDF filepractice continuous improvement in...

Preview:

Citation preview

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

Recommended