Post on 10-Apr-2018
transcript
l e a nsoftware development
www.poppendieck.comMary Poppendieck
Lean Software DevelopmentSpeed – Quality – Low Cost
February 052 Copyright©2004 Poppendieck.LLC l e a n
Principles of Lean Software Development
1. Eliminate Waste
2. Increase Feedback
3. Delay Commitment
4. Deliver Fast
5. Build Integrity In
6. Empower the Team
7. Optimize the Whole
Speed
Quality Low Cost
February 053 Copyright©2004 Poppendieck.LLC l e a n
Principle 1: Eliminate Waste
Waste is anything that does not add customer valueWaste is anything that does not add customer valueCustomers wouldn’t choose to pay for it.
Waste is anything that has been startedbut is not being used in production.
Waste is anything that delays developmentor keeps people waiting.
Waste is any extra features that are not needed now.
Waste is making the wrong thingor making the thing wrong.
February 054 Copyright©2004 Poppendieck.LLC l e a n
Myth 1: Early Specification Reduces Waste
Features and Functions Used in a Typical System
Standish Group Study Reported at XP2002 by Jim Johnson, Chairman
Always7%
Often13%
Sometimes16% Rarely
19%
Never45%
Rarely or NeverUsed: 64%
Often or AlwaysOften or AlwaysUsed: 20%Used: 20%
February 055 Copyright©2004 Poppendieck.LLC l e a n
Principle 2: Increase Feedback
One Year Later….
Poor productivityPoor market acceptancePoor expert quality rating
Great market success
Alan MacCormackHarvard Business School
A Tale of Two Projects
Not ConsistentModify Hypothesis
ConsistentPublish Results
New Knowledge
Obser-vations
Predic-tionsTests
Hypothesis
February 056 Copyright©2004 Poppendieck.LLC l e a n
Myth 2: Predictions Create Predictability
Increase predictability by not predicting. A plan is a guess, a track record is fact.
Reduce response time so you can respond to events rather than predict them.
Make decisions based on facts, not forecasts.
Reliability is not the same thing as predictability.Reliability is not the same thing as predictability.High reliability organizations are preoccupied with the unexpected.
See Managing the Unexpected: Assuring High Performance in an Age of Complexity by Karl E. Weick and Kathleen M. Sutcliffe
February 057 Copyright©2004 Poppendieck.LLC l e a n
Principle 3: Delay Commitment
Pilots“In Pilot training, we learned that when we had to make a decision, we should first decide when the decision should be made, then when the time comes, make the decision based on the available information.”
Military“One of the most important thing I taughtyoung recruits is that when they were threatened,
they should decide on the timebox for a response, and not respond until the end of the timebox.”
February 058 Copyright©2004 Poppendieck.LLC l e a n
Myth 3: Decisiveness is a Virtue
The Structure of Scientific Revolutions
Thomas Kuhn
Decisive people can’t shift their viewpoint.
“Invention is destroyed by decisiveness. The moment I close off possibility, I lose the option of seeing a better way.”
John Lienhard
February 059 Copyright©2004 Poppendieck.LLC l e a n
Principle 4: Deliver Fast
Rapid Delivery is the Competitive Advantage of:
Competing on the basis of time providesSignificant competitive advantageLarge barrier to entry
Order Processing
Supply Chain Product Development
ShippingManufacturing
Aircraft Turnaround
February 0510 Copyright©2004 Poppendieck.LLC l e a n
Myth 4: Increase Utilization
To go faster you canIncrease the average completion rate
Requires financial capital
Reduce the number of things in the pipelineRequires intellectual capital
Total Cycle Time =Number of Things in Process
Average Completion Rate
Conquering Complexity in Your BusinessBy Michael George and Stephen Wilson
February 0511 Copyright©2004 Poppendieck.LLC l e a n
Principle 5:Build Integrity In
1. Organized WorkspaceCleanOrganizeSystemizeMaintainSustain
2. Standardized Infrastructure• Architecture• Conventions
– Naming– Coding– GUI– Security– Etc.
3. Configuration Management4. Automated Tests5. One Click Build6. Continuous Integration
STOPSTOP if the tests don’t pass!
7. Automated ReleaseMistake Proof Installation
8. Refactoring Pay down technical debt
Building Block Building Block DisciplinesDisciplines
February 0512 Copyright©2004 Poppendieck.LLC l e a n
Myth 5: Get it Right the First Time
Iteration generates waste (rework)Iteration generates learning
Variability of outcomes is not desirable.
Variability of outcomes is desirable
Quality is conformance to requirements(which were determined during design)
Quality is fitness for use(realization of purpose)
Produces the DishProduces the DishDesigns the RecipeDesigns the Recipe
ProductionDevelopment
February 0513 Copyright©2004 Poppendieck.LLC l e a n
Principle 6: Empower the Team
Crisis at our Video Cassette PlantCompetition selling cassettes for less than we could make them
Our ResponseJust-in-Time (Lean) Production
The Great Coffee Cup SimulationPlant Manager, Materials Control Manager, IT Manager (me)Add Production General Managers Add General SupervisorsAdd Shift SupervisorsAdd Shift Workers
The Result Entire plant switched to pull scheduling over one weekendPack-out went from 60% to 95% the first weekEmployees said this was the best thing that happened to the plant
February 0514 Copyright©2004 Poppendieck.LLC l e a n
Myth 6: There is One Best Way
Frederick Winslow Taylor: Grandfather of the Process Police
Taylor’s View of EfficiencyEmployers get higher profits Workers get higher pay
But Scientific ManagementAffronts human dignity Discourages worker creativity
February 0515 Copyright©2004 Poppendieck.LLC l e a n
Principle 7: Optimize the Whole
Vicious Cycle #2:Vicious Cycle #2:1. Testing is overloaded with work2. Result: Testing occurs long after coding3. Result: Developers don’t get immediate feedback4. Result: Developers create more defects5. Result: Testing has more work. Systems have more defects.6. Result: Feedback to developers if delayed further. Repeat cycle.
Vicious Cycle #1:Vicious Cycle #1:1. A customer wants some new features yesterday2. Developers hear: Get it done fast, at all costs!3. Result: Sloppy changes are made to the code base4. Result: Complexity of code base increases5. Result: Number of defects in code base increases6. Result: Exponential increase in time to add features
February 0516 Copyright©2004 Poppendieck.LLC l e a n
Myth 7: Optimize through Decomposition
DecompositionYou get what you measureYou can’t measure everythingStuff falls between the cracksYou add more measurementsYou get local sub-optimization
ExampleMeasure Cost, Schedule, & Scope
Quality & Customer Satisfaction fall between the cracksMeasure these too!
AggregationYou get what you measureYou can’t measure everythingStuff falls between the cracksYou measure UP one levelYou get global optimization
ExampleMeasure Cost, Schedule, & Scope
Quality & Customer Satisfaction fall between the cracksMeasure Business Value with P&L or ROI instead
From to ! From to !
February 0517 Copyright©2004 Poppendieck.LLC l e a n
Financial Model
Software by Number by Mark Denne and Jane Cleland-HuangSelf-Funding
Breakeven
Inve
stm
ent
Pay
back
Pro
fit
Time
Cos
t
February 0518 Copyright©2004 Poppendieck.LLC l e a n
Staged Releases
Time
Cos
t
Release 1 ProfitRelease 2 Profit
Total Profit
February 0519 Copyright©2004 Poppendieck.LLC l e a n
Increase Business Value
Time
Cos
tProfit
Investment
Bre
akev
en
Single Release
Sel
f-Fun
ding
Bre
akev
en
Software by Number by Mark Denne and Jane Cleland-Huang
StagedReleases
l e a nsoftware development
www.poppendieck.comMary Poppendieck
Thank You!More Information: www.poppendieck.com