Introduction to Lean for Poland


l
l e a n
software development
ft d l t
Lean Software Development
Lean Software Development
An Introduction
An Introduction
mary@poppendieck.com
mary@poppendieck.com Mary Poppendieck www.poppendieck.com
What is Lean?
Deliver continually increasing customer value
Deliver continually increasing customer value
Expending continually decreasing effort
I h h ibl i f
In the shortest possible timeframe
With the highest possible quality
A Journey
Not a Destination
Copyright©2009 Poppendieck.LLC
2 March 10 l e a n
l e a n
l e a n
The Toyota Production System
Precursor of Lean Thinking
Precursor of Lean Thinking
T t
Toyota
Toyota
Product
Production
Development
System
System
Just-In-Time Supply Chain
Manufacturing Management
Lean
Lean
Lean Lean
Product
Logistics
Manufacturing Operations
Development
Lean
Software
Development
Copyright©2008 Poppendieck.LLC
3 March 10 l e a n
l e a n
l e a n
Principles of
Lean Software Development
Lean Software Development
1. Eliminate Waste
2. Build Quality In
3 D f C it t
3. Defer Commitment
Quality Low Cost
4. Deliver Fast
5. Focus on Learning
Speed
6. Improve Relentlessly
6 Improve Relentlessly
7. Respect People
8. Optimize the Whole
Copyright©2006 Poppendieck.LLC
4 March 10 l e a n
l e a n
l e a n
Learn to See Waste
Waste is
Waste is
Waste is&
Waste is&
Anything that depletes resources
Anything that depletes resources
of time, effort, space, or money
of time, effort, space, or money
of time, effort, space, or money
of time, effort, space, or money
without adding customer value.
without adding customer value.
Value is
Value is
Value is&
Value is&
Seen through the eyes of those
Seen through the eyes of those
who pay for, use, support, or
who p y f , use, support, or
pay for, , pp ,
p y f , , pp ,
derive value from our systems.
derive value from our systems.
Put on Customer Glasses
Put on Customer Glasses
Copyright©2009 Poppendieck.LLC
5 March 10 l e a n
l e a n
l e a n
Extra Features are Waste
Features / Functions Used in a Typical System
Cost of Complexity
p y
Often / Always Rarely / Never
Often / Always Rarely / Never
Used: 20% Used: 64%
Used: 20% Used: 64%
Sometimes
Rarely 19%
16%
Often 13%
Always 7%
Never 45%
Time
Standish Group Study Reported at XP2002 by Jim Johnson, Chairman
Th Bi t t it f i i S ft
The Biggest opportunity for increasing Software
Development Productivity: Write Less Code!
Copyright©2009 Poppendieck.LLC
6 March 10 l e a n
l e a n
l e a n
Cost
Handovers are Waste
A handover occurs whenever we separate:*
üð Responsibility - What to do
üð Knowledge
- How to do it
üð A ti
üð Action
- Actually doing it
All d i i
üð Feedback
- Learning from results
*Alan Ward: Lean Product and Process Development
Cross Functional Teams
QA and
Software
Integration
Development
Overall
Overall
System
Operations
and Support
Copyright©2009 Poppendieck.LLC
7 March 10 l e a n
l e a n
Delays are Waste
y
Copyright©2009 Poppendieck.LLC
8 March 10 l e a n
l e a n
l e a n
Work in Progress Waste
g
Copyright©2009 Poppendieck.LLC
9 March 10 l e a n
9 March 10 l e a n
l e a n
Why do you need a Backlog?
yy g
(Wishful Thinking)
Output Capacity
Input Flow
(Wishful Thinking)
Never
Copyright©2009 Poppendieck.LLC
10 March 10 l e a n
l e a n
l e a n
Task Switching is Waste
g
11
Task A
Task A
Task B
Task C
Wasted Cost
Wasted Cost
Month 3
Month 1 Month 2 Month 4
Wasted Value
Time
Copyright©2009 Poppendieck.LLC
March 10 l e a n
l e a n
l e a n
Value
Technical Debt is Waste
Anything that makes code difficult to change
Anything that makes code difficult to change
yg ff g
yg ff g
üðSloppy / Un-testable Code
Code without a test harness is Legacy Code.
üðDependencies
High cohesion and low coupling
are essential for testable code.
üðUnsynchronized Code Branches
The longer two code branches
remain apart, the more difficult
hd ff l
they are to merge together.
Copyright©2009 Poppendieck.LLC
12 March 10 l e a n
l e a n
l e a n
Defects are Waste
f
Every software development process ever invented has had the same
primary goal  find and fix defects as early in the development
l f d d f d f l h d l
process as possible. If you are finding defects at the end of the
development process  your process is not working for you.
How good are you?
When in your release cycle do you try to freeze code and test the system?
What percent of the release cycle remains for this hardening ?
What percent of the release cycle remains for this  hardening ?
Top Companies: <10%
Typical: 30%
Sometimes: 50%
Release Cycle
Copyright©2009 Poppendieck.LLC
13 March 10 l e a n
l e a n
Building the Wrong Thing
is Waste
is Waste
 Go and See
Go and See
What the real customers problem is.
üðDevelopers should talk directly with customers,
ask questions, model and discuss ideas  both
before and while they are developing a product.
üðIntermediaries are not adequate!
q
Ethnography
Ethnography
Example: Intuit s Follow-me-Home
üðWhole team follows first
time customers home
üðAsk questions, empathize
with problems
üð I i
üð It was an experience
I ll never forget.
Ideation
Copyright©2009 Poppendieck.LLC
14 March 10 l e a n
l e a n
l e a n
Principles of
Lean Software Development
Lean Software Development
1. Eliminate Waste
2. Build Quality In
3 D f C it t
3. Defer Commitment
Quality Low Cost
4. Deliver Fast
5. Focus on Learning
Speed
6. Improve Relentlessly
6 Improve Relentlessly
7. Respect People
8. Optimize the Whole
Copyright©2006 Poppendieck.LLC
15 March 10 l e a n
l e a n
l e a n
Quality by Construction
Qy y
A Quality Process Builds Quality IN.
A Quality Process Builds Quality IN.
üðR th th t i t t t lit i l t
üðRather than trying to test quality in later.
Edsger Dijkstra 
 Those who want really reliable software will discover that they must find
means of avoiding the majority of bugs to start with and as a result the
means of avoiding the majority of bugs to start with, and as a result the
programming process will become cheaper. If you want more effective
programmers, you will discover that they should not waste their time
debugging  they should not introduce bugs to start with.
Quality by Construction
Quality by Construction
üðCode that reveals its intentions
üð
üðDesign/code reviews
üðImmediate, automated testing
üðSTOP
üðSTOP if the tests don t pass!
üð
üðContinuous, nested integration
üðEscaped defect analysis & feedback
Copyright©2009 Poppendieck.LLC
16 March 10 l e a n
l e a n
Principles of
Lean Software Development
Lean Software Development
1. Eliminate Waste
2. Build Quality In
3 D f C it t
3. Defer Commitment
Quality Low Cost
4. Deliver Fast
5. Focus on Learning
Speed
6. Improve Relentlessly
6 Improve Relentlessly
7. Respect People
8. Optimize the Whole
Copyright©2006 Poppendieck.LLC
17 March 10 l e a n
l e a n
l e a n
Maintain Options
p
The Goal: Change-Tolerant Software
The Goal: Change-Tolerant Software
üð60-80% of all software is developed
after first release to production.
ft fi t l t d ti
üðA development process that anticipates change
will result in software that tolerates change.
The Strategy: Maintain Options
üðMake decisions reversible whenever possible.
üðMk iibl d i i l ibl
üðMake irreversible decisions as late as possible.
Copyright©2008 Poppendieck.LLC
18 March 10 l e a n
l e a n
l e a n
Principles of
Lean Software Development
Lean Software Development
1. Eliminate Waste
2. Build Quality In
3 D f C it t
3. Defer Commitment
Quality Low Cost
4. Deliver Fast
5. Focus on Learning
Speed
6. Improve Relentlessly
6 Improve Relentlessly
7. Respect People
8. Optimize the Whole
Copyright©2006 Poppendieck.LLC
19 March 10 l e a n
l e a n
l e a n
Empire State Building
pg
One Year Earlier:
September 22 1929
September 22, 1929
Demolition started
January 22, 1930
Excavation started
Excavation started
March 17, 1930
Construction started
November 13 1930
November 13, 1930
Exterior completed
May 1, 1931
Building opened
Building opened
Exactly on time
18% under budget
How did they do it? The key: Focus on FLOW.
Copyright©2009 Poppendieck.LLC
20 March 10 l e a n
l e a n
l e a n
Steel Schedule
We thought of the work as if it
We thought of the work as if it
were a band marching through
the building and out the top.
From:  Building the Empire State
Builders Notebook: Edited by Carol Willis
Copyright©2009 Poppendieck.LLC
21 March 10 l e a n
l e a n
l e a n
The Four Pacemakers
1 Structural Steel Construction
1. Structural Steel Construction
üð Completed September 22, 12 days early
2 Concrete Floor Construction
2. Concrete Floor Construction
üð Completed October 22, 6 days early
3 Exterior Metal Trim &Windows
3. Exterior Metal Trim &Windows
üð Completed October 17, 35 days early
4 E t i Li t
4. Exterior Limestone
üð Completed November 13, 17 days early
From:  Building the Empire State
Builders Notebook: Edited by Carol Willis
Copyright©2009 Poppendieck.LLC
22 March 10 l e a n
l e a n
l e a n
Key Success Factors
y
1. Teamwork of owner, architect, and builder
üð Eliminated design loops by consulting experts early.
2. Deeply Experienced Builders
üð Fixed Price Contract!
3. Focus on the key constraint: Material Flow
üð 500 trucks a day  no storage on site
4. Decoupling
4. Decoupling
üð The pacemakers (and other systems) were designed to be independent
designed
5. Cash Flow Thinking
üð E d f d l t $10 000 ($120 000 t d )
üð Every day of delay cost $10,000 ($120,000 today).
6. Schedule was not laid out based on the details of the building design,
the building was designed based on the constraints of the situation.
üð T f l d i th iddl f N Y k Cit i di
üð Two acres of land in the middle of New York City, zoning ordinances,
$35,000,000 of capital, the laws of physics, and a May 1, 1931 deadline.
Copyright©2009 Poppendieck.LLC
23 March 10 l e a n
l e a n
l e a n
Lessons
Design the system to meet the constraints;
Design the system to meet the constraints;
Design the system to meet the constraints;
Design the system to meet the constraints;
do not derive constraints from the design.
do not derive constraints from the design.
Decouple workflows;
Decouple workflows;
p;
p;
break dependencies!
break dependencies!
Workflows are easier to control &
Workflows are easier to control &
more predictable than schedules.
more predictable than schedules.
di bl h h d l
di bl h h d l
Copyright©2009 Poppendieck.LLC
24 March 10 l e a n
l e a n
l e a n
Principles of
Lean Software Development
Lean Software Development
1. Eliminate Waste
2. Build Quality In
3 D f C it t
3. Defer Commitment
Quality Low Cost
4. Deliver Fast
5. Focus on Learning
Speed
6. Improve Relentlessly
6 Improve Relentlessly
7. Respect People
8. Optimize the Whole
Copyright©2006 Poppendieck.LLC
25 March 10 l e a n
l e a n
l e a n
The Iterative Workflow
f
Delivery
Discovery
Daily
Stories
& Tests
Shortly Before
Every 2-4
y
Implementation
Implementation
Weeks
Deployment
- Ready
High Level
Software
Business Goals
G
Done Done
Done Done
D D
D D
or
Product
Ready Ready
Ready Ready
Feedback
Concept
Copyright©2009 Poppendieck.LLC
26 March 10 l e a n
l e a n
l e a n
Principles of
Lean Software Development
Lean Software Development
1. Eliminate Waste
2. Build Quality In
3 D f C it t
3. Defer Commitment
Quality Low Cost
4. Deliver Fast
5. Focus on Learning
Speed
6. Improve Relentlessly
6 Improve Relentlessly
7. Respect People
8. Optimize the Whole
Copyright©2006 Poppendieck.LLC
27 March 10 l e a n
l e a n
l e a n
Improvement Kata
p
1. Visualize perfection
1. Visualize perfection
2. Have a first hand grasp of the situation
3 Define a target condition on the way to perfection
3. Define a target condition on the way to perfection
4. Strive to move step-by-step to the target
5 As obstacles are encountered they are
5. As obstacles are encountered, they are
systematically understood and overcome
1
2
Encountered 3
4
Next
Current
Target Vision
Obstacle
Condition
Condition
Understood
Mike Rother  Toyota Kata
and Overcome
Copyright©2009 Poppendieck.LLC
28 March 10 l e a n
l e a n
Principles of
Lean Software Development
Lean Software Development
1. Eliminate Waste
2. Build Quality In
3 D f C it t
3. Defer Commitment
Quality Low Cost
4. Deliver Fast
5. Focus on Learning
Speed
6. Improve Relentlessly
6 Improve Relentlessly
7. Respect People
8. Optimize the Whole
Copyright©2006 Poppendieck.LLC
29 March 10 l e a n
l e a n
l e a n
Purpose
p
The Gold Standard: Tandberg Oslo, Norway
The Gold Standard: Tandberg  Oslo, Norway
Everyone who works there told us the same thing:
 Everything we do here is to make it
easy for people to communicate.
 This is a great company. We think of programmers and salespeople
as being the most important and respected positions, the  others ,
like the VP you met all think of themselves and express loudly
like the VP you met, all think of themselves  and express loudly 
that they are in a supporting role. Olve Maudal, C++ Programmer
Copyright©2009 Poppendieck.LLC
30 March 10 l e a n
l e a n
l e a n
Pride
Product Development in Tandberg
Codec C90
üð W d littl thi th t t ti l
üð We spend very little energy on things that are not essential
üð We do not follow a plan, we do not follow procedures
üð We do not write hours, we do not measure project cost
üð Decisions are delayed as much as possible
yp
üð To fail is OK, therefore we deliver spectacular stuff
20 months from
üð Doers are very much respected in Tandberg
Idea to Production
üð We hire and keep exceptional people
Started spring 2007
Started spring 2007
üð Communication is a key skill for all our engineers
üð Communication is a key skill for all our engineers
üð We are fast and  sloppy
1st HW prototype mid 2008
üð We release early and we release often
Released late 2008
üð Little documentation gives effective communication
55-65 people involved
55-65 people involved
üð Slack is embedded, and  skunk work projects appreciated
2-3 people mechanics/design
üð The company builds on trust
4-5 people electronics/hardware
üð Developers are treated as professionals, not as resources
40-50 people software dev
üð Fun and Profit
üð Fun and Profit
5 6 people fpga development
5-6 people fpga development
4 people test developers
We follow principles, not processes!
We follow principles, not processes!
1 person approvals
Olve Maudal http://www.pvv.org/~oma/SoftwareDevelopmentAtTandberg_March2009.pdf
Copyright©2009 Poppendieck.LLC
31 March 10 l e a n
l e a n
l e a n
Principles of
Lean Software Development
Lean Software Development
1. Eliminate Waste
2. Build Quality In
3 D f C it t
3. Defer Commitment
Quality Low Cost
4. Deliver Fast
5. Focus on Learning
Speed
6. Improve Relentlessly
6 Improve Relentlessly
7. Respect People
8. Optimize the Whole
Copyright©2006 Poppendieck.LLC
32 March 10 l e a n
l e a n
l e a n
Appreciate
th S t
the System
Southwest Airlines
Zara: Fashion clothing
g
1973: Had to sell 1 of 4 airplanes
üðDesign-to-Store in 2 weeks.
Decided not to reduce its routes, but to
üðTwice-weekly orders.
reduce its turnover time instead.
ûðDelivers globally 2 days after order
Delivers globally 2 days after order
Øð On hangers, priced, ready to sell
Why? Because it was competing against
Øð Shipping prices are not optimized!
driving, not against other airlines.
üðManufactures in small lots
Discovered it could run the same routes
ûðMostly at co-ops in Western Spain
using ¾ of the assets if it focused on:
Øð At Western European labor rates&
Planes in the Air
RESULTS Zara Industry
g Seats.
NOT Filling
New Items introduced / year 11,000 3,000
America s largest, most profitable, and
Items sold at full price 85% 60-70%
most popular and admired airline.
Unsold Items <10% 17-20%
good care
 The secret to success is to take g
% sales spent on advertising 0.3% 3-4%
of your employees, then they will take good
% sales spent on IT 0.5% 2%
care of your customers, and satisfied
customers lead to a successful business.
Copyright©2006 Poppendieck.LLC
33 March 10 l e a n
l e a n
l e a n
l
l e a n
software development
ft d l t
Thank You!
Thank You!
More Information: www.poppendieck.com
More Information: www.poppendieck.com
mary@poppendieck.com
mary@poppendieck.com Mary Poppendieck www.poppendieck.com


Wyszukiwarka

Podobne podstrony:
CSharp Introduction to C# Programming for the Microsoft NET Platform (Prerelease)
Introduction to VBA for AutoCAD (Mini Guide)
Introduction to Tensor Calculus for General Relativity
IMiR NM2 Introduction to MATLAB
Introduction to multivariate calibration in analytical chemistry
Smirnov, A V Introduction to tensor calculus (2004)
Introduction To Human?sign
Introduction to Microprocessors and Microcontrollers
An introduction to difference equation by Elaydi 259
introduction to riemannian geometry
Introduction to Probability Solutions Manual
How to prepare for IELTS Speaking
Introduction to Network Self defense technical and judicial issues
An introduction to the Analytical Writing Section of the GRE

więcej podobnych podstron