Upload
sam-hwang
View
217
Download
0
Embed Size (px)
Citation preview
8/4/2019 Lean SW as thinking tools for Yahoo
1/74
l e a nsoftware development
Copyright2006 Poppendieck.LLC
Lean Software Development
Leaders Course
8/4/2019 Lean SW as thinking tools for Yahoo
2/74
l e a nSeptember 112 Copyright2006 Poppendieck.LLC
Introduction
History
Eliminate Waste
Value Stream Maps
Optimize the Whole
Leadership
Build Quality In
Technical Debt
Defer Commitment
Set-Based Design
Deliver Fast
Queuing Theory
Respect People
Teams
Create Knowledge
Scientific Method
Conclusion
Some Lean concepts
Lean Software Development
Agenda
8/4/2019 Lean SW as thinking tools for Yahoo
3/74
l e a nSeptember 113 Copyright2006 Poppendieck.LLC
1800Interchangeable
Parts
France, 1785
Honor Blanc demonstrated
interchangeable gun locks.
USA, 1798 Eli Whitney received a contract
to produce 10,000 guns out of
interchangeable parts.
A New Paradigm Craft: Fit parts as close together as possible
Interchangeable Parts: Fit parts as far apart
as possible while maintaining functionality
8/4/2019 Lean SW as thinking tools for Yahoo
4/74
l e a nSeptember 114 Copyright2006 Poppendieck.LLC
1900Interchangeable People
1913Highland Park
50 Languages
350% Turnover
5 minute job training A car a minute
Frederick Winslow Taylor
Ruthless subdivision of labor
Engineers know bestAssumptions:
Workers will do as little as possible
Workers do not care about quality
8/4/2019 Lean SW as thinking tools for Yahoo
5/74
l e a nSeptember 115 Copyright2006 Poppendieck.LLC
The Toyodas
Sakichi Toyoda (1867-1930) Extraordinary inventor
of automated looms
Crucial Idea: Stop-the-Line
Kiichiro Toyoda (1894-1952) Bet the family fortune on
automotive manufacturing
Crucial Idea: Just-in-Time
Eiji Toyoda (1913-Present)
50 years of Toyota leadership
Championed the development of
The Toyota Production System
Sakichi Toyoda(1867-1930)
Kiichiro Toyoda
(1894-1952)
Eiji Toyoda(1913-Present)
http://images.google.com/imgres?imgurl=http://www.ies-geneve.ch/2000gt/Histoire/Kiichiro_Toyoda.jpg&imgrefurl=http://www.ies-geneve.ch/2000gt/Histoire/Toyota1.html&h=600&w=427&sz=46&tbnid=yqU9lhp3PV8J:&tbnh=133&tbnw=94&hl=en&start=7&prev=/images%3Fq%3DKiichiro%2BToyoda%26svnum%3D100%26hl%3Den%26lr%3D%26rls%3DGGLG,GGLG:2005-29,GGLG:en%26sa%3DNhttp://images.google.com/imgres?imgurl=http://www.ies-geneve.ch/2000gt/Histoire/Sakichi_Toyoda.jpg&imgrefurl=http://www.ies-geneve.ch/2000gt/Histoire/Toyota1.html&h=600&w=427&sz=33&tbnid=eSkbkKh-gggJ:&tbnh=133&tbnw=94&hl=en&start=10&prev=/images%3Fq%3DToyoda%2BSakichi%26svnum%3D100%26hl%3Den%26lr%3D%26rls%3DGGLG,GGLG:2005-29,GGLG:en%26sa%3DN8/4/2019 Lean SW as thinking tools for Yahoo
6/74
l e a nSeptember 116 Copyright2006 Poppendieck.LLC
The Toyota Production
System
Taiichi Ohno(1912-1990)
Taiichi Ohno
The Toyota Production System, 1988 (1978)
Eliminate Waste
Just-in-Time Flow
Expose Problems
Stop-the-Line Culture
Shigeo Shingo
Study Of Toyota Production System, 1981 Non-Stock Production
Single Digit Setup
Zero Inspection
Mistake-Proof Every Step
Shigeo Shingo(1909 1990)
http://www.amazon.com/exec/obidos/ASIN/0915299143/ref=ase_thenorthwestleanhttp://www.amazon.com/exec/obidos/ASIN/0915299178/ref=ase_thenorthwestlean8/4/2019 Lean SW as thinking tools for Yahoo
7/74l e a nSeptember 117 Copyright2006 Poppendieck.LLC
Just-in-Time Flow
Stop trying to maximize
local productivity.
Pillars of Lean
Stop-the-Line Culture
Find and fix problems the
moment they occur.
8/4/2019 Lean SW as thinking tools for Yahoo
8/74l e a nSeptember 118 Copyright2006 Poppendieck.LLC
Just-in-Time Flow
Lists
How long is your defect list?
How far apart are your releases?
How many weeks (years?) of workdo you have in your backlog?
Churn
If you have requirements churn,you are specifying too early.
If you have test-and-fix cycles,
you are testing too late.
8/4/2019 Lean SW as thinking tools for Yahoo
9/74l e a nSeptember 119 Copyright2006 Poppendieck.LLC
Stop-the-Line Culture
Two Kinds of Inspection Inspection to Find Defects is WASTE
Inspection to Prevent Defects is Essential
The Role of Testing
The job of Testing isnot tofinddefects
The job of Testing is topreventdefects.
A quality process builds quality into the code
If you routinely find defects during verification
your process is defective.
8/4/2019 Lean SW as thinking tools for Yahoo
10/74l e a nSeptember 1110 Copyright2006 Poppendieck.LLC
Introduction
History
Eliminate Waste
Value Stream Maps
Optimize the Whole
Leadership
Build Quality In
Technical Debt
Defer Commitment
Set-Based Design
Deliver Fast
Queuing Theory
Respect People
Teams
Create Knowledge
Scientific Method
Conclusion
Some Lean concepts
Lean Software Development
Agenda
8/4/2019 Lean SW as thinking tools for Yahoo
11/74l e a nSeptember 1111 Copyright2006 Poppendieck.LLC
Principle 1:
Eliminate Waste
Waste is anything that has been started
but is not being used in production.
Extra features that are notneedednow are waste.
Waste is making the wrong thing
or making the thing wrong.
Price = Cost + Profit
Profit = Price - Cost
Taiichi Ohno
8/4/2019 Lean SW as thinking tools for Yahoo
12/74l e a nSeptember 1112 Copyright2006 Poppendieck.LLC
Learn to See Waste
Put on Customer Glasses
8/4/2019 Lean SW as thinking tools for Yahoo
13/74l e a nSeptember 1113 Copyright2006 Poppendieck.LLC
The Seven Wastes
The Seven Wastes of Manufacturing- Shigeo Shingo
1. Inventory
2. Overproduction3. Extra Processing
4. Motion
5. Transportation
6. Waiting
7. Defects
8/4/2019 Lean SW as thinking tools for Yahoo
14/74l e a nSeptember 1114 Copyright2006 Poppendieck.LLC
The Seven Wastes
1. Partially Done Work
2. Extra Features
The 7 Wastes ofSoftware Development
Every line of code costs money to writeand more money to support. It is betterfor the developers to be surfing thanwriting code that won't be needed. Ifthey write code that ultimately is not
used, I will be paying for that code forthe life of the system, which is typicallylonger than my professional life. If theywent surfing, they would have fun, and Iwould have a less expensive system andfewer headaches to maintain.-- Jeff Sutherland, CTO PatientKeeper
The Seven Wastes of Manufacturing- Shigeo Shingo
1. Inventory
2. Overproduction3. Extra Processing
4. Motion
5. Transportation
6. Waiting
7. Defects
8/4/2019 Lean SW as thinking tools for Yahoo
15/74l e a nSeptember 1115 Copyright2006 Poppendieck.LLC
The Seven Wastes
Task ATask B
Task C
Week 1 Week 2 Week 3 Week 4
The Seven Wastes of Manufacturing- Shigeo Shingo
1. Inventory
2. Overproduction3. Extra Processing
4. Motion
5. Transportation
6. Waiting
7. Defects
1. Partially Done Work
2. Extra Features3. Relearning
4. Task Switching
The 7 Wastes ofSoftware Development
8/4/2019 Lean SW as thinking tools for Yahoo
16/74l e a nSeptember 1116 Copyright2006 Poppendieck.LLC
The Seven Wastes
1. Partially Done Work
2. Extra Features3. Relearning
4. Task Switching
5. Handoffs
6. Delays
7. Defects
The 7 Wastes ofSoftware Development
The Seven Wastes of Manufacturing- Shigeo Shingo
1. Inventory
2. Overproduction3. Extra Processing
4. Motion
5. Transportation
6. Waiting
7. Defects
8/4/2019 Lean SW as thinking tools for Yahoo
17/74l e a nSeptember 1117 Copyright2006 Poppendieck.LLC
Cycle Time
Cycle Time
Average end-to-end process time
From problem detection
To problem solution
Begins and ends with the customer
Software Development Cycle Time
The speed at which a customer need is reliably andrepeatedly translated into deployed software.
Problem Solution
Cycle Time
Customer Request Customer Satisfied
8/4/2019 Lean SW as thinking tools for Yahoo
18/74l e a nSeptember 1118 Copyright2006 Poppendieck.LLC
Value Stream Examples
Request Approve-mail tosupervisor E-mail toTech Lead TechnicalAssessment Code & Test ToVerification Verify ToOpertions Deploy
2 hours5 min 2 hours2 min 1 hour15 min 15 min 10 min2 hours 15 min
AssignDeveloper
5 hours 20 min2 hours 40 min
33% Efficiency8 hour cycle time
3 minwastevalue
Of course there is adeveloper available.
Request Approve &PrioritizeForm sentTo Queue Form sentto Queue TechnicalAssessment Code &Test ToVerificationVerify& Fix ToOpertions Deploy
week5 min 2 weeks2 min 2 weeks15 min 1 week week2 hours 15 min
Form sent toQueue
6 weeks + 4 hrs2 hours 40 minminwastevalue 3 hr 45 min5 min20 min total 4 hours total
Bi-weekly releases means a wait ofan average of 1 week for verificationWait an average of 2weeks for developersWait an average of 2weeks for an architectWeekly review of requests meansan average wait of week
Extra 15 minutes tofill out request form Only 15 minutes of 4 hoursshould be needed to verify
1% Efficiency6 weeks + ~1 day
Example 1
Example 2
8/4/2019 Lean SW as thinking tools for Yahoo
19/74l e a nSeptember 1119 Copyright2006 Poppendieck.LLC
Value Stream Examples
Example 3
value
23 - 33%Efficiency
1 week 1 day
1 hour
1 week week
2-3 months tomerge
waste
2 weeks working togetherHow much is
Value? 1 hour
123 hours Value
500-660 HoursTotal Cycle Time
1 hour
Require-ments
Develop Test
Require-ments
Develop Test
QAMarketing
requests NewFeature
ApprovalRequire-ments
Develop Test Deploy
Require-ments
Develop Test
Require-ments
Develop Test
8/4/2019 Lean SW as thinking tools for Yahoo
20/74l e a nSeptember 1120 Copyright2006 Poppendieck.LLC
Introduction
History
Eliminate Waste
Value Stream Maps
Optimize the Whole
Leadership
Build Quality In
Technical Debt
Defer Commitment
Set-Based Design
Deliver Fast
Queuing Theory
Respect People
Teams
Create Knowledge
Scientific Method
Conclusion
Some Lean concepts
Lean Software Development
Agenda
8/4/2019 Lean SW as thinking tools for Yahoo
21/74l e a nSeptember 1121 Copyright2006 Poppendieck.LLC
Principle 2:
Optimize the Whole
Software is rather useless
all by itself
All software is embedded
In hardware
In a business process
In an activity (game, search)
The goal of software development is to support
the development of a complete product (process)
that helps customers get a job done.
8/4/2019 Lean SW as thinking tools for Yahoo
22/74l e a nSeptember 1122 Copyright2006 Poppendieck.LLC
Think Products, not Projects
Projects Up-front funding
Scope fixed at onset
Success = cost/schedule/scope
Team disbands at completion
Documentation tossed
over-the-wall to maintenance
Products Incremental funding
Scope expected to evolve
Success = profit/market share
Team stays with product
Team uses its own
documentation
Start of Project
Completion
Maintenance
ConceptFeasibility
Internal Release
Alpha Release
Beta Release
First Production Release
Major Release
Dot upgrade
Batch Funding
Batch Thinking
System Thinking
8/4/2019 Lean SW as thinking tools for Yahoo
23/74l e a nSeptember 1123 Copyright2006 Poppendieck.LLC
Brilliant Products
Embody a Deep Understanding of:
The job that customers
need done
The right technology
to do that job
UnderstandsThe Business
UnderstandsThe Technology
Mind Meld
8/4/2019 Lean SW as thinking tools for Yahoo
24/74l e a nSeptember 1124 Copyright2006 Poppendieck.LLC
Product Champion
Behind every great product is a person with: Great empathy for the customer
Insight into what is technically possible
The ability to see what is essential and what is incidental
Example: Chief Engineer at Toyota Responsible for Business Success
Develops Deep Customer Understanding
Develops the Product Concept
Creates The High Level System Design
Sets the Schedule
Understands what customers will value and conveysthis to the engineers making day-to-day tradeoffs
Arbitrates trade-offs when necessary
Defends the Vision
8/4/2019 Lean SW as thinking tools for Yahoo
25/74l e a nSeptember 1125 Copyright2006 Poppendieck.LLC
Product Road Map
Release Planning Ballpark estimates
Minimum useful feature sets
Highest priority / greatest risk first
Aug MaySep Oct Nov Dec Jan Feb Mar Apr
11/1
Release 2Feature Set 2
12/15
Release 3Feature Set 3
2 - 1511
1 - 1513
2 - 1515
1 - 151
2 - 159
16 - 3110
16 - 3112
2 - 155
15 - 304
Aug - Aug2
16 - 316
2/1
Release 4Feature Set 4
16 - 3116
2 - 1517
3/15
Release 5Feature Set 5
9/15
Release 1:Feature Set 1
16 - 308
1 - 157
5/1
Release 6Feature Set 6
16 - 2814
Apr - Apr18
2 - 153
8/1
Start
8/4/2019 Lean SW as thinking tools for Yahoo
26/74l e a nSeptember 1126 Copyright2006 Poppendieck.LLC
Architecture
The Role of Systems Design (Architecture):
Provide a foundation for growth
Create a common infrastructure
Enable incremental developmentMinimize dependencies
Modularize potential change
Create space for teams to innovate
Design, code and test are different aspects ofthe same job and must be done concurrently
Leave room for the future
Evolve the architecture over time
8/4/2019 Lean SW as thinking tools for Yahoo
27/74l e a nSeptember 1127Copyright2006 Poppendieck.LLC
Leadership Roles
(How Many People?)
Process Leader Build Block Disciplines
Iterative Development
Visible Workspace
Project Leader Funding
(Scheduling)
Tracking
Functional Leader Staffing
Teaching
Standards
Marketing Leader Business Responsibility
Customer Understanding
Release Planning
Tradeoffs
Technical Leader System Architecture
At a high level
Work daily with thosedeveloping the details
Technical Guidance Integration
Tradeoffs
8/4/2019 Lean SW as thinking tools for Yahoo
28/74l e a nSeptember 1128Copyright2006 Poppendieck.LLC
Introduction
History
Eliminate Waste
Value Stream Maps
Optimize the Whole
Leadership
Build Quality In
Technical Debt
Defer Commitment
Set-Based Design
Deliver Fast
Queuing Theory
Respect People
Teams
Create Knowledge
Scientific Method
Conclusion
Some Lean concepts
Lean Software Development
Agenda
8/4/2019 Lean SW as thinking tools for Yahoo
29/74l e a nSeptember 1129Copyright2006 Poppendieck.LLC
Principle 3:
Build Quality In
Synchronization
Configuration Management
One Click Build
Automated Testing Unit Tests
Acceptance Tests
STOPif the tests dont pass
Continuous Integration Nested Synchronization
Frequent Deployment
Automated Release
Automated Install
Simplicity
Common Infrastructure
Architecture
Conventions Tools
Refactoring
Keep Simplifying the
Design of the Code Base
Building Block
Disciplines
8/4/2019 Lean SW as thinking tools for Yahoo
30/74l e a nSeptember 1130Copyright2006 Poppendieck.LLC
Iterative Development
Review
Meeting
features
desirable
list of
Prioritized
Backlog:
Deployment
Stories
Planning
Meeting
Daily
One Iteration
Ahead Every 2-4Weeks
Iteration
Execution
Iteration
Planning
Deployment
- ReadySoftware
8/4/2019 Lean SW as thinking tools for Yahoo
31/74l e a nSeptember 1131Copyright2006 Poppendieck.LLC
Complexity Kills
The Three Faces of Complexity*
1. WasteAnything that depletes resourcesof time, effort, space, or money
without adding customer valueKeep it Simple
2. InconsistencyUneven, unbalanced, or irregular
Make it Flawless3. Overload
Excessive or unreasonable burden
Let it Flow
Cost
Time
*Matthew May, The Elegant Solution
8/4/2019 Lean SW as thinking tools for Yahoo
32/74l e a nSeptember 1132Copyright2006 Poppendieck.LLC
Technical Debt
Anything that makes code difficult to change
ComplexityThe cost of complexity is exponential.
Regression DeficitEvery time you add new featuresthe regression test grows longer!
Unsynchronized Code BranchesThe longer two code branches remainapart, the more difficult merging will be.
You can pay full price for code when youbuild it or you can incur technical debt.
But interests rates are very high.
f
8/4/2019 Lean SW as thinking tools for Yahoo
33/74l e a nSeptember 1133Copyright2006 Poppendieck.LLC
Refactoring: Continuous
Improvement of the Code Base
Do it Right the First Time Destructive interpretation:
Never Change the Code.
Correct interpretation:
Use Test-Driven Development.
Maintain a Simple, Clean Design No features ahead of their time
No features after their time
No Repetition
Start by Adding Automated Tests You cant refactor without them!
Time to Refactor
8/4/2019 Lean SW as thinking tools for Yahoo
34/74l e a nSeptember 1134 Copyright2006 Poppendieck.LLC
TheBig Bang is Obsolete
Sources of Risk
Un-coded requirements Un-tested code
Un-integrated code
Code that has not been used in production The Best Risk Mitigation is Synchronization
Early, automated testing
Continuous, nested integration
Synchronization
8/4/2019 Lean SW as thinking tools for Yahoo
35/74l e a nSeptember 1135 Copyright2006 Poppendieck.LLC
NestedSynchronization
Every few minutes
Check in code, build and run unit tests
Every day
Run acceptance tests
Every week
Run more complete test suites
Every iteration Deployment-ready code
Every Release
Deploy and run in production
8/4/2019 Lean SW as thinking tools for Yahoo
36/74l e a nSeptember 1136 Copyright2006 Poppendieck.LLC
Types of Testing
AcceptanceTests
Business Intent(Design of the Product)
UsabilityTesting
ExploratoryTesting
Unit
TestsDeveloper Intent
(Design of the Code)
Property
TestingResponse,SecurityScaling,
FromBrianMarick
Technology Facing
Business Facing
SupportProgramm
ing
CritiqueProduc
t
Automate
d Manual
Automate
dTool-
Based
L S f D l
8/4/2019 Lean SW as thinking tools for Yahoo
37/74l e a nSeptember 1137 Copyright2006 Poppendieck.LLC
Introduction
History
Eliminate Waste
Value Stream Maps
Optimize the Whole
Leadership
Build Quality In
Technical Debt
Defer Commitment
Set-Based Design
Deliver Fast
Queuing Theory
Respect People
Teams
Create Knowledge
Scientific Method
Conclusion
Some Lean concepts
Lean Software Development
Agenda
P i i l 4
8/4/2019 Lean SW as thinking tools for Yahoo
38/74l e a nSeptember 1138 Copyright2006 Poppendieck.LLC
Principle 4:
Defer Commitment
A Pilot from Innsbruck
In Pilot training, we were taught how to make
decisions in challenging situations:
1. First decide when the decision will be made
2. Dont make the decision until that time:
That is when you have the most information
3. Dont make the decision after that time: Or you may end up flying into a mountain.
M th
8/4/2019 Lean SW as thinking tools for Yahoo
39/74l e a nSeptember 1139 Copyright2006 Poppendieck.LLC
Myth:
Plan is Commitment
If one sticks to the idea that once set, a plan should not
be changed, a business cannot exist for long.
--- Taiichi Ohno
In preparing for battle I have always found that plansare useless, but planning is indispensable.
--- Dwight D. Eisenhower
If plans are commitments, then you committo operate on guesses rather than data.
Measuring conformance to plan
is measuring the wrong thing.
Ch T l t
8/4/2019 Lean SW as thinking tools for Yahoo
40/74l e a nSeptember 1140 Copyright2006 Poppendieck.LLC
Change Tolerant
Software
60-80% of all software is developed
after first release to production.
A development process that anticipates changewill result in software that tolerates change.
Make decisionsreversible whenever possible.
Make irreversible decisions as late as possible.
When do you really need the user interface designed?
8/4/2019 Lean SW as thinking tools for Yahoo
41/74l e a nSeptember 1141 Copyright2006 Poppendieck.LLC
Set-Based Design
Point Based Design
Set up a meeting using thepoint-based model.
Set Based Design
Now set up the meeting bycommunicating about sets.
A: Uh, already booked.
Can you meet at 3:00?
A: I can meet10:00 - 1:00 or3:00 - 5:00.Can you makeany of thesetimes?
B: Lets
meet 12:00 -1:00.
based on dissertation by Durward K. Sobek, II, 1997
A: My best timeis 10:00. Canyou make it?
B: No, I cant.
How about2:00?
B: No, 3:00is bad.9:00?
?
You already understand this!
8/4/2019 Lean SW as thinking tools for Yahoo
42/74l e a nSeptember 1142 Copyright2006 Poppendieck.LLC
Set-Based Engineering
Irreversible decisions are
scheduled to be made at the
last responsible moment. Multiple options are prepared
for the decision.
There is always an optionthat will work.
Paradox: This isnot waste!
TechnicalCapabilitiesBusiness Logic
Approaches
GUI Alternatives
Accept
able
Analyze &
Critique
Modify
Architect
Developers
Testers
UI
DesignersProduct Manager
Design
Solution
Point-Based
Set-Based
L S ft D l t
8/4/2019 Lean SW as thinking tools for Yahoo
43/74l e a nSeptember 1143 Copyright2006 Poppendieck.LLC
Introduction
History
Eliminate Waste
Value Stream Maps Optimize the Whole
Leadership
Build Quality In
Technical Debt
Defer Commitment
Set-Based Design
Deliver Fast
Queuing Theory
Respect People
Teams Create Knowledge
Scientific Method
Conclusion
Some Lean concepts
Lean Software Development
Agenda
P i i l 5
8/4/2019 Lean SW as thinking tools for Yahoo
44/74l e a nSeptember 1144 Copyright2006 Poppendieck.LLC
Principle 5:
Deliver Fast
Competing on the basis of time provides Significant competitive advantage
Large barrier to entry
Order Processing
Product Development
ShippingManufacturing
Supply ChainSoftware Development
http://www.patientkeeper.com/index.htmlhttp://images.google.com/imgres?imgurl=http://elearning.hbsp.org/demos/cases/zara/images/logo.gif&imgrefurl=http://elearning.hbsp.org/demos/cases/zara.html&h=194&w=184&sz=5&tbnid=CKARUnJLXg4J:&tbnh=98&tbnw=92&hl=en&start=1&prev=/images%3Fq%3Dzara%2Blogo%26svnum%3D100%26hl%3Den%26lr%3D%26rls%3DGGLG,GGLG:2005-29,GGLG:en%26sa%3DN8/4/2019 Lean SW as thinking tools for Yahoo
45/74l e a nSeptember 1145 Copyright2006 Poppendieck.LLC
Myth: Haste Makes Waste
Companies that compete on the basis of speed:
Enjoy a significant cost advantage relative to peers
A 25-30% cost advantage is typical.
Dell claims a 50% cost advantage.
Have extremely low defect rates
It is impossible to go fast without superb quality.
Acquire a deep customer understanding Fast companies can take an experimental approach to
product development.
Have a sustainable competitive advantage.
8/4/2019 Lean SW as thinking tools for Yahoo
46/74l e a nSeptember 1146 Copyright2006 Poppendieck.LLC
Littles Law
Total Cycle Time =Number of Things in Process
Average Completion Rate
8/4/2019 Lean SW as thinking tools for Yahoo
47/74l e a nSeptember 1147 Copyright2006 Poppendieck.LLC
Pull Scheduling Example
Manage the Queues Pull from Queues to limit work to capacity
Keep Queues small to decrease cycle time
.
.
.
Queue
Best 6
ConceptRoughCost /Benefit
Approve /Reject
ArchitectureReview /
Design / Cost
Develop /Test /
DocumentDeploy
Queue
Best 3
QMax 2
Iterations
Approve /Reject
Pull
Pull
Pull
Repeat
Implem
entation
Backl
og
Desira
ble
Cap
abilitie
s
GoodROI
8/4/2019 Lean SW as thinking tools for Yahoo
48/74l e a nSeptember 1148 Copyright2006 Poppendieck.LLC
The Utilization Paradox
Queuing Theory 101
Cycle Time as a Function of Utilization and Batch Size*
0
5
10
15
20
25
30
35
40
45
10% 20% 30% 40% 50% 60% 70% 80% 90% 100%
CycleTime(hou
rs)
Small Batches
Medium Batches
Large Batches
*This assumes batch size is proportional to variability.
Reducing Software
8/4/2019 Lean SW as thinking tools for Yahoo
49/74l e a nSeptember 1149 Copyright2006 Poppendieck.LLC
Reducing Software
Development Cycle Time
1. Even out the Arrival of Work
2. Minimize the Number
of Things In Process3. Minimize the Size
of Things In Process
4. Establish a Regular Cadence5. Limit Work to Capacity
6. Use Pull Scheduling
Queuing Theory
Lean Software Development
8/4/2019 Lean SW as thinking tools for Yahoo
50/74l e a nSeptember 1150 Copyright2006 Poppendieck.LLC
Introduction
History
Eliminate Waste
Value Stream Maps Optimize the Whole
Leadership
Build Quality In
Technical Debt
Defer Commitment
Set-Based Design
Deliver Fast
Queuing Theory
Respect People
Teams Create Knowledge
Scientific Method
Conclusion
Some Lean concepts
Lean Software Development
Agenda
8/4/2019 Lean SW as thinking tools for Yahoo
51/74l e a nSeptember 1151 Copyright2006 Poppendieck.LLC
1900Industrial Training
Charles R. AllenNew Bedford, Massachusetts
Four Step method of Industrial Training
Preparation, Presentation, Application, and Testing
On-the job training is best
Supervisors know how to do the job
Supervisors need training in how to train
1917War Ships were needed
Allen developed programs for shipbuilding
88,000 people were trained in 2 years
Wrote the bookThe Instructor, the Man and the Job
If the learner hasnt learned, the teacher hasnt taught.
8/4/2019 Lean SW as thinking tools for Yahoo
52/74l e a nSeptember 1152 Copyright2006 Poppendieck.LLC
1940Training Within Industry
Wartime Production
Inexperienced Workforce
Used Allens Approach
Training for first line supervisors
Job Instructionhow to train workers
Job Methodshow to improve the way work is done
Job Relationshow to treat workers with respect
Program canceled after the war
Taught in Europe and Japan
Well received, especially in Japan
Modified and still used today in Toyota
1980 Dr W Edwards Deming
8/4/2019 Lean SW as thinking tools for Yahoo
53/74l e a nSeptember 1153 Copyright2006 Poppendieck.LLC
1980Dr. W. Edwards Deming
System of Profound Knowledge
Appreciation for the system A systems view was fundamental; never sub-optimize.
Manage the relationship between suppliers, producers, and customers
Knowledge of Variation Most variation is common cause variation inherent in the system.
Trying to eliminate this variation only makes things worse. Systemic problems lie beyond the power of the individual worker.
Deadlines and slogans do nothing to address systemic problems.
Provide leadership in changing the way the system works.
Theory of Knowledge
Use the Scientific Method to improve systems Hypothesis, Experiment, Learn, Incorporate Learning (PDCA)
Psychology When it comes to people, the things that make a difference
are skill, pride, expertise, confidence, and cooperation.
8/4/2019 Lean SW as thinking tools for Yahoo
54/74l e a nSeptember 1154 Copyright2006 Poppendieck.LLC
Engaged People
Move responsibility and decision-makingto the lowest possible level
Supervisors / Team Leaders should Know how to do the job they supervise
Receive training on how to Train workers
Improve process
Respect people
People Thrive on Pride
Commitment
Trust
Applause
Global Team
8/4/2019 Lean SW as thinking tools for Yahoo
55/74l e a nSeptember 1155 Copyright2006 Poppendieck.LLC
Global Team
Models
1. Small team has memberslocated around the world;they coordinate with eachother daily.
2. Small co-located teamsworking on relativelyindependent subsets of adivisible architecture.
3. A representative on coreteam communicates dailywith and coordinates thework of a remote team.
8/4/2019 Lean SW as thinking tools for Yahoo
56/74l e a nSeptember 1156 Copyright2006 Poppendieck.LLC
Reliable Commitment
Reliable delivery of working code with each iteration Small Story Size
Stable Team
Complete Team
No Partial Credit
An intact team working in aknown domain establishes a
Reliable Velocity
Story points per iteration
This establishes thecapacity of the team
And (across intact teams) the capacity of the organization
8/4/2019 Lean SW as thinking tools for Yahoo
57/74l e a nSeptember 1157 Copyright2006 Poppendieck.LLC
Make Work Self-Directing
Dispatched
Self-Directing
Dispatched
Self-Directing
Story YY
Login New User
Get Password
Afal;jdsa;fuwe
Story XX
Login New UserAfal;jdsa;fuwe
Story XX
Login New User
Afal;jdsa;fuwe
Story XX
Login New User
Afal;jdsa;fuweStory XX
Login New User
Afal;jdsa;fuwe
Story XX
Login New User
Afal;jdsa;fuwe
Story YY
Login New User
Get Password
Afal;jdsa;fuwe
Story YYLogin New User
Get Password
Afal;jdsa;fuwe
Story YY
Login New User
Get Password
Afal;jdsa;fuwe
Story YY
Login New User
Get Password
Afal;jdsa;fuwe
Story YYLogin New User
Get Password
Afal;jdsa;fuwe
Story XX
Login New User
Afal;jdsa;fuwe
TestsPassedChecked Out
To Do
Lean Software Development
8/4/2019 Lean SW as thinking tools for Yahoo
58/74l e a nSeptember 1158 Copyright2006 Poppendieck.LLC
Introduction
History
Eliminate Waste
Value Stream Maps Optimize the Whole
Leadership
Build Quality In
Technical Debt
Defer Commitment
Set-Based Design
Deliver Fast
Queuing Theory
Respect People
Teams Create Knowledge
Scientific Method
Conclusion
Some Lean concepts
Lean Software Development
Agenda
Principle 7:
8/4/2019 Lean SW as thinking tools for Yahoo
59/74l e a nSeptember 1159 Copyright2006 Poppendieck.LLC
Principle 7:
Create Knowledge
The Learning Organization
Everybodys job is to taketheir work to the next level.
Everyone challenges thingsthat annoy them or keep themfrom doing an excellent job.
Teams improve their ownprocesses
Without permission from managers
Or direction from process experts
Not ConsistentModify Hypothesis
ConsistentPublish Results
Observations
Knowledge
Results
Predic-tionsExperiments
Hypothesis
The Scientific Method
8/4/2019 Lean SW as thinking tools for Yahoo
60/74l e a nSeptember 1160 Copyright2006 Poppendieck.LLC
Standards
The current best known
way to do a job
The baseline for change
If you believe that standards are written in
stone, you will fail. You have to believe that
standards are there to be changed.** Yoshio Shima, Director, Toyoda Machine Works
8/4/2019 Lean SW as thinking tools for Yahoo
61/74l e a nSeptember 1161 Copyright2006 Poppendieck.LLC
Dont Tolerate Work-Arounds
Detect every inconsistency the moment it happens.
Dont fight fires! Stop
Find the root cause. Investigate
Find a better way. Experiment
Change the standard. Learn
Only after American carmakers had exhausted every other explanation for
Toyotas success an undervalued yen, a docile workforce, Japanese culture,
superior automationwere they finally able to admit that Toyotas real advantage
was its ability to harness the intellect of ordinary employees.
Management Innovation by Gary Hamel,
Harvard Business Review, February, 2006
8/4/2019 Lean SW as thinking tools for Yahoo
62/74l e a nSeptember 1162 Copyright2006 Poppendieck.LLC
After Action Review
After key events Iteration, Release, etc.
Everyone participates
No fault-finding or blaming
Answer three questions:1. What was supposed to happen?
2. What actually happened?
3. Why were there differences?
Capture the learning Decide what to do with it
(Often called a Retrospective in Software Development)
8/4/2019 Lean SW as thinking tools for Yahoo
63/74l e a nSeptember 1163 Copyright2006 Poppendieck.LLC
Capturing Knowledge
Ground Rules
Everything fits on one side of an A3 sheet.
If it doesnt fit, condense it to smaller sheet!
Use as few words as possible. A picture is worth a thousand words.
A3s are dynamic documents.
Obtain feedback and update.
The A3 Report Two sheets of letter paper
A3 reports are concise, useful summaries of knowledge.
They condense findings and capture important results.
8/4/2019 Lean SW as thinking tools for Yahoo
64/74l e a nSeptember 1164 Copyright2006 Poppendieck.LLC
Capture in an A3 Document
Coding Standards
Logging Approach
Security Standards
Configuration Management Practices
Problem Under Investigation
High Level Architecture Business Goals of System Under Development
Iteration Goal / Release Goal
Lean Software Development
8/4/2019 Lean SW as thinking tools for Yahoo
65/74l e a nSeptember 1165 Copyright2006 Poppendieck.LLC
Deliver Fast
Queuing Theory
Respect People
Teams Create Knowledge
Scientific Method
Conclusion
Some Lean concepts
Introduction
History
Eliminate Waste
Value Stream Maps Optimize the Whole
Leadership
Build Quality In
Technical Debt
Defer Commitment
Set-Based Design
Lean Software Development
Agenda
Lean Thinking is
8/4/2019 Lean SW as thinking tools for Yahoo
66/74l e a nSeptember 1166 Copyright2006 Poppendieck.LLC
Lean Thinking is
Counterintuitive
Balance Sheet Thinking Delay creates quality
Just-in-case is wise
Work-in-process has value
Queues support betterdecisions
Cash Flow Thinking Delay creates waste
Just-in-time is wiser
Work-in-process is waste
Queues gum up the worksand slow things down
In order for organizations to perform
brilliantly, there are two prerequisites:
First, everyone has to agree on what
they want, and second everyone has to
agree on cause and effect.* *The Tools of Cooperation and Change,by Clayton Christensen and co authors,
Harvard Business Review, October 2006.
A b l
8/4/2019 Lean SW as thinking tools for Yahoo
67/74l e a nSeptember 1167 Copyright2006 Poppendieck.LLC
Accountability
Span of InfluenceHold people accountable for
what they can influence
Measure at the team level
Fosters collaboration Example
The team includes technical and
business people, and the whole
team assumes responsibility for
business success
Span of ControlHold people accountable for
what they cancontrol
Measure at the individual level
Fosters competition Example
The development team should be
responsible fortechnical success
The product manager should be
responsible forbusiness success
There is no such thing
as Technical SuccessKent Beck, XP 2004
U ili i
8/4/2019 Lean SW as thinking tools for Yahoo
68/74l e a nSeptember 1168 Copyright2006 Poppendieck.LLC
Utilization
We need full utilization
of expensive resources.
It is impossible to have
intact teams because this
decreases utilization.
Large queues of work help
keep everyone busy.
It is impossible to move
rapidly without slack.
Intact teams increase
overall productivity by
preserving team learning.
Batch and queue mentality
is the biggest detriment to
system-wide performance.
W k S d d
8/4/2019 Lean SW as thinking tools for Yahoo
69/74l e a nSeptember 1169 Copyright2006 Poppendieck.LLC
Work Standards
The purpose of standards
is to make it possible for
any one to do any job.
Standards are initiated byprocess groups.
Written standards are to be
followed, not changed.
The purpose of standards
is to provide a baseline
for the team to change.
If you believe that stan-dards are written in stone,
you will fail. You have to
believe that standards are
there to be changed.*
* Yoshio Shima, Director, Toyoda Machine Works
C f Pl
8/4/2019 Lean SW as thinking tools for Yahoo
70/74l e a nSeptember 1170 Copyright2006 Poppendieck.LLC
Conformance to Plan
Planning is indispensable,
but plans are useless.
The most predictable
performance comes from
maintaining options until
we have the most
information.
A Plan is a Commitment
Predictability comes from
conformance to plan.
The plan is always right,
even though it was made
when we had the least
information.
* Dwight Eisenhower
*
M UP
8/4/2019 Lean SW as thinking tools for Yahoo
71/74l e a nSeptember 1171 Copyright2006 Poppendieck.LLC
Measure UP
Decomposition You get what you measure
You cant measure everything
Stuff falls between the cracks
You add more measurements
You get local sub-optimization
Example Measure Cost, Schedule, & Scope
Quality & Customer Satisfactionfall between the cracks
Measure these too!
Aggregation You get what you measure
You cant measure everything
Stuff falls between the cracks
You measure UP one level
You get global optimization
Example Measure Cost, Schedule, & Scope
Quality & Customer Satisfactionfall between the cracks
Measure Business CaseRealization instead!
From to ! From to !
Th S M
8/4/2019 Lean SW as thinking tools for Yahoo
72/74l e a nSeptember 1172 Copyright2006 Poppendieck.LLC
Three System Measurements
1. Average Cycle Time From Product Concept
To First Releaseor
From Feature Request
To Feature Deploymentor
From Defect
To Patch
2. The Business Case P&L or
ROI or
Goal of Investment
3. Customer Satisfaction Net Promoter Score
(Fred Reichheld, The Ultimate Question)
Would you recommend ourproduct/service to a colleague?
Rate on a scale of 0-10
Promoters = 9-10
Detractors = 0-6
Net Promoter Score =
%Promoters%Detractors
Highly correlated tomarket share and
long term growth
8/4/2019 Lean SW as thinking tools for Yahoo
73/74
l e a nsoftware development
Copyright2006 Poppendieck.LLC
Thank You!
A Sh Li f B k
8/4/2019 Lean SW as thinking tools for Yahoo
74/74
A Short List of Books
1. Taiichi OhnoToyota Production System
2. Mary & Tom PoppendieckLean Software Development
3. Michael KennedyProduct Development in the Lean Enterprise
4. Mike CohnAgile Estimating and Planning
5. Michael FeathersWorking Effectively with Legacy Code
6. Mugridge & CunninghamFit for Developing Software
7. PoppendieckImplementing Lean Software Development
8. Matthew May - The Elegant Solution
http://www.amazon.com/exec/obidos/ASIN/0915299143/ref=ase_thenorthwestlean