39
THE SEVEN WASTES and Agility What stops you from getting home on time and what you can do about it.

The Seven Wastes - files.meetup.comfiles.meetup.com/4036242/The Seven Wastes and Agile v.03.pdf · Muda: The Seven Wastes Manufacturing Waste (Shigeo Shingo) Software Development

  • Upload
    others

  • View
    16

  • Download
    0

Embed Size (px)

Citation preview

THE SEVEN WASTES

and Agility

What stops you from getting home on time

and what you can do about it.

Andrew Webster

• Agilist since 2004 (CSM 2009)

• Developer since 1997 (MCSD 2000)

• UK born, lived in Australia 2000-2009, Alabama until

2013, now San Jose CA

• Married since 2009

• Worked on roughly 60 projects to date

• ~40 agile,

• ~20 not so much!

• Currently with SolutionsIQ as an Agile Coach in San Jose

• Blog at http://succeedable.wordpress.com/

• Reach me at [email protected]

The Problem

Agile Manifesto

We are uncovering better ways of developing software by doing it and

helping others do it.

Through this work we have come to value:

That is, while there is value in the items on the right, we value the items

on the left more.

Individuals and interactions over processes and tools

Working software over comprehensive documentation

Customer collaboration over contract negotiation

Responding to change over following a plan

What else can we think of like this?

Delivering value over cost and schedule

Customer needs over balancing numbers

Pushing forward over pulling back

Pull back costs→ 0

$-

$5,000

$10,000

$15,000

$20,000

$25,000

$30,000

$35,000

$40,000

$45,000

Jan Feb Mar Apr May Jun Jul Aug Sep Oct Nov Dec

Costs

Push forward Value → ?

0

200

400

600

800

1000

1200

Jan Feb Mar Apr May Jun Jul Aug Sep Oct Nov Dec

Value

Unleash!

Background: Ohno, Lean, & TPS

Background: Ohno, Lean, & TPS

Taiichi Ohno – father of the Toyota Production System

(TPS)

• Manufacturing cars is expensive

• So cars are expensive

• 1940’s Japan was broke

• Reduce price of cars by reducing manufacturing cost?

• Mass produce? No – small poor market!

• Ohno:

• “All we are doing is looking at the timeline from the moment a

customer gives us an order to the point when we collect the cash.

And we are reducing that timeline by removing the non-value-

added wastes.”

What is “Waste”?

Waste is best understood as:

“the opposite of Value”

Muda, Muri, Mura

• Muda (“Waste of activity”)

• Type I – non-value-added tasks that are essential

• Type II – non-value added tasks that aren’t essential

• Muri (“Overburden”)

• Mura (“Unevenness”)

Muda: The Seven Wastes

Manufacturing Waste (Shigeo Shingo) Software Development Waste ( Poppendieck )

1. Inventory 1. Partially Done Work

2. Overproduction 2. Extra Features

3. Extra Processing 3. Relearning

4. Transportation 4. Handoffs

5. Waiting 5. Delays

6. Motion 6. Task Switching

7. Defects 7. Defects

The Seven Wastes

Partially Done Work

Extra Features

Relearning

Handoffs

Delays

Task Switching

Defects

Take a look

Where’s the Value in

housing?

Which row of houses

has more people living

in it?

Where’s the Waste?

Waste 1: Partially Done Work

• “Partially Done Work” means “Work In Progress”

• Work cannot realize its Value until it’s Done & Deployed

• High amounts of Partially Done Work are the problem

• Examples:

• Uncoded documentation – may be obsolete before code is

finished

• Unsynchronized code – increases integration risks

• Untested code – breeding ground for bugs, unable to repeatably

prove code works

• Undocumented code – (ideal is self-documenting) must be

developed in parallel or causes delays and possible error

• Undeployed code – can’t get feedback, can’t deliver value, may

overwhelm users if “big bang”

The Seven Wastes

Partially Done Work

Extra Features

Relearning

Handoffs

Delays

Task Switching

Defects

Best Parts = Best Whole?

Waste 2: Extra Features

• Stakeholders Pet

• Long feedback cycle may encourage redundant features

• Gold-plating • RDD (Résumé Driven Development… latest tech)

• DDD (Developer Driven Development… “just knows it’ll be useful”)

• SGE (Sounded Good to Everyone… but never used)

• Exponential - may have all the other wastes! • must be tracked • must be compiled

• must be integrated • must be tested (every time the code is touched!)

• must be maintained (for the life of the system!)

• increases complexity

• adds a potential failure point

• likely will become obsolete before it's used

• ……………………….aaaaaaaarrrrrrgggggggggh…….!

The Seven Wastes

Partially Done Work

Extra Features

Relearning

Handoffs

Delays

Task Switching

Defects

It’s in the documentation…

Waste 3: Relearning

• Learning is good, right?

• Relearning means either:-

• The learning didn’t take… WASTE!

• Someone else has to learn – Handoff!

• Delays fuel relearning

• Lengthen feedback loops

• Examples:-

• Not writing down a good idea

• Not using existing knowledge – go it alone, or unaware

• Poorly written/undocumented/over-documented code

• Task switching

The Seven Wastes

Partially Done Work

Extra Features

Relearning

Handoffs

Delays

Task Switching

Defects

Handoffs…

Waste 4: Handoffs

• Narrow band communication

• Documents and diagrams must lack tacit knowledge

• Phone “meetings” miss body language

• Poppendiecks suggest that 50% is lost in handoff

• 25% of knowledge left after 2 handoffs

• 12% of knowledge left after 3 handoffs

• 6% of knowledge left after 4 handoffs

• 3% of knowledge left after 5 handoffs

• Waterfall…?

• Cross-team “integration”…?

• Dev QA…?

The Seven Wastes

Partially Done Work

Extra Features

Relearning

Handoffs

Delays

Task Switching

Defects

Incremental and Iterative – uh-huh?

Incrementing calls for a fully formed idea built a bit at a time.

Which risks “Delay”? And how?

Credit: Jeff Patton

Iterating allows you to move from vague idea to realization.

Iterating builds a rough version, validates, then builds quality on each pass.

Tip: It is not an iteration if you only do it once. Iterate work - Increment value.

Waste 5: Delays

• Two kinds

• Delay the START of a value-add activity

• Make a value-added activity TAKE LONGER than it should

• Typical examples

• Long, exhaustive requirements phase

• Building ALL the features (see previous slide!)

• Review/approval processes requiring scarce individuals

• Increased WIP (more cars on a freeway, slower the traffic goes)

• Gaps between Dev and QA

• Gaps between QA and deployment

• Waiting for cross team dependencies

The Seven Wastes

Partially Done Work

Extra Features

Relearning

Handoffs

Delays

Task Switching

Defects

Oh, we are multi-taskers…

When is value delivered? When is value delivered?

Waste 6: Task Switching

• The Deadliest Waste

• Interruptions

• Kill deep thinking

• Break Flow

• Require at least fifteen minutes to recover

• 4 interruptions = 1 hour wasted

• 32 interruptions = 1 day wasted

• Delays Value

• Worst when added in to existing WIP

• Fix = “Start finishing, stop starting” = limit WIP

The Seven Wastes

Partially Done Work

Extra Features

Relearning

Handoffs

Delays

Task Switching

Defects

Oops!

Waste 7: Defects

WASTE = (IMPACT OF DEFECT)

x

(TIME DEFECT LIES UNDETECTED)

No waste… what’s possible?

1. Swarm to get a list of Agile Practices

2. Affinity Group

3. Make a grid with the Wastes

Partially Done Work Extra Features Relearning Handoffs Delays Task Switching Defects (Overburden) (Uneveness)

Now…

Exercise

rhubarb rhubarb rhubarb rhubarb rhubarb rhubarb rhubarb rhubarb

The Seven Wastes

Partially Done Work

Extra Features

Relearning

Handoffs

Delays

Task Switching

Defects

Agile Practices

References

• Inspired by an article published originally at DZone, author, Matt Stine

• Further reading

• Ohno, Taiichi. Toyota Production System: Beyond Large Scale Production. Productivity Press, 1988

• Shingo, Shigeo. A Study of the Toyota Production System. Productivity Press, 1981.

• Poppendieck, Mary and Tom. Implementing Lean Software Development: From Concept to Cash. Addison-

Wesley, 2006.

• http://agilesoftwaredevelopment.com/blog/jackmilunsky/7-wastes-part-1-partially-done-work

• You Ain't Gonna Need It: http://en.wikipedia.org/wiki/You_ain%27t_gonna_need_it

• Software Maintenance Costs: http://users.jyu.fi/~koskinen/smcosts.htm

• http://en.wikipedia.org/wiki/Tacit_knowledge

• Shore, Jim. "Task Switching."

http://jamesshore.com/Articles/Business/Software%20Profitability%20Newsletter/Task%20Switching.html

• http://agile.dzone.com/articles/you-are-your-softwares-immune

• http://www.amazon.com/Continuous-Delivery-Deployment-Automation-Addison-Wesley/dp/0321601912

This work is licensed under the Creative Commons Attribution-ShareAlike 4.0 International License. To view a

copy of this license, visit http://creativecommons.org/licenses/by-sa/4.0/deed.en_US. Andrew Webster 2014