1 / 20

Introduction To Lean Software Development And Value Stream Mapping

Introduction To Lean Software Development And Value Stream Mapping. Mikko Korkala VTT Technical Research Centre of Finland mikko.korkala@vtt.fi. Contents of the presentation. Introduction to Lean Software Development Origins of Lean Software Development

ledell
Télécharger la présentation

Introduction To Lean Software Development And Value Stream Mapping

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


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

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

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

  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.

  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.

  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

  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)

  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

  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.

  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.

  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.

  12. Value 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 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. 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. Current State Value Stream Map

  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. Future State Value Stream Map

  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.

  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.

  19. Thank You! • Questions and comments, please!

  20. VTT creates business from technology

More Related