• No results found

l e a n Principles of Lean Software Development software development Introduction to Lean Software Development Speed Quality Low Cost

N/A
N/A
Protected

Academic year: 2021

Share "l e a n Principles of Lean Software Development software development Introduction to Lean Software Development Speed Quality Low Cost"

Copied!
11
0
0

Loading.... (view fulltext now)

Full text

(1)

l e a n

software development

www.poppendieck.com Mary Poppendieck [email protected] [email protected] [email protected]

Introduction to

Lean Software Development

Speed – Quality – Low Cost

May 07

2 Copyright©2006 Poppendieck.LLC

Principles of

Lean Software Development

1.

Eliminate Waste

 Drive out Complexity

2.

Focus on Learning

 Use Feedback-Driven Development

3.

Build Quality In

 Mistake-Proof Every Step 4.

Defer Commitment

 Build Change-Tolerant Code

5.

Deliver Fast

 Don’t Batch & Queue 6.

Respect People

 Decide as Low as Possible

7.

Optimize the Whole

 Appreciate the System

Speed

(2)

May 07

3 Copyright©2006 Poppendieck.LLC

Principle 1:

Eliminate Waste

Put on Customer Glasses

The 80-20 Rule

May 07

4 Copyright©2007 Poppendieck.LLC

Features and Functions Used in a Typical System

Standish Group Study Reported at XP2002 by Jim Johnson, Chairman Always 7% Often 13% Sometimes 16% Rarely 19% Never 45% Rarely or Never Used: 64% Often or Always Often or Always Used: 20% Used: 20%

(3)

Principle 2:

Focus on Learning

Consider the Truck-Driving Problem:

Program a computer to drive a truck across America unattended, on existing roads, in normal traffic.

This is not a one-pass problem.

It will be solved one module at a time over many years.

Nor is it a software problem.

Don’t even think about the problem without the truck.

In software development –

We try to solve too many truck driving problems

 All at once



Without access to the truck!



May 07 5 Copyright©2007 Poppendieck.LLC I wonder what I should do next?

Software Development

Software Development

Finding ways to turn over more and more of what we know to computers so that we have more space left in our minds to discover more interesting things.

Cycles of Discovery

May 07 6 Copyright©2007 Poppendieck.LLC features desirable list of Prioritized Road Map: Stories & Tests Daily Every 2-4 Weeks Iteration Execution Iteration Planning Deployment - Ready Software One Iteration Ahead Feedback

(4)

Cadence

Benefits

1.

Staged Delivery => better

cash flow / higher profits.

 Minimum useful feature sets,

highest payback first.

2.

Feedback => closer fit to

the real customer problem.

 IKIWISHI:

“I’ll know it when I see it.”

3.

Velocity => story-points

delivered each iteration.

 Velocity is a measure of

the capacity of the team.

Dangers

1.

Irreversible decisions made too

early can be expensive.

 Defer commitment / maintain options for critical decisions.

2.

Lack of systems thinking can

lead to sub-optimization.

 Design for operations and

build change-tolerant code.

3.

Do not use velocity as a

performance measurement.

 Stable teams in a known domain

establish a reliable velocity.

May 07

7 Copyright©2007 Poppendieck.LLC

Principle 3:

Build Quality In

1920’s:



Invention: Looms that detect a broken warp

thread when it breaks and stop immediately.

1950’s:



Assembly lines where workers pull a cord to

stop-the-line the moment a defect is detected.

May 07

(5)

Don’t Tolerate Defects

There are Two Kinds of Inspection

There are Two Kinds of Inspection

1.

Inspection to Find Defects – WASTE

2.

Inspection to Prevent Defects – Essential

The Role of QA

The Role of QA

The job of QA is not to swat mosquitoes,

The job of QA is to put up screens.

May 07

9 Copyright©2007 Poppendieck.LLC

A Quality Process Builds Quality In

A Quality Process Builds Quality In

If you routinely find defects during verification

– your process is defective.

Building Block Disciplines

Mistake-Proofing

 Configuration Management

 One Click Build

 Continuous Integration with

Automated Testing

 Unit Tests  Acceptance Tests

 Production Test Harnesses 

 STOPSTOP if the tests don’t pass

 Frequent Deployment

 Automated Release Packaging  Automated Install

Simplicity

 Minimum Useful

Feature Sets

 Common Infrastructure

 Architecture

 Conventions

 Tools

 Refactoring

 Continuous Improvement of the Code Base

 No Repetition

May 07

(6)

Types of Testing

May 07 11 Copyright©2007 Poppendieck.LLC

Acceptance

Acceptance

Tests

Tests

Business Intent (Design of the Product)

Usability

Usability

Testing

Testing

Exploratory

Exploratory

Testing

Testing

Unit

Unit

Tests

Tests

Developer Intent (Design of the Code)

Property

Property

Testing

Testing

Response, Security, Scaling, Resilience F ro m B ri a n M a ri ck

Technology Facing

Business Facing

S

u

p

p

or

t

P

rogr

am

m

in

g

C

ri

ti

q

u

e

P

rod

u

ct

Automated: Every Day Manual: As Early as Practical Automated: Every Build Tool-Based: As Early as Possible

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.

Don’t make the decision until that time:



That is when you have the most information

3.

Don’t make the decision after that time:



Because there are rocks in our clouds.

May 07

(7)

Change-Tolerant Software

Step One: Accept that Change is not the Enemy.



60-80% of all software is developed after first release.

Step Two: Invest in Change-Tolerant Practices



A development process that anticipates change will result

in software that tolerates change.

1.

Feedback-Driven Development

2.

Options-Based Development

3.

Test-Driven Development

May 07 13 Copyright©2007 Poppendieck.LLC

Principle 5:

Deliver Fast

Competing on the basis of speed:

Significant competitive advantage

Large barrier to entry

When speed matters

You don’t want to be left behind

May 07

14 Copyright©2006 Poppendieck.LLC

Software Development Software Development

Product Development (Embedded Software)

(8)

May 07

15 Copyright©2006 Poppendieck.LLC

Churn

Churn



If you have requirements churn,

you are specifying too early.



If you have test-and-fix cycles,

you are testing too late.

Why do early specification and late

Why do early specification and late

testing seem like such a good idea?

testing seem like such a good idea?

The Flow of Value

May 07

16 Copyright©2006 Poppendieck.LLC

Don’t Batch & Queue

Lists

Lists

How long is your defect list?

How far apart are your releases?

How many weeks (years?) of work

do you have in your backlog?

Why do lists

(9)

Three Stonecutters were asked:

“What are you doing?”

Principle 6:

Respect People

May 07

17 May 07 Copyright©2007 Poppendieck.LLC 17

I’m cutting stones!

I’m earning a living.

I’m building a cathedral.

Engaged People

Move responsibility and

decision-making to the

lowest possible level.

The Litmus Test:

When workers are

annoyed by their job –

Do they complain,

ignore it, or fix it?

May 07

18 Copyright©2007 Poppendieck.LLC

(10)

Principle 7:

Optimize the Whole

Appreciate the System

Appreciate the System

Build a complete product

 Not just Software

Look at the whole picture

 Across the Value Stream

 For the Entire Lifecycle

Software is rather useless

– all by itself

Software is embedded

In hardware

In a process

In an activity

May 07 19 Copyright©2007 Poppendieck.LLC Dev Production

Saving money in development at the expense

of production

makes no sense.

Software is going to be around for a LONG time….

Measure UP

Decomposition

 You get what you measure  You can’t measure everything  Stuff falls between the cracks  You add more measurements  You get local sub-optimization

Example

 Measure Cost, Schedule, & Scope

 Quality & Customer Satisfaction

fall between the cracks

 Measure these too!

Aggregation

 You get what you measure  You can’t measure everything  Stuff falls between the cracks  You measure UP one level  You get global optimization

Example

 Measure Cost, Schedule, & Scope

Quality & Customer Satisfaction

fall between the cracks

Measure Business Case Realization instead!

May 07

20 Copyright©2007 Poppendieck.LLC

(11)

Three System Measurements

Average Cycle Time

Average Cycle Time

 From Product Concept  To First Release

or

 From Feature Request  To Feature Deployment

or

 From Defect  To Patch

The Business Case

The Business Case

 P&L or  ROI or  Goal of the Investment May 07 21 Copyright©2007 Poppendieck.LLC

Customer Satisfaction

Customer Satisfaction

 A measure of sustainability

l e a n

software development

www.poppendieck.com Mary Poppendieck [email protected] [email protected] [email protected]

Thank You!

References

Related documents

Clinicians and patients were initially satisfied with the return to normal masticatory function and fixed implant restorations. However, clinicians and patients soon expressed

La jerarquía establecida en el supuesto de falta de representación de imágenes de personas de raza negra también se puede explicar por la estructura social, debido a que

01-2017-1557, appointing Commissioner Debra Brinton to serve on the Police Pension Committee..

• Identical optical O 2 measurement technology also available in inline process instrument for continuous monitoring. • Correlation to portable unit is good

◦ The General Program Technical Assistance Grant awards grants of up to $25,000 to assist companies with similar training needs to asses worker skill gaps and to develop a

2001-2002: Teaching Assistant, Observational Astronomy (Astro 310), University of Maryland, College Park 2001-2003: Teaching Assistant, Introduction to Astrophysics I and II (Astro

In this protocol, in order to designate a cluster head, the routing data and the energy consumed in the network are conveyed as a linear system, the solution of which is computed

(3) To examine the relationship between the types of language learning motivation and achievement in Mandarin as well as metacognitive language learning strategies