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