applying lean techniques in software

21
APPLYING LEAN TECHNIQUES IN SOFTWARE Archana Joshi Sr. Manager - Cognizant [email protected] http://in.linkedin.com/in/arcjoshi March 2014 1 Computer Society of India (CSI) & Software Process Improvement Network (SPIN), Pune Chapters

Upload: archana-joshi

Post on 23-Jan-2015

165 views

Category:

Technology


0 download

DESCRIPTION

 

TRANSCRIPT

Page 1: Applying lean techniques in software

APPLYING LEAN TECHNIQUES IN

SOFTWARE

Archana Joshi

Sr. Manager - Cognizant

[email protected]

http://in.linkedin.com/in/arcjoshi

March 2014

1

Computer Society of India (CSI) &

Software Process Improvement Network (SPIN), Pune Chapters

Page 2: Applying lean techniques in software

Agenda

a) What is Lean:

Lean Origins

Lean Philosophy

b) Lean Techniques:

Value Stream Mapping

Visual Controls

Dependency Structure Matrix

Poka Yoke

2

Page 3: Applying lean techniques in software

Have you heard this on Lean?

3

Page 4: Applying lean techniques in software

Lean Origins

4

By the early 60's Toyota had developed a system to design, manufacture and market a product that changed the World.

It allowed them to make vehicles of a higher quality, in a shorter time frame, at lower cost with more variety; these tools can be used to improve almost any business.

Page 5: Applying lean techniques in software

Lean Philosophy

5

Lean - A philosophy and a mindset to Remove Waste and

get More from Less

It aims at shortening turn around time, improving product

and service quality while cost is reduced to minimum

possible levels

Page 6: Applying lean techniques in software

Lean Elements

6

LEAN Principles

VALUE

MURA

MUDA

MURI

Page 7: Applying lean techniques in software

7

MUDA

Over

Production

Over

Processing

Unnecessary

Motion Unnecessary

Inventory

Waiting

Transportation

Defects

Waiting for

info,

Handoffs

Documentation/paperwork/

code that does not contribute to final

product, Unnecessary meetings

Task Switching.

Doing work

manually

Partially

Done Work

Building the

wrong thing Defects and

Rework

Adding

Unnecessary

features

Page 8: Applying lean techniques in software

Exercise 1 – Identify the types of waste

• Groups of 5

• One person is scribe, 4 are Product Owners

• Scribe has to write all their names one after another

• Only after each name is complete can it be considered as done

• Round 1:

• Each one to tell one letter in their name and move on to other person

• Repeat until all letters and all names are done

• Measure cycle time for each and total response time

• Identify types of waste

• Round 2:

• Each one to tell one letter in their name, complete all letters in the name and then move on to other person

• Repeat until all names are done

• Measure cycle time for each and total response time

8

Page 9: Applying lean techniques in software

9

Mura:

Variability/Inconsistency

MURA Muri:

Physical Strain /

Over Burden

MURI

Page 10: Applying lean techniques in software

Lean Principles

10

• Specific product that meets a customer’s needs at a specific price and specific time Value

• Set of specific actions required to deliver value

Value Stream

• Parts “flow” through a Value Stream

Flow

• Nothing is produced by the upstream provider until the downstream customer signals a need Pull

• The complete elimination of all waste, so that all activities along a value stream add value to the product

Perfection

Page 11: Applying lean techniques in software

Lean Techniques

11

5S

Automate

5 Whys

Competency Maps

Pugh matrix

Work load levelling

Jidoka

DSM

Single Minute Exchange of Die

Takt time

Go See Yourself (Gemba)

Poka Yoke

Value Stream mapping

Visual Controls

Page 12: Applying lean techniques in software

Value Stream Map

12

Input Output

Process

Current State

Identify current activities from the value stream

Identify Value added activities

Optimize Non Value Added activities

Future State

Page 13: Applying lean techniques in software

Exercise 2 – Value Stream Map

13

1 2

3

4

5

6

7

8

9 10 11

12

13

VAT = 8

NVAT = 14

Efficiency = 8/(14+8) = 36%

Value: Bug to be fixed

Page 14: Applying lean techniques in software

Dependency Structure Matrix

14

• Emerged in 1980 and is promoted by MIT

• A mathematical (square matrix) and visual representation of the

dependencies between various entities in a system

• Entities could be user stories, requirements, tests, tasks,

modules

• www.dsmweb.org

Page 15: Applying lean techniques in software

Exercise 3 – Dependency Structure Matrix

15

Tasks

Decision to conduct conference 1

Fix convenient date of the conference 2

Fix venue 3

Identify conference key note speaker 4

Invite the key note speaker 5

Prepare attendees list 6

Send Invitations to attendees 7

Arrangement for accommodation 8

Arrangement for beverages and food 9

Buy takeaways for attendess 10

Buy gift for key note speaker 11

Arrangements for transportation 12

Page 16: Applying lean techniques in software

Visual Controls

16

Visual Controls

Track and monitor

Surface inherent problems

Reveal Deviations

Identify potential risks

Improve process flow

& transparency

Page 17: Applying lean techniques in software

Exercise 4 – Visual Controls

17

Analysis Design Test UT Develop Build Backlog

WIP DONE WIP DONE WIP DONE WIP DONE WIP DONE Fulfillment Requests

3 3 5 4 5 4 4

Value

WIP

Limits Activity

Map Team Name: Iteration No.

Page 18: Applying lean techniques in software

Poka Yoke – Mistake Proofing

18

A poka-yoke is any mechanism in a lean manufacturing process that

helps an equipment operator avoid (yokeru) mistakes (poka).

Its purpose is to eliminate product defects by preventing, correcting, or

drawing attention to human errors as they occur

USB Cable

Laptop Charger

Page 19: Applying lean techniques in software

Exercise 5 – Poka Yoke

19

Sam is an UX designer for a data entry application for a Bank. As part of the UX

design he has got following requirements. He needs to design UI based on the

requirements. Can you help Sam with identifying Poka Yoke elements that he

can introduce in his UX design?

Requirements

1. User should be able to enter data in 1 minute

2. Data consists of Client Name, Client Phone Number and Bank Account

3. User should have access only to enter information but not edit existing

information

Page 20: Applying lean techniques in software

Lean focus areas

20

Deliver Value

(Value, Pull)

Eliminate Waste

(Value Stream)

Continuous Improvement

(Perfection)

Page 21: Applying lean techniques in software

THANK YOU Archana Joshi

[email protected]

http://in.linkedin.com/in/arcjoshi

21