lean at yahoo in 2008

28
Lean Software Development Alexandre Boutin Responsable Stratégie International Développement Logiciel chez Yahoo Scrum Master & Practitioner Certifié – Coach Agile Blog : www.agilex.fr Président du Club Agile Rhône Alpes

Post on 14-Sep-2014

904 views

Category:

Documents


1 download

DESCRIPTION

this presentation gives you an indication on how Yahoo translated the 7 wastes/muda to the IT-environment

TRANSCRIPT

Page 1: Lean at Yahoo in 2008

Lean Software Development

Alexandre BoutinResponsable Stratégie International Développement Logiciel chez Yahoo

Scrum Master & Practitioner Certifié – Coach Agile

Blog : www.agilex.fr

Président du Club Agile Rhône Alpes

Page 2: Lean at Yahoo in 2008

2- 2 -

• Overview– Lean Software Development

• The 7 Lean Principles– Eliminate Waste

– Improve the system

– Build Quality In

– Defer Commitment

– Deliver Fast

– Respect People

– Create Knowledge

Agenda

Page 3: Lean at Yahoo in 2008

3- 3 -

• LEAN, at its core, is a management approach for streamlining production systems by

– Streamlining the value chain (even across companies)

– Eliminating waste from the flow

– Being disciplined about “when” decisions are made

– Leveraging people as the most flexible resource in the system,

• LEAN offers a set of tools to challenge our beliefs and find better way to deliver product

• Mary and Tom Poppendieck have transferred principles and practices from the manufacturing environment to the software development

• Mary said: “There is nothing directly relating the LEAN and AGILE concepts, yet they fit together nicely in a software organization.”

Overview - LEAN

Page 4: Lean at Yahoo in 2008

4- 4 -

• Overview– Lean Software Development

• The 7 Lean Principles– Eliminate Waste

– Improve the system

– Build Quality In

– Defer Commitment

– Deliver Fast

– Respect People

– Create Knowledge

Agenda

Page 5: Lean at Yahoo in 2008

5- 5 -

The Seven Wastes

1. Partially Done Work

2. Extra Features

3. Extra Processes

4. Task Switching

5. Handoffs

6. Delays

7. Defects

The 7 Wastes of software DevelopmentThe 7 Wastes of software DevelopmentThe Seven Wastes of Manufacturing The Seven Wastes of Manufacturing

-- Shigeo ShingoShigeo Shingo

1. Inventory

2. Overproduction

3. Extra Processing

4. Motion

5. Transportation

6. Waiting

7. Defects

Principle 1: Eliminate Waste

Page 6: Lean at Yahoo in 2008

6- 6 -

Extra Features

Features and Functions Used in a Typical System

Standish Group Study Reported at XP2002 by Jim Johnson, Chairman

Always

7%

Often

13%

Sometimes16%

Rarely19%

Never45%

Rarely or Never

Used: 64%

Often or AlwaysOften or Always

Used: 20%Used: 20%

Principle 1: Eliminate Waste

Page 7: Lean at Yahoo in 2008

7- 7 -

Value Stream Mapping

Example

Principle 1: Eliminate Waste

1 week 1 week 6 weeks working together

Page 8: Lean at Yahoo in 2008

8- 8 -

• Overview– Lean Software Development

• The 7 Lean Principles– Eliminate Waste

– Improve the system

– Build Quality In

– Defer Commitment

– Deliver Fast

– Respect People

– Create Knowledge

Agenda

Page 9: Lean at Yahoo in 2008

9- 9 -

Brilliant Products

• The job that customers

need done

• The right technology

to do that job

UnderstandsThe Business

UnderstandsThe Technology

Mind Meld

Principle 2: Improve the system

Breaking the Customer / Supplier model

Page 10: Lean at Yahoo in 2008

10- 10 -

Think Products, not Projects

ProjectsProjects• Up-front funding

• Scope fixed at onset

• Success =

cost/schedule/scope

• Team disbands at completion

• Documentation tossed

over-the-wall to maintenance

ProductsProducts• 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

System ThinkingSystem Thinking

Principle 2: Improve the system

Page 11: Lean at Yahoo in 2008

11- 11 -

Architecture

• The Role of Systems Design (Architecture):

– Provide a foundation for growth

• Create a common infrastructure

– Enable incremental development

• Minimize dependencies

• Modularize potential change

– Create space for teams to innovate

• Design, code and test are different aspects of the same job and must be done concurrently

– Leave room for the future

• Evolve the architecture over time

Principle 2: Improve the system

Page 12: Lean at Yahoo in 2008

12- 12 -

• Overview– Lean Software Development

• The 7 Lean Principles– Eliminate Waste

– Improve the system

– Build Quality In

– Defer Commitment

– Deliver Fast

– Respect People

– Create Knowledge

Agenda

Page 13: Lean at Yahoo in 2008

13- 13 -

Continuous Integration

• 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

Principle 3: Build Quality In

Page 14: Lean at Yahoo in 2008

14- 14 -

Technical Debt

Anything that makes code difficult to change increases the Technical Debt

• Complexity

The cost of complexity is exponential.

• Regression Deficit

Every time you add new featuresthe regression test grows longer!

• Unsynchronized Code Branches

The longer two code branches remain apart, the more difficult merging will be.

You can pay full price for code when you build it or you can incur technical debt.

But interests rates are very high.

Hig

h T

echnical D

ebt

Low Technical Debt

Principle 3: Build Quality In

Page 15: Lean at Yahoo in 2008

15- 15 -

Testing contribution to quality

Two Kinds of Inspection

• Inspection to Find Defects – is WASTE

• Inspection to Prevent Defects – is Essential

The Role of Testing

• The job of Testing is not to find defects

• The job of Testing is to prevent defects.

• A quality process builds quality into the code

If you routinely find defects during verification

� Your process is defective.

Principle 3: Build Quality In

Page 16: Lean at Yahoo in 2008

16- 16 -

• Overview– Lean Software Development

• The 7 Lean Principles– Eliminate Waste

– Improve the system

– Build Quality In

– Defer Commitment

– Deliver Fast

– Respect People

– Create Knowledge

Agenda

Page 17: Lean at Yahoo in 2008

17- 17 -

Change Tolerant Software

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

• A development process that anticipates change will result in software that tolerates change.

• System architecture should support the addition of any feature at any time

• Make decisions reversible reversible whenever possible.

• Make irreversibleirreversible decisions as late as possible.

– Ex: When do you really need the user interface designed?

Principle 4: Defer Commitment

Page 18: Lean at Yahoo in 2008

18- 18 -

Set-Based Engineering

• Multiple options are prepared for the decision.

• There is always an option that will work.

• Paradox:

This is This is notnot waste!waste!

Technical

CapabilitiesBusiness Logic

Approaches

GUI Alternatives

Accept

able

Analyze &

Critique

Modify

ArchitectArchitect

DevelopersDevelopers

TestersTesters

UI UI

DesignersDesigners

Product ManagerProduct Manager

Design

Solution

PointPoint--Based Based SetSet--Based Based

Principle 4: Defer Commitment

Page 19: Lean at Yahoo in 2008

19- 19 -

• Overview– Lean Software Development

• The 7 Lean Principles– Eliminate Waste

– Improve the system

– Build Quality In

– Defer Commitment

– Deliver Fast

– Respect People

– Create Knowledge

Agenda

Page 20: Lean at Yahoo in 2008

20- 20 -

Push vs Pull

Principle 5: Deliver Fast

Page 21: Lean at Yahoo in 2008

21- 21 -

Iterative Development

SCRUM

KANBAN

Page 22: Lean at Yahoo in 2008

22- 22 -

• Overview– Lean Software Development

• The 7 Lean Principles– Eliminate Waste

– Improve the system

– Build Quality In

– Defer Commitment

– Deliver Fast

– Respect People

– Create Knowledge

Agenda

Page 23: Lean at Yahoo in 2008

23- 23 -

Environment

A TEAM

Page 24: Lean at Yahoo in 2008

24- 24 -

Provide Effective Leadership

Process LeaderProcess Leader• Build Block Disciplines

• Iterative Development

• Visible Workspace

Project LeaderProject Leader• Funding

• (Scheduling)

• Tracking

Functional LeaderFunctional Leader• Staffing

• Teaching

• Standards

Marketing LeaderMarketing Leader• Business Responsibility

• Customer Understanding

• Roadmap Planning

• Tradeoffs

Technical LeaderTechnical Leader• System Architecture

– At a high level

– Work daily with those developing the details

• Technical Guidance

– Integration

– Tradeoffs

Principle 6: Respect People

Page 25: Lean at Yahoo in 2008

25- 25 -

• Overview– Lean Software Development

• The 7 Lean Principles– Eliminate Waste

– Improve the system

– Build Quality In

– Defer Commitment

– Deliver Fast

– Respect People

– Create Knowledge

Agenda

Page 26: Lean at Yahoo in 2008

26- 26 -

Predictable performance is driven by

feedback

• Set Up the feedback Loop

– The job that customers need done

– The right technology to do that job

– Do it often and regularly

UnderstandsThe Business

UnderstandsThe Technology

Mind Meld

• Stop asking for

– More documentation, more details in requirements, more plans, more commitments …

• Deliver!

– Prototype, Minimum Features set, Draft document …

• Then ask for Feedback

Principle 7: Create Knowledge

Page 27: Lean at Yahoo in 2008

27- 27 -

The A3 Report The A3 Report

Two sheets of letter paper

Capturing Knowledge

Principle 7: Create Knowledge

Standards Standards

1 A4 page

Page 28: Lean at Yahoo in 2008

Thank You!