lean sw development il tech-talks

53
Lean Thinking in Software Development ELAD SOFER – AGILE COACH [email protected] Twitter: @ eladsof Blog: blog.thescrumster.com

Upload: elad-sofer

Post on 10-May-2015

2.314 views

Category:

Technology


1 download

DESCRIPTION

A presentation from a talk i gave about the principles of lean thinking in software development

TRANSCRIPT

Page 1: Lean sw development   il tech-talks

Lean Thinking in Software Development

ELAD SOFER – AGILE [email protected]

Twitter: @eladsofBlog: blog.thescrumster.com

Page 2: Lean sw development   il tech-talks
Page 3: Lean sw development   il tech-talks

Origins of “Lean”

“Lean” originated from a benchmarking studypublished in 1990 between Japanese and US/European car manufacturers

Page 4: Lean sw development   il tech-talks

Origins of “Lean”

The study showed that for certain Japanese manufacturers:

Average productivity about 50% higherAverage quality about 50% higherProduct development about 40% faster with less people

Lean is not only in production but also in product development, sourcing, sales, customer relations

Page 5: Lean sw development   il tech-talks

Lean and TPS

The study introduce the word “lean” for the different production/thinking style.Lean is heavily based on Toyota Production System (TPS)

Page 6: Lean sw development   il tech-talks

How it all started….

Page 7: Lean sw development   il tech-talks

Taiichi Ohno

Build only what is needed Eliminate anything which does not add value Stop if something goes wrongrespects those engaged in the work strives for full utilization of worker capabilitiesplaces authority and responsibility for the work with those doing it

Page 8: Lean sw development   il tech-talks

Cargo cult lean adoption

Page 9: Lean sw development   il tech-talks

A thinking tool - not a cult

“... it was only after American carmakers had exhausted every other explanation for

Toyota’s success—an undervalued yen, a docile workforce, Japanese culture, superior automation—that they were finally able to admit that Toyota’s real advantage was its ability to harness the intellect of ‘ordinary’

employees” [Hamel06]

Page 10: Lean sw development   il tech-talks

House of Lean.

Goal:

continuousImprovement

(kaizen)

Respect for people

Management applies and teaches lean thinking.Management decisions are based on this long-term philosophy

Highest quality, lowest cost, Shortest cycle time

Product development

The 14Principles

Page 11: Lean sw development   il tech-talks

The goal (roof)

“All we are doing is looking at the time line, from the moment the customer gives us an

order to the point where we collect the cash. And we are reducing the time line by reducing

the non-value-adding wastes” [Ohno88]

Page 12: Lean sw development   il tech-talks

Value stream example

A feature is born

Waiting for PM

Waiting for TL

Analyzed Estimated Prioritized Design

Waiting for PM

Waiting for Team

Waiting for team

Coding

Waiting for tester Waiting for release date

Testing

30 min 3 weeks 2 days 5 days 1 hour 8 days 2 hour 2 hour 2 days 5 days

10 days 5 days 6 days 1 month

Cycle time : 0.1 + 21 + 2 + 5 + 0.1 + 8 + 0.2 + 0.2 + 2 + 5 + 10 + 5 + 6 + 30 = 89.6

Value time = 0.1 + 2 + 0.1 + 0.2 + 2 + 10 + 6 = 18.4

80% Waste!!!

Page 13: Lean sw development   il tech-talks

The foundation

Management applies and teaches lean thinking, and bases decisions on this long-term philosophy

All Toyota employees learn:problem solving through hands-on improvement experimentsto see how lean thinking applies in different domainskaizen mindset (continuous improvement)To appreciate a core principle in Toyota called Go See and Gemba

Page 14: Lean sw development   il tech-talks

Managers = Teachers

Culture of mentoring.“My manager can do my job better than me”Expected to understand lean thinking.In this way, the Toyota DNA is propagated

Example: Toyota HR policies include analysis of how much time managers spent in teaching.

Page 15: Lean sw development   il tech-talks

Pillar I – Respect for people

Don’t Trouble Your Customer!Develop People and Then Build ProductsManagers “Walk the Talk” Teams & Individuals Evolve Their Own Practices & ImprovementsBuild Partners

Page 16: Lean sw development   il tech-talks

Don’t Trouble Your Customer!

Customer: anyone who consumes your work or decisions.Relentlessly analyze and change to stop troubling themDon’t force people to do wasteful workDon’t give them defectsDon’t make them waitDon’t impose wishful thinking on themDon’t overload them

Page 17: Lean sw development   il tech-talks

Pillar II – Continuous improvement

Go See - GembaKaizen.The perfection challengeWork toward flow

Page 18: Lean sw development   il tech-talks

Go see – Gemba

The first factor for success in continuous improvement [Toyota Way 2001]Management should frequently go to the place of real work and see and understand for themselves

Page 19: Lean sw development   il tech-talks

Go see – Gemba

“You can’t come up with useful kaizen sitting at your desk… We have too many people these days who don’t understand the workplace…

They think a lot, but they don’t see. I urge you to make a special effort to see what’s

happening in the workplace. That’s where the facts are”

[Michikazu Tanaka]

Page 20: Lean sw development   il tech-talks

Kaizen

Mindset: My work is to do my work and to improve my work.

Practice:Choose and practice techniques the team has agreed to try, until they are well understood—that is, master standardized workExperiment until you find a better wayRepeat forever

Page 21: Lean sw development   il tech-talks

Kaizen – Remove waste

Value: The moments of action or thought creating the product that the customer is willing to pay for.Waste: All other moments or actions that do not add value but consume resources.value ratio =total-value-time / total-cycle-time

Page 22: Lean sw development   il tech-talks

Waste (1)

Overproductionfeatures or services the customer doesn’t wantlarge engineering documents, more detailed designs than can be quickly implementedduplication of data

Waiting / delayfor clarificationDocumentsApprovalComponentsother groups to finish something

Page 23: Lean sw development   il tech-talks

Waste (2)

Handoff, conveyance, moving Giving a specification from an analyst to an engineerGiving a component to another group for testing

Extra processing Relearning, lose of information.Forced conformance to centralized process checklists ofRecreating something made

Page 24: Lean sw development   il tech-talks

Waste (3)

Partially done work – WIP \ DIPDesigns documented but not builtThings built but not integrated or testedThings tested but not delivered.

Task switchingInterruptionMultitasking on 3 projectsPartial allocation of a person to many projects

Page 25: Lean sw development   il tech-talks

Waste (4)

Under-realizing peoplePeople only working to single speciality jobDo people have the chance to change what they see is waste.

Information scatter or loss Information spread across many separate documents Communication barriers such as walls between people, or people in multiple locations.

Page 26: Lean sw development   il tech-talks

Waste (5)

Wishful thinking“We MUST follow the plan”“The estimate cannot increase; the effort estimate is what we want it to be, not what it is now proposed.”“We’re behind schedule, but we’ll make it up later.”

Page 27: Lean sw development   il tech-talks

Kaizen events

A regular and frequent cadence of events is desirable (Daily\weekly)Steps in a Kaizen event:

Analyze some current situation until it is well-understood.Design experiments for improvementDuring this analysis and design, focus on activities rather sitting around a table and talking.

Page 28: Lean sw development   il tech-talks

The perfection challenge

Traditional mindset: Why should we change? We’re making good money, and have established processes…

You will NEVER hear this question at Toyota!

Page 29: Lean sw development   il tech-talks

Work toward flow

Move to ever-smaller batch sizes and cycle times to deliver value fast & expose weakness.Associated with applied queuing theory, pull systems, and more.

Page 30: Lean sw development   il tech-talks

Product development

Outlearn the competition.Focus on uncertain thingsFocus on early testing and feedbackIntensive customer investigation.Reuse knowledge.

MentoringRecord experiments and use the data.

Challenge everything.Cadence (Rhythm)

Page 31: Lean sw development   il tech-talks

The 14 Principles (1-7)1. Base management decisions on a long-term philosophy, even at the

expense of short-term financial goals.2. Move toward flow; move to ever-smaller batch sizes and cycle

times to deliver value fast & expose weakness.3. Use pull systems; decide as late as possible.4. Level the work—reduce variability and overburden to remove

unevenness.5. Build a culture of stopping and fixing problems; teach everyone to

methodically study problems.6. Master norms (practices) to enable kaizen employee

empowerment.7. Use simple visual management to reveal problems and coordinate.

Page 32: Lean sw development   il tech-talks

The 14 Principles (8-14)8. Use only well-tested technology that serves your people and process.9. Grow leaders from within who thoroughly understand the work, live

the philosophy, and teach it to others.10. Develop exceptional people and teams who follow your company’s

philosophy11. Respect your extended network of partners by challenging them to

grow and helping them improve12. Go see for yourself at the real place of work to really understand the

situation and help.13. Make decisions slowly by consensus, thoroughly considering options;

implement rapidly.14. Become and sustain a learning organization through relentless

reflection and kaizen.

Page 33: Lean sw development   il tech-talks

Long term philosophy

Refrain from local optimization.Optimize the whole.

Page 34: Lean sw development   il tech-talks

Move towards flow

Reduce cycle time.Reduce batch sizeReduce delaysReduce WIP

A Perfection challenge.

Page 35: Lean sw development   il tech-talks

Move towards flow

Feedback time

Batch size

$

Transaction costs

Efficiency

Queue size

Cycle Time

QualityInnovation

Page 36: Lean sw development   il tech-talks

Use Pull systems

Everyone are customers.Don’t do anything unless the customers asks you to.Why pull?

Expose defects early.Decide at the last responsible moment.

A Perfection challenge.

Page 37: Lean sw development   il tech-talks

Level the work - Variability

Reduce Variability:Varying cycle lengthsVarying batch sizes of work packagesVarying size of one work packageVarying teamsVarying delivery timesDefectsIrregular arrival of requests.

How?Cadence, sustainable pace.Decompose work into smaller package.

Page 38: Lean sw development   il tech-talks

Level the work - Overburden

Reduce OverburdenOvertime for fake deadlines.Asking too much of people.Specialists as bottlenecks.

How?Detect queues and bottlenecks and eliminate.Take on less work. Descope.Spread skill and knowledge.

Page 39: Lean sw development   il tech-talks

Stop the line - JIDOKA

When someone finds a defect:Stop the line.Take the necessary time to analyze the problem.Fix it.Continue the line.

Sends the right message

Page 40: Lean sw development   il tech-talks

Simple visual management

Toyota uses BIG visual tools to signal problems, communicate, and coordinate a pull system.Color coding.Kanban – Visual card.Andon – Error display.

Page 41: Lean sw development   il tech-talks
Page 42: Lean sw development   il tech-talks

Examples of Visual

managementIn Software

Page 43: Lean sw development   il tech-talks

Kan – banVISUAL CARD

Page 44: Lean sw development   il tech-talks

Kanban - General

A system to manage work.A pull system focusing on visibility.A system to help limit the WIP.Focus on speed (Cycle time)

Not a complete solution, should be embedded within another solution.

Page 45: Lean sw development   il tech-talks

Kanban – Step 1 - Analyze work

Identify the different process stages.Put them in the order of work.Map tasks into the different stages.

Page 46: Lean sw development   il tech-talks

Kanban – Step 2 - Visualize work

Create a Kanban board.Each work item is a card.Each step is a column.Each column has two parts:

In workDone

Page 47: Lean sw development   il tech-talks

Kanban – Step 3 – Work!

Focus on speed of getting stuff Done.Go as fast as you responsibly can.Focus on the Baton,not the runners.

Page 48: Lean sw development   il tech-talks
Page 49: Lean sw development   il tech-talks

Kanban – Step 3 – Limit WIP

Remember what you “Noticed”.Limit the WIP to what you find matching your needs.Respect the WIP limitIf a queue is full throw out something else.

Page 50: Lean sw development   il tech-talks

Kanban – Step 4 – Measure

Cycle time.Why item X took twice as much as item Y.

Delay time for each queue.Why was item X delayed more than item Y.

Measure queue sizes.Why is this queue always empty \ full.

Visualize the data.Generate cumulative flow charts.

Page 51: Lean sw development   il tech-talks

Cumulative flow chart

Page 52: Lean sw development   il tech-talks

Books…

Page 53: Lean sw development   il tech-talks