the seven wastes - files.meetup.comfiles.meetup.com/4036242/the seven wastes and agile v.03.pdf ·...
TRANSCRIPT
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]
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
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.”
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
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
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
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
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
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
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