• No results found

Lean Software Development

N/A
N/A
Protected

Academic year: 2020

Share "Lean Software Development"

Copied!
30
0
0

Loading.... (view fulltext now)

Full text

(1)

Lean software d

evelopment

principles

(2)

Lean software developmen

t principles

A lean history

The seven principle of lean

 The 22 tools of lean

(3)
(4)

History of lean thinking and lean software

development

Toyota has started in 1980s to revolutionize the automobile industry with

their approach of “Lean Manufacturing”

To eliminate waste

• To streamline the value chain(even across enterprise) • To produce on request(just in time)

• To focus on the people who add value

Lean Thinking capitalizes on the intelligence of front line workers, believing

that they are the ones who should determine and continually improve the way they do their jobs.

Mary and tom Poppendieck have transferred principles and practices from

the manufacturing environment to the software development environment.

(5)

The seven principles of lean

Eliminate waste

 Amplify learning

Decide as late as possible

Deliver as fast as possible

empower the team

Build integrity in

 See the whole

(6)

22 tools

Learn to see waste

Learn to reduce waste

Feed back

(customer and market review)

Iterations

(small increments)

Synchronization

(communication b/w stake holders)

Set Base Development

(alternative Sol and trade-offs)

Options thinking

The Last responsible moment

Making decisions

Pull systems

(resource to be consumed)

(7)

22 tools

Cost of delay

Self determination

Motivation

Leadership

Expertise

Perceived integrity

(outside org)

Conceptual integrity

(design must proceed from one mind,

or from a very small number of agreeing resonant minds)

Refactoring

Testing

Measurement

Contracts (well define agreemets)

(8)
(9)

(Eliminate waste)

What is Waste?

Anything that doesn't add value to the product

Unnecessary code or functionality

 Unclear requirements

Slow internal communications or processes

(10)

(Eliminate waste)

tool 1: Learn to see Waste

Waste of Manufacturing Waste of Software Development

Inventory Partially work done

Extra processing Paperwork or excess documentation

Overproduction Extra features

Transportation Waiting

Building the wrong thing

Motion Waiting for information

Defects Defects

(11)
(12)

(Amplify learning)

the nature of software development

Realization of purpose of use rather than conforming to requirements

Not intended to produce repeatable results, but to create solutions to unique

customer problems

Design is done best using discovery solutions: short, repeated cycles of

investigation, experimentation and check results

We like to try it, test it and fix it!

For knowledge generation(for feedback) loops are critical.

(13)

(Amplify learning)

tool 4: iterations

Are short useful cycles of software development : design programmed tested integrated delivered

 Allow an option based (open options)approach

Allow the ability to “decide as late as possible

Require team planning , short complete cycles and team commitment

(14)
(15)

(Decide as late as possible)

sequential vs concurrent

sequential concurrent

Depth first(drilling into the details too

fast) Breadth first(seeing things in full view over time)

Order of creation(on day 1, we created

requirements) Highest valued features first

Rigid , change is costly Adaptable, change is manageable

Cost escalation is high when issues are found late

Cost escalation is low, as issues are found incrementally

High stakes decisions are made based

on assumptions and with uncertainty High stakes decisions can be deferred Until the last responsible moment

(16)

(Decide as late as possible)

tool 7: options thinking

A right but not a obligation to do some thing in the future

Customer needs aren't always clear or understood

You can predict the future, so maintain flexibility ,until uncertainty is

removed

Options are like trade offs, they aren't free and have a cost

(17)
(18)

(Deliver fast as possible)

why deliver fast?

Customers like rapid delivery. Look at how UPS and FedEx provide ordered

products to customers in 1 to 3 days

 Rapid delivery means less time for customer to change their minds

In process, or partially done work can have undiscovered defects

The faster you deliver the longer you can delay decisions. Being able to

make a change in a week, lets you wait to make a decisions until that week

(19)

(deliver fast as possible)

12: cost of delay

Rapid development will save you time and money, management may think

differently

Determine what delayed delivery will cost you by using a profit and loss

statement

(20)
(21)

(Empower the team)

What is a “Mature ”Organization?

 Lean Assumption#1- a mature organization look as a whole system; it does

not only focus on optimizing disparate or separate parts

Lean Assumption#2- A mature organization focus on learning effectively and

empower the people who do the work to make decisions

(22)

(Empower the team)

tool 16: expertise

Develop and faster communication of expertise

Promote mentorship and pair programing activities

 Encourage training and continued self improvement

Develop software standard and practice them

Offer the “google” approach to personal project work=80/20

(23)
(24)

(Build integrity with in)

tool 19: refactoring

Complex system have effects that aren't understood at design time

 Architecture must remain healthy as the system matures and evolves

Maintain conceptual integrity

Simplicity: simple designs are the best

Clarity: keep code understandable

Suitability for use: design for intended purpose

No repetition: never repeat code

No extra features: don't build which is not needed

(25)
(26)

(SEE the whole)

Ask The 5 Whys!

You have increasing defects on a project you ask:

Why#1: Why?

A: New modules were added ,that are causing new issues

Why#2:Why did the new modules generate defects in other modules?

A: they were not tested

Why#3:Why where they not tested?

A:developers were pressured to deliver before testing could occur

Why#4: why was there so much pressure?

A:A manager thought a hard deadline would work to motive the developers

Why #5:why did they think this approach was necessary?

A: A manager was worried about late delivery and schedule overruns

(27)

Advantages of lean software development

Elimination of waste

Overall efficiency

Speeds up the process of software development 

Delivering the product early

More functionality in a shorter period of time

Empowerment of the development team

Motivated team

27

(28)

Disadvantages of lean software development

Dependent on cohesiveness of the team and the

individual commitments of the team members

How disciplined the team members

Business analyst is vital

Software requirements specification (SRS) to

evolve

.

28

(29)

Lean vs Agile

  Lean Software Development

Agile Method

Team Empowered Empowered

Quality Key Focus Key Focus

Improvements Continuous Continuous

Workflow Continuous Iterative

Change Limited Embraced

Applicability Repeatable Operation Complex Project Based

29

(30)

Lean vs agile

Lean Software Development Agile Method

Respect for People Self-organizing Teams

Prevent/Eliminate Waste No unused specs

Deliver Fast Time boxed iterations with working

increments

The managerial approach The Self Empowered

Reduce Cost Cost can be higher but it has

quicker response and greater flexibility

Fixed Plan Flexible Plan

30

References

Related documents

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

Food based dietary guidelines Nutrition Centre Guidelines Healthy Diet Health Council Reference intakes Health Council Nutritional composition NEVO Wo5 or not-Wo5. Amounts

• Hendri Kroukamp: Public Administration Education and Training in a developing South Africa: The Impact and Responses to Global Competitiveness.. • Koos Bekker:

Because the high phytate content of cereal grains in- hibits the bioavailability of minerals, we measured phytate levels in TaVIT2 -overexpressing lines but found no significant

If you install Oracle Database Client on a computer with no other Oracle software installed, Oracle Universal Installer creates an Oracle base directory for you.. If Oracle

Energy and Power challenge Memory and Storage challenge. Concurrency and Locality challenge

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

Due to this rare intersection of agile and open source development processes and a safety-critical domain, the IGSTK team has had to enhance the process with