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
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
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
(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
( 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
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
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
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
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
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
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
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
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
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
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.
Questions and comments, please!
15/04/2020 19
15/04/2020 20