Presentation

advertisement

Introduction To Lean Software Development

And Value Stream Mapping

Mikko Korkala

VTT Technical Research Centre of Finland mikko.korkala@vtt.fi

15/04/2020 2

Contents of the presentation

 Introduction to Lean Software Development

 Origins of Lean Software Development

 Principles of Lean Management and Lean Software

Development

 Comparison of Lean and Agile Principles

 The concept of waste

 The Seven Wastes of Software Development

 Value Stream Mapping

 The purpose of Value Stream Mapping

 How Value Stream Maps are done

 An example of a Value Stream Mapping

 Suggested readings

15/04/2020 3

Origins of Lean Software Development

 Originates from Toyota Production System (TPS)

 Called also Kanban or Just-In-Time system

 Post WWII Japanese automobile industry could not compete with U.S. mass production systems

 Inspiration for TPS found in the 1950 ’s from U.S. supermarkets

 Customers could get what they wanted, when they wanted it and shelves were refilled when items were about to run out.

 The concepts transferred to the domain of software engineering by

Mary and Tom Poppendieck (2003, 2007).

15/04/2020 4

Lean Management Principles

(Liker 2004)

 Base your management decisions on a long-term philosophy, even at the expense of short-term financial goals.

Create continuous process flow to bring problems to the surface.

Use “ pull ” systems to avoid overproduction.

 Level out the workload.

 Build a culture of stopping to fix problems to get quality right the first time.

 Standardized tasks are the foundation for continuous improvement and employee empowerment.

 Use visual control so no problems are hidden.

Use only reliable, thoroughly tested technology that serves your people and processes.

 Grow leaders who thoroughly understand the work, live the philosophy and teach it to others.

Develop exceptional people and teams who follow your company ’ s philosophy.

 Respect your extended network of partners and suppliers by challenging them and helping them improve.

 Go and see for yourself to thoroughly understand the situation.

Make decisions slowly by consensus, thoroughly considering all options; implement decisions rapidly.

Become a learning organization through relentless reflection and continuous improvement.

15/04/2020 5

The Principles of Lean Software Development

( Poppendieck & Poppendieck, 2007.)

 Eliminate waste

Waste is something that does not add value. For example unnecessary work.

Build quality in

QA should not be a separate phase at the end of the project. Instead, it should be continuous and something that is constantly improved. Automatization and refactoring as tools.

 Create knowledge

Share information, teach others.

 Defer commitment

Make decisions at the

”last responsible moment”.

 Deliver fast

Deliver smaller increments of the product in short intervals

 Respect people

Respect colleagues, let people decide what and how to do it in order to meet goals

Optimize the whole

Optimize the whole value chain from customer request to complete product. See the whole.

15/04/2020 6

Comparison Of Lean and Agile Principles

 Eliminate waste

Simplicity is essential

Satisfy customer through early and continuous delivery

 Working software is the primary measure of progress

 Build quality in

 Working software is the primary measure of progress

Create knowledge

Regular reflection

 Close collaboration

 Defer commitment

 Welcome changes

Deliver fast

Deliver fast and frequently

 Satisfy customer through early and continuous delivery

 Respect people

 Self-Organizing Teams

Optimize the whole

All agile principles

15/04/2020 7

The Lean Manifesto?

 Itsekussakin työssä ja toimessa tulee ennenkaikkea kysyä, mikä arvo ja hyödytys niillä on; sillä työ, millä ei hyödytystä ole, on parempi tekemätönnä, kun tehtynä.

(Elias Lönnrot, in the city of Kajaani, Finland. October 23, 1841)

15/04/2020 8

The Lean Manifesto?

 Considering what ever work or action one should above all ask, what is the benefit and value of it; because work that does not benefit is better left undone

15/04/2020 9

Waste in Software Development

 Something that does not create value

 Two categories of waste (Muda in Japanese)

 Type One muda : something that does not create customer value but cannot be removed from the current production environment

 Type Two muda : non-value adding activities that can be eliminated immediately.

 Value Stream Mapping is a method for identifying and eliminating waste

The definitions of muda are from: J. P. Womack and D. T. Jones, Lean

Thinking: Banish Waste and Create Wealth in Your Corporation. New

York, NY, USA: Simon & Schuster, 1996, pp. 350.

15/04/2020 10

The Seven Wastes of Software Development

 Partially done work.

Something that is not done. E.g. untested code, undocumented or not maintained code.

 Extra features. Something that is not really needed.

 Relearning (waste of knowledge).

E.g. forgetting decisions, re-trying solutions already tried, the inability to utilize the knowledge of other people.

 Handoffs.

Passing the information/work to someone else, getting information/work from someone else.

 Task switching.

How many other tasks people need to do. E.g. the amount of projects done simultaneously.

 Delays. Waiting for something.

 Defects. Something that does not meet the targets, or is not what it is supposed to be. E.g. software bugs, incorrectly implemented business requirements.

Poppendieck & Poppendieck, 2007. Implementing Lean Software

Development: From Concept to Cash . Addison-Wesley.

15/04/2020 11

Value Stream Mapping

 Aims to map and visualize each individual step e.g. in product development from customer request to completed product .

 The target is to identify the steps and actions that create customer value and the steps and actions that can be considered as waste.

 Concrete actions for removing the type two waste are planned.

 Even though the focus is on ”optimizing the whole”, Value

Stream Mapping can be applied to smaller processes as well.

15/04/2020 12

Value Stream Mapping Process

 Three general steps (Abdulmalek and Rajkopal):

1.

Choose a particular product or product family as the target for improvement.

2.

Draw a current state map of the process. This can be seen as a snapshot of how things are currently being done and is created by “ walking along ” the process. This provides the basis for analyzing the system and identifying its weaknesses.

3.

Create a future state map. This is a picture that depicts how the system should look like when wastes have been removed.

 The weaknesses of the process can be further elaborated for example by applying the technique of “Five Why’s” which aims to identify the root-cause behind the weaknesses.

 Value Stream Mapping is not a process conducted just once.

Follow the continuous improvement philosophy of Lean (Kaizen).

F. A. Abdulmalek and J. Rajgopal. Analyzing the benefits of lean manufacturing and value stream mapping via simulation: A process sector case study. Int. J.

Production Economics 107(1), 2007. pp. 223-236.

13 15/04/2020

An Example of Value Stream Mapping

Inspired By A Real Life Experience From

Software Industry

 Large software intensive company using an agile process.

 Group of people responsible for gathering and managing software requirements before they entered development stage.

 Their work was selected as the the process to be analyzed and improved.

15/04/2020 14

Requirements’ sources

Sales people

Marketing

Current State Value Stream Map

VAT: 1 hour

Entering reqs. to the system

NVAT: 5 days

VAT: 3 hour

Analysis

NVAT: 3 days

VAT: 1 hour

Management

Acceptance

NVAT: 4 days

VAT: 1 hour Prioritization

VAT: 1 hour

NVAT: 2 days

Release Planning

VALUE ADDING TIME (VAT): 7 hours

NON-VALUE ADDING TIME (NVAT): 14 days

Development process

15/04/2020 15

Examples of Wastes and Improvement Suggestions

 Entering requirements to the system

Partially done work

 Incomplete requirements

 Improvement

Guidelines for preparing the requirements and entering the requirements to the system

 Prioritization

 Delay

Waiting for someone to do the prioritization.

 Improvement

 The need for people is to be planned more accurately beforehand

 Process steps consuming time

 Management acceptance

 Type One muda

15/04/2020 16

Requirements’ sources

Sales people

Marketing

Future State Value Stream Map

VAT: 1 hour

Entering reqs. to the system

NVAT: 3 days

VAT: 3 hour

Analysis

NVAT: 2 days

VAT: 1 hour

Management

Acceptance

NVAT: 3 days

VAT: 1 hour Prioritization

VAT: 1 hour

NVAT: 2 days

Release Planning

VALUE ADDING TIME (VAT): 7 hours

NON-VALUE ADDING TIME (NVAT): 10 days

Development process

15/04/2020 17

Experiences From Value Stream Mapping

Process

 It makes one really think how things are done, what could be improved and how.

 Provides a more clear picture of the work process.

 Achieving concensus on how things are done and for how long something takes is not straightforward. There are different views to the work process, even though a documented process exists.

15/04/2020 18

Suggested Readings

 Ohno, T., 1988. Toyota Production System: Beyond Large-Scale

Production. Productivity Press.

 Womack, J.P and Jones, D.T. Lean Thinking: Banish Waste and

Create Wealth in Your Corporation. New York, NY, USA: Simon &

Schuster, 1996.

 Liker, J.K., “ The Toyota Way. 14 Management Principles from the

World ’ s Greatest Manufacturer ” , McGraw-Hill, New York, USA.

2004. 330 p.

 Poppendieck, M. and Poppendieck, T., 2003. Lean Software

Development: An Agile Toolkit. Addison-Wesley, Upper Saddle

River, NJ, USA.

 Poppendieck, M and Poppendieck, T., 2007. Implementing Lean

Software Development: From Concept to Cash . Addison-Wesley.

Thank You!

 Questions and comments, please!

15/04/2020 19

15/04/2020 20

VTT creates business from technology

Download