• No results found

Lean Software Development

N/A
N/A
Protected

Academic year: 2021

Share "Lean Software Development"

Copied!
28
0
0

Loading.... (view fulltext now)

Full text

(1)

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

(2)

- 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

(3)

- 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

(4)

- 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

(5)

- 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 Development The 7 Wastes of software Development The 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

(6)

- 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%

Sometimes

16% Rarely

19%

Never 45%

Rarely or Never Used: 64%

Often or Always Often or Always

Used: 20%

Used: 20%

Principle 1: Eliminate Waste

(7)

- 7 - 7

Value Stream Mapping

Example

Principle 1: Eliminate Waste

1 week 1 week 6 weeks working together

(8)

- 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

(9)

- 9 - 9

Brilliant Products

• The job that customers need done

• The right technology to do that job

Understands The Business

Understands The Technology Mind Meld

Principle 2: Improve the system

Breaking the Customer / Supplier model

(10)

- 10 - 10

Think Products, not Projects

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

Concept Feasibility

Internal Release

Alpha Release

Beta Release

First Production Release

Major Release

Dot upgrade

System Thinking System Thinking

Principle 2: Improve the system

(11)

- 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

(12)

- 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

(13)

- 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

(14)

- 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 features the 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.

High Techn

ical D ebt Low Technical Debt

Principle 3: Build Quality In

(15)

- 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

(16)

- 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

(17)

- 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 whenever possible.reversible

• Make irreversible decisions as late as possible. irreversible

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

Principle 4: Defer Commitment

(18)

- 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 Capabilities Business Logic

Approaches

GUI Alternatives Accept

able

Analyze &

Critique

Modify Architect

Architect

Developers Developers Testers Testers

UI UI

Designers Designers Product Manager Product Manager Design

Solution

Point

Point--Based Based

Set-Set-Based Based

Principle 4: Defer Commitment

(19)

- 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

(20)

- 20 - 20

Push vs Pull

Principle 5: Deliver Fast

(21)

- 21 - 21

Iterative Development

SCRUM

KANBAN

(22)

- 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

(23)

- 23 - 23

Environment

A TEAM

(24)

- 24 - 24

Provide Effective Leadership

Process Leader Process Leader

Build Block Disciplines

Iterative Development

Visible Workspace

Project Leader Project Leader

Funding

(Scheduling)

Tracking

Functional Leader Functional Leader

Staffing

Teaching

Standards

Marketing Leader Marketing Leader

Business Responsibility

Customer Understanding

Roadmap Planning

Tradeoffs

Technical Leader Technical Leader

System Architecture

– At a high level

– Work daily with those developing the details

Technical Guidance

– Integration – Tradeoffs

Principle 6: Respect People

(25)

- 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

(26)

- 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

Understands The Business

Understands The 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

(27)

- 27 - 27

The A3 Report The A3 Report

Two sheets of letter paper

Capturing Knowledge

Principle 7: Create Knowledge

Standards Standards

1 A4 page

(28)

Thank You!

References

Related documents

The two nesting sites just found in the Agua Dulce and Xola-Paramán lagoons add to a total of 19 nesting sites of the Van Rossem’s Gull-billed Tern recorded on the Pacific

The College has restructured to 4 academic divisions to better align programs with potential career and transfer tracks for students, as well as aid in the retention of students

Because all the non-parametric species richness estimators reached an asymptotic value with sampling addition, and gave similar predictions of species richness that were also similar

• multiply and divide integers using one of two methods: the table method or the like/unlike method.. Integers – Multiplying and

With a significant interaction term, the corresponding covariates (main effects) remained in the model. When taxon appeared not significant in a model, it was discarded from the

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

Ing. Josef Soukup, CSc., Univerzita J. Jaromír Zelenka, CSc., Dopravní fakulta Jana Pernera, Univerzita Pardubice, Č R prof. István Zobory, Faculty of Transportation