Title: Introduction To Lean Software Development And Value Stream Mapping
1Introduction To Lean Software Development And
Value Stream Mapping
- Mikko KorkalaVTT Technical Research Centre of
Finland - mikko.korkala_at_vtt.fi
2Contents 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
3Origins 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 1950s 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).
4Lean 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 companys 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.
5The 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.
6Comparison 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
7The 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)
8The 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
9Waste 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.
10The 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.
11Value 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.
12Value Stream Mapping Process
- Three general steps (Abdulmalek and Rajkopal)
- Choose a particular product or product family as
the target for improvement. - 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. - 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 Whys 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.
13An 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.
14Current State Value Stream Map
15Examples 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
16Future State Value Stream Map
17Experiences 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.
18Suggested 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 Worlds 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.
19Thank You!
- Questions and comments, please!
20VTT creates business from technology