James Manning Outline Lean History of Lean Lean Manufacturing Lean Software Development Where to start What is Lean Process of eliminating waste from within a project process or company History ID: 637842
Download Presentation The PPT/PDF document "Lean Software Development" is the property of its rightful owner. Permission is granted to download and print the materials on this web site for personal, non-commercial use only, and to display it on your personal computer provided you do not modify the materials and that you retain all copyright notices contained in the materials. By downloading content from our website, you accept the terms of this agreement.
Slide1
Lean Software Development
James ManningSlide2
Outline
Lean
History of Lean
Lean Manufacturing
Lean Software Development
Where to startSlide3
What is Lean?
Process of eliminating waste from within a project, process, or company.Slide4
History
Toyota Production System – 1948 - 1975
Developed by
Taiichi
Ohno
, Shigeo Shingo and
Eiji
Toyoda
Toyoda – produce automobiles for the general public of Japan.
Very similar to Henry Ford – 30 years later
Utilized Ford and W Edwards Deming
JIT productionSlide5
History
Toyota became one of the top 10 companies in the world
2007 - became the largest car manufacturer
TPS Focused on eliminating three kinds of waste
Muri
Mura
MudaSlide6
Muri
Overburdened/Unreasonable/Absurdity
Employees
Safety, Ergonomic - standard of work
Searching for tools – having required tools
Waiting for help – empowering the team
Equipment
Overuse
Ford –
Muri
and not production lineSlide7
Mura
Unevenness – lacking flow
Utilize resources, materials, and machinery as efficiently as possible
JIT
Pull system
Piggly
Wiggly (1916)
JIT inventorySlide8
Muda
Wastefulness
Broad term
Anything that Does not directly add value to the end user
U
nneeded processes or steps
Unneeded equipment
Unneeded employees
Ect
.Slide9
Lean Manufacturing
Seven Types of Waste
Defects
Over-production
Transportation
Waiting
Inventory
Motion
ProcessingSlide10
Implementing Lean TechniquesSlide11
Can this be applied to Software?
Lean Software Development
Mary Poppendieck & Tom Poppendieck
Term introduced in The Poppendiecks’ book
Titled Lean Software DevelopmentSlide12
The Poppendieck’s
MS, Mathematics
University of Maryland
BS, Mathematics
Marquette University
PhD, Physics
UW – Madison
BS, Physics
UW - Madison
Mary Poppendieck
Tom PoppendieckSlide13
Principles of Lean Software Development
Eliminate Waste
Amplify Learning
Delay Commitment
Deliver Fast
Empower the Team
Build Integrity In
See the WholeSlide14
Eliminate Waste
Partially Done Work
Extra Processes
Extra
Features
Task Switching
Waiting
Motion
Defects
Inventory
Processing
Overproduction
Transportation
Waiting
Motion
Defects
Lean Software Development
Lean ManufacturingSlide15
Partially Done Work
Tendency to become obsolete
Gets in the way
No idea if it will even work with the system
Bottle Neck
Ties up resources
No value to customer
Disrupts FlowSlide16
Extra Processes
Do all forms of required paperwork add value?
If required
Keep it short
Keep it high level
Do it off line
Good Test – Someone is eager to use for coding, testing, or writing manuals
Strive for most efficient, effective way of transmitting informationSlide17
Extra Features
Feature creep
Extra features “just in case” the customer will use them
Each extra feature need to be:
Tracked
Compiled
Integrated
Tested
Maintained
Every extra feature:
Increases complexity of code
Is a possible failure point
Could be obsolete before it is usedSlide18
Extra FeaturesSlide19
Extra Features
Frode L.
Ødegår – List for quantifying value
What percentage of functionality in your products goes mostly unused?
What percentage of functionality serves mostly to sell the product?
How much of your development
budget
was expended on developing these features?
Quantify performance characteristics of your product and relate these numbers to impact on the customer's performance.
Rank candidate product features and design ideas by their quantifiable impact on customer value.Slide20
Task Switching
Assigning multiple people to multiple projects
A significant amount of time is wasted in the transition of tasks
More teams and projects = more interrupts
More task switching
Fastest to finish multiple projects
Do them one at a timeSlide21
Waiting
Common delays:
Email responses
Climbing leadership chains
Starting a project
Excessive requirements documentation
Problems:
Customer cannot visualize value early
Commitment – not wasteSlide22
Motion
How readily available are others to answer developer questions
Motion to walk to answer get a question answered
Lean development offices can help eliminate this waste.Slide23
Defects
A defective product has little to no value to an end user
AmtWaste
= (
D
efectImpact
)(
TimeUndetected
)
(Large Defect)(3Hours) < (Small Defect)(3Wks)
Ways of eliminating waste:
Find defects quick
Test immediately
Integrate often
Release to production soonSlide24
Eliminate WasteSlide25
Principles of Lean Software Development
Eliminate Waste
Amplify Learning
Delay Commitment
Deliver Fast
Empower the Team
Build Integrity In
See the WholeSlide26
Amplify Learning
4
Tools to Amplify Learning
Feedback
Iterations
Synchronization
Set Based DevelopmentSlide27
Feedback
Most effective way of dealing with troubled software projects
Types of feedback:
Run tests
asap
Check out ideas by writing code (spike solution)
Prototype
instead of more requirements
Create web front to legacy system to try it outSlide28
Iterations
Full Iteration:
Designed
Programmed
Tested
Integrated
Delivered
Facts > Forecasts
More feedback from customerSlide29
Synchronization
Communication with other subsystems or devices
Develop interfaces firstSlide30
Set Based Development
Point-Based scheduling
Set Based SchedulingSlide31
Set-Based Development
Apply set based development to software
Develop multiple options
Communicate Constraints
Let solutions emergeSlide32
Principles of Lean Software Development
Eliminate Waste
Amplify Learning
Delay Commitment
Deliver Fast
Empower the Team
Build Integrity In
See the WholeSlide33
Delay Commitment
Delay = waste?
Procrastinating = waste?
Idea:
Wait until the last moment to make a critical decision
Make decision on fact rather than forecast
Large commitment not left to chance
Not always going to be easy – Customer generally wants commitmentSlide34
Delay Commitment
Methods of delaying commitment
Share partially complete design information.
Organize for direct, worker-to-worker collaboration.
Develop a sense of when decisions must be made.
Develop a sense of how to absorb changes
Avoid Repetition
Separate Concerns
Encapsulate Variation
Defer Implementation of Future Capabilities
Commit to Refactoring
Use Automates Test SuitesSlide35
Principles of Lean Software Development
Eliminate Waste
Amplify Learning
Delay Commitment
Deliver Fast
Empower the Team
Build Integrity In
See the WholeSlide36
Deliver Fast
Just In Time
Feedback
Prototyping
Create value as soon as possibleSlide37
Empower the Team
Eliminates waste from:
Waiting
Climbing management chains
Firefighter
Prepared
No time to ask remote commanders
Anti-pattern
Empowering employees who are not trained
Employee being blamed for when things go wrongSlide38
Build Integrity In
Pleases the user without user asking
Google
All parts of the system work together – smooth well functioning
Cash vs. Credit card
Perceived Integrity
Conceptual IntegritySlide39
Build Integrity in
Boeing 777 “Working Together” Program
Fuel tank out of reach of fuel trucks caught early
Methods:
Test early
Test often
Test exhaustively
Automated
tests
deliveredSlide40
See the Whole
Look at the whole process
Mary Poppendieck
“Lean
thinking suggests that optimizing individual parts almost always leads to sub-optimized overall
system”
80% of defects – how the system is developedSlide41
Where to Start
Start as soon as possible
Can be applied to a project or process in progressSlide42
Road Map
Marry Poppendieck
Begin
Where you are
Find your biggest constraint
Envision your biggest threat
Evaluate your culture
Train
Solve the Biggest Problem
Remove Accommodations
Measure
Implement
RepeatSlide43
Conclusion
Lean Software Development
Elimination of waste
Improve:
Productivity
Efficiency
Bottom lineSlide44
References
Abilla
, P., & Poppendieck, M. (2007, June 9). Lean for Software.
shmula
. Retrieved March 28, 2011, from http://www.shmula.com/lean-for-software/401/
Ladas, C. (2009, June 15). Introduction to Lean Software Development.
Shaping Software
. Retrieved March 28, 2011, from http://shapingsoftware.com/2009/06/15/introduction-to-lean-software-development/
Fiore, C. (2005).
Accelerated product development: combining lean and Six sigma for peak performance
. New York, NY: Productivity Press.
Layton, R. (2010, August 12). 80-20 Rule: 80 percent of Product Features Are Never Used.
Klean
. Retrieved March 28, 2011, from http://www.klean.dk/weblog/80-20-rule-80-percent-of-product-features-are-never-used
Poppendieck, M. (2003, April, 25). Lean Software Development.
LeanEssays
. Retrieved March 28, 2011, from http://www.leanessays.com/2003/04/lean-software-development.htmlSlide45
References
Poppendieck, M. (2001, May 1). Lean Programming.
LeanEssays
. Retrieved March 28, 2011, from http://www.leanessays.com/2010/11/lean-programming.html
Poppendieck, M. (2004, June 24). An Introduction to Lean Software Development.
LeanEssays
. Retrieved March 28, 2011, from http://www.leanessays.com/2004/06/introduction-to-lean-software.html
Principles of Lean.
lean.org - Lean Enterprise Institute| Lean Production | Lean Manufacturing | LEI | Lean Services |
. Retrieved March 28, 2011, from http://www.lean.org/WhatsLean/Principles.cfm
Shalloway, A. (2007, August 8). Lean Anti-Patterns and What to Do About Them.
Agile Journal
. Retrieved March 28, 2011, from http://www.agilejournal.com/component/content/553?task=view
Ødegår, F. (2007, December 30). Lean Execution: Six Questions for Software Executives.
Lean Software Institute
. Retrieved March 28, 2011, from
www.leansoftwareinstitute.com/wp-content/uploads/2007/08/Lean-Execution-Six-Questions-for-Software-Executives.pdf
Poppendieck, Mary , and Tom Poppendieck.
Lean software development: an agile toolkit
. Reading, Massachusetts: Addison-Wesley, 2003. Print.Slide46
Thanks for you time
Questions?