introduction to lean software development and value stream mapping mikko korkala vtt technical...

20
Introduction To Lean Software Development And Value Stream Mapping Mikko Korkala VTT Technical Research Centre of Finland [email protected]

Upload: aileen-wilson

Post on 23-Dec-2015

219 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Introduction To Lean Software Development And Value Stream Mapping Mikko Korkala VTT Technical Research Centre of Finland mikko.korkala@vtt.fi

Introduction To Lean Software Development And Value Stream Mapping

Mikko KorkalaVTT Technical Research Centre of Finland

[email protected]

Page 2: Introduction To Lean Software Development And Value Stream Mapping Mikko Korkala VTT Technical Research Centre of Finland mikko.korkala@vtt.fi

219/04/23

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

Page 3: Introduction To Lean Software Development And Value Stream Mapping Mikko Korkala VTT Technical Research Centre of Finland mikko.korkala@vtt.fi

319/04/23

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

Page 4: Introduction To Lean Software Development And Value Stream Mapping Mikko Korkala VTT Technical Research Centre of Finland mikko.korkala@vtt.fi

419/04/23

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.

Page 5: Introduction To Lean Software Development And Value Stream Mapping Mikko Korkala VTT Technical Research Centre of Finland mikko.korkala@vtt.fi

519/04/23

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 commitmentMake decisions at the ”last responsible moment”.

Deliver fastDeliver smaller increments of the product in short intervals

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

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

Page 6: Introduction To Lean Software Development And Value Stream Mapping Mikko Korkala VTT Technical Research Centre of Finland mikko.korkala@vtt.fi

619/04/23

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

Page 7: Introduction To Lean Software Development And Value Stream Mapping Mikko Korkala VTT Technical Research Centre of Finland mikko.korkala@vtt.fi

719/04/23

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)

Page 8: Introduction To Lean Software Development And Value Stream Mapping Mikko Korkala VTT Technical Research Centre of Finland mikko.korkala@vtt.fi

819/04/23

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

Page 9: Introduction To Lean Software Development And Value Stream Mapping Mikko Korkala VTT Technical Research Centre of Finland mikko.korkala@vtt.fi

919/04/23

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.

Page 10: Introduction To Lean Software Development And Value Stream Mapping Mikko Korkala VTT Technical Research Centre of Finland mikko.korkala@vtt.fi

1019/04/23

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.

Page 11: Introduction To Lean Software Development And Value Stream Mapping Mikko Korkala VTT Technical Research Centre of Finland mikko.korkala@vtt.fi

1119/04/23

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.

Page 12: Introduction To Lean Software Development And Value Stream Mapping Mikko Korkala VTT Technical Research Centre of Finland mikko.korkala@vtt.fi

1219/04/23

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.

Page 13: Introduction To Lean Software Development And Value Stream Mapping Mikko Korkala VTT Technical Research Centre of Finland mikko.korkala@vtt.fi

1319/04/23

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.

Page 14: Introduction To Lean Software Development And Value Stream Mapping Mikko Korkala VTT Technical Research Centre of Finland mikko.korkala@vtt.fi

1419/04/23

Current State Value Stream Map

Sales people

Marketing

Requirements’ sources

Entering reqs. to thesystem

Analysis

ManagementAcceptance

Prioritization Release Planning

VAT: 1 hour VAT: 3 hour

VAT: 1 hour

VAT: 1 hour

VAT: 1 hour

NVAT: 5 days

NVAT: 3 days

NVAT: 4 days

NVAT: 2 days

VALUE ADDING TIME (VAT): 7 hours

NON-VALUE ADDING TIME (NVAT): 14 days Development process

Page 15: Introduction To Lean Software Development And Value Stream Mapping Mikko Korkala VTT Technical Research Centre of Finland mikko.korkala@vtt.fi

1519/04/23

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

Page 16: Introduction To Lean Software Development And Value Stream Mapping Mikko Korkala VTT Technical Research Centre of Finland mikko.korkala@vtt.fi

1619/04/23

Future State Value Stream Map

Sales people

Marketing

Requirements’ sources

Entering reqs. to thesystem

Analysis

ManagementAcceptance

Prioritization Release Planning

VAT: 1 hour VAT: 3 hour

VAT: 1 hour

VAT: 1 hour

VAT: 1 hour

NVAT: 3 days

NVAT: 2 days

NVAT: 3 days

NVAT: 2 days

VALUE ADDING TIME (VAT): 7 hours

NON-VALUE ADDING TIME (NVAT): 10 daysDevelopment process

Page 17: Introduction To Lean Software Development And Value Stream Mapping Mikko Korkala VTT Technical Research Centre of Finland mikko.korkala@vtt.fi

1719/04/23

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.

Page 18: Introduction To Lean Software Development And Value Stream Mapping Mikko Korkala VTT Technical Research Centre of Finland mikko.korkala@vtt.fi

1819/04/23

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.

Page 19: Introduction To Lean Software Development And Value Stream Mapping Mikko Korkala VTT Technical Research Centre of Finland mikko.korkala@vtt.fi

1919/04/23

Thank You!

Questions and comments, please!

Page 20: Introduction To Lean Software Development And Value Stream Mapping Mikko Korkala VTT Technical Research Centre of Finland mikko.korkala@vtt.fi

2019/04/23

VTT creates business from technology