Presentation

Download Report

Transcript Presentation

Introduction To Lean Software Development
And Value Stream Mapping
Mikko Korkala
VTT Technical Research Centre of Finland
[email protected]
09/04/2015
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
2
09/04/2015
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).
09/04/2015
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.
09/04/2015
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.
09/04/2015
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
09/04/2015
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)
09/04/2015
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
09/04/2015
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.
09/04/2015
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.
09/04/2015
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.
09/04/2015
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.
09/04/2015
13
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.
14
09/04/2015
Current State Value Stream Map
Requirements’
sources
VAT: 1 hour
VAT: 3 hour
NVAT: 5 days
Entering reqs. to the
system
Analysis
Sales people
NVAT: 3 days
Marketing
VAT: 1 hour
Management
Acceptance
NVAT: 4 days
VAT: 1 hour
NVAT: 2 days
VAT: 1 hour
Prioritization
Release Planning
VALUE ADDING TIME (VAT): 7 hours
NON-VALUE ADDING TIME (NVAT): 14 days
Development process
09/04/2015
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
16
09/04/2015
Future State Value Stream Map
Requirements’
sources
VAT: 1 hour
VAT: 3 hour
NVAT: 3 days
Entering reqs. to the
system
Analysis
Sales people
NVAT: 2 days
Marketing
VAT: 1 hour
Management
Acceptance
NVAT: 3 days
VAT: 1 hour
NVAT: 2 days
VAT: 1 hour
Prioritization
Release Planning
VALUE ADDING TIME (VAT): 7 hours
NON-VALUE ADDING TIME (NVAT): 10 days
Development process
09/04/2015
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.
09/04/2015
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.
09/04/2015
Thank You!
 Questions and comments, please!
19
09/04/2015
VTT creates business from
technology
20