SlideShare a Scribd company logo
Lean Software Development Sushant Kumar 07030244024 SDM 07-09 Symbiosis Center For Information Technology
History of Lean Thinking and Lean Software Development Toyota has started in the 1980s to revolutionize the automobile industry with their approach of "Lean Manufacturing“  to eliminate waste to streamline the value chain (even across enterprises) to produce on request (just in time), and to focus on the people who add value. Lean Thinking capitalizes on the intelligence of frontline workers, believing that they are the ones who should determine and continually improve the way they do their jobs. Mary and Tom Poppendieck have transferred principles and practices from the manufacturing environment to the software development environment.
Manifesto for Agile Software Development Individuals and interactions  over processes and tools Working software  over comprehensive documentation Customer collaboration  over contract negotiation Responding to change  over following a plan That is, while there is value in the items on the right, we value the items on the left more.
Principles of Lean Thinking 1. Eliminate Waste 2. Increase Feedback 3. Delay Commitment 4. Deliver Fast 5. Build Integrity In 6. Empower the Team 7. See the Whole Identify Value Stream Flow Customer Pull Pursue Perfection Specify Value
Principle #1: Eliminate Waste Does not mean to throw away all documentation, but to spend time only on what adds real customer value. Thus, the first step to implementing lean development is learning to see waste. The second step is to uncover the biggest sources of waste and eliminate them.
Seeing Waste Defects Defects Task switching Motion Waiting for the information Waiting Building the wrong thing Transportation Extra features Overproduction Paperwork or excess documentation Extra processing Partially work done Inventory Wastes of Software Development Wastes of Manufacturing
The biggest source of waste
Eliminate waste By using Traditional Value Stream
Principle #2: Amplify Learning Does not mean to keep on changing your mind, but to increase feedback, when you have tough problems. When a problem develops… the first thing to do is to make  sure the feedback loops are all  in place, the next thing to do is to increase  the frequency of the feedback loops  in the problem areas.
Amplify Learning with Synchronization Whenever several individuals are working on the same thing, a need for synchronization occurs. The need for synchronization is fundamental to any complex development process. Synchronize / integrate technically: Integrate daily within a team (i.e. check-in at least daily into local repository) Integrate weekly across multiple teams (i.e. check-in at least weekly into the central repository)
Principle #3: Decide as Late as Possible Does not mean to procrastinate, but to keep your options open as long as practical, but no longer. We usually don't give our customers the option to change their minds. And yet, almost everyone resists making irrevocable decisions in the face of uncertainty. Options allow fact-based decisions based on learning rather than speculation. Premature design commitment restricts learning, exacerbates the impact of defects, limits the usefulness of the product, and increases the cost of change. But, options are not free and it takes expertise to know which options to keep open.
Principle #4: Deliver as Fast as Possible Does not mean to rush and do sloppy work, but to deliver value to customers as soon as they ask for it. Customers like rapid delivery, which often translates to increased business flexibility. Companies can deliver faster than customers can change their minds. Companies have fewer resources tied up in work-in progress. The principle  Deliver as Fast as Possible  complements  Decide as Late as Possible : The faster you can deliver, the longer you can delay decisions.
Real world examples The most disciplined organizations are those that respond to customer requests Rapidly Reliably Repeatedly Software Development Maturity The speed at which you reliably and repeatedly convert customer requests to deployed software
Principles of Speed Pull from customer demand Pull with an order Don’t push with a schedule Make work self-directing Visual Workplace Rely on local signaling and commitment Kanban Scrum Meetings Use Small Batches Limit the amount of work in the pipeline
Principle #5: Empower the Team Does not mean to abandon leadership, but to let the people who add value use their full potential. While software development cannot be successful without disciplined, motivated people, experimentation and feedback are more effective than trying to getting things right the first time. The critical factor in motivation is not measurement, but empowerment: moving decisions to the lowest possible level in an organization while developing the capacity of those people to make decisions wisely.
Value those who add value
Empower the Team with..  Motivation Intrinsic motivation requires a feeling of belonging, a feeling of safety, a sense of competence, and sense of progress Leadership Expertise
Principle #6: Build Integrity In Does not mean big, upfront design, but don't try to tack on integrity after the fact, build it in. External (perceived) integrity  means that the totality of the product achieves a balance of function, usability, reliability, and economy that delights customers. Internal (conceptual) integrity  means that the system’s central concepts work together as a smooth, cohesive whole. The way to build a system with high perceived and conceptual integrity is to have excellent information flows both from customer to development team and between the upstream and downstream processes of the development team.
Build Integrity In With.. Perceived Integrity Conceptual Integrity Refactoring Testing
Principle #7: See the Whole Does not mean to ignore the details, but to beware of the temptation to optimize parts at the expense of the whole. Lean thinking suggests that optimizing individual parts almost always leads to sub-optimized overall system. Sub-optimization: The more complex a system, the more temptation there is to divide it into parts and manage the parts locally. Local management tends to create local measurements of performance. These local measurements often create system-wide effects that decrease overall performance.
See the Whole with.. Measurements The way to be sure that everything is measured is by  aggregation , not disaggregation. That is, move the measurement one level up, not one level down. Information measurements  (obtained by aggregating data to hide individual performance), not performance measurements, should be used. Contracts Project managers have  four variables  that they can adjust when managing projects:  time, costs, quality , and  scope . From these four variables, fix time, cost and quality, but not scope. Prioritize features, but don't specify in the contract the fixed set of features to be delivered. Move from a fixed scope to a negotiable scope*: By delivering high priority features first, it is likely that you deliver most of the business value long before the customer's wish list is completed.
Conclusion The lean production metaphor is a good one for software development, if it is applied in keeping with the underlying spirit of lean thinking. The underlying principles of eliminating waste, empowering front line workers, responding immediately to customer requests, and optimizing across the value chain are fundamental to lean thinking When applied to software development, these concepts provide a broad framework for improving software development.
THANKS

More Related Content

PDF
Lean Software Development
PPTX
Lean Software Development
PPTX
Lean Software Development
PPTX
Lean Software Development: Values and Principles
PPTX
Agile Methodology and Tools
KEY
Intro to Lean Software Development
PPT
Lean Software Development Principles
PDF
Introduction To Scrum
Lean Software Development
Lean Software Development
Lean Software Development
Lean Software Development: Values and Principles
Agile Methodology and Tools
Intro to Lean Software Development
Lean Software Development Principles
Introduction To Scrum

What's hot (20)

PDF
Kanban introduction
PPTX
Product Backlog Management
PPTX
Agile Methodology PPT
PDF
Agile Methodology
PDF
Introducing Agile Scrum XP and Kanban
PPTX
Agile Overview
PPTX
Agile and Lean Software Development
PPTX
Agile methodology
PDF
Agile Methodology
PPTX
The Values and Principles of Agile Software Development
PPTX
Lean Software Development
PDF
Implementing Kanban to Improve your Workflow
PPTX
Toyota Production System and Lean Tools
PPSX
Dynamic Systems Development Method (DSDM) - Agile
PPTX
Introduction to Agile and Lean Software Development
PDF
Kanban Basics
PPTX
Kanban
PPTX
Scaled agile framework (SAFe) - adopting agile at enterprise scale
ODP
Scrum Process
PPT
Agile Scrum Presentation-Detailed
Kanban introduction
Product Backlog Management
Agile Methodology PPT
Agile Methodology
Introducing Agile Scrum XP and Kanban
Agile Overview
Agile and Lean Software Development
Agile methodology
Agile Methodology
The Values and Principles of Agile Software Development
Lean Software Development
Implementing Kanban to Improve your Workflow
Toyota Production System and Lean Tools
Dynamic Systems Development Method (DSDM) - Agile
Introduction to Agile and Lean Software Development
Kanban Basics
Kanban
Scaled agile framework (SAFe) - adopting agile at enterprise scale
Scrum Process
Agile Scrum Presentation-Detailed
Ad

Viewers also liked (20)

PPTX
Introduction to Lean Software Development
PDF
Lean Software Development
PDF
LEAN software development
PDF
Lean vs scrum
PDF
"Lean software development: discovering waste" by Mary Poppendieck
PPT
Agile Software Development Scrum Vs Lean
PDF
LSD (Lean Software Development)
PDF
Lean Software Development Presentation
DOCX
Business Analyst Documentation
PDF
Introduction to Lean, Agile, Scrum, & XP
PDF
칸반(Kanban)
PDF
Lean and Kanban-based Software Development
PPTX
Lean ppt
PPT
Lean presentation ppt
PPTX
World class manufacturing (wcm)
KEY
Forest and trees with kanban
KEY
The Dot Game - After Codemotion
PPTX
Lean software development tips and tricks - Agile Tour Dublin 2014
PDF
Lean Software Development
PDF
What does it mean to be lean
Introduction to Lean Software Development
Lean Software Development
LEAN software development
Lean vs scrum
"Lean software development: discovering waste" by Mary Poppendieck
Agile Software Development Scrum Vs Lean
LSD (Lean Software Development)
Lean Software Development Presentation
Business Analyst Documentation
Introduction to Lean, Agile, Scrum, & XP
칸반(Kanban)
Lean and Kanban-based Software Development
Lean ppt
Lean presentation ppt
World class manufacturing (wcm)
Forest and trees with kanban
The Dot Game - After Codemotion
Lean software development tips and tricks - Agile Tour Dublin 2014
Lean Software Development
What does it mean to be lean
Ad

Similar to Lean Software Development (20)

PPTX
Lean Development Presentation Slides.pptx
PDF
Lean Software Delivery with IBM Rational Platform
PPT
Agile Pmi 102108 Final
PDF
Lean Principles
ODP
Intro to Agile and Lean Software Development
PDF
Lean Based Sofware Development
PPTX
Lean Software 101
PDF
Normalizing agile and lean product development and aim
PDF
Lean agile meets design thinking
PPTX
Lean Workshop.pptx
PPT
More content in less time
PDF
Lean Software Development: A Complete Guide
PPTX
eric ries - the lean startup dogpatch LUXr nyc
PPTX
DeKnowledge - Try us
PPTX
Lean software Development for Agile Framework
PDF
40 Agile Methods in 40 Minutes
PPT
Lean Software Development & Kanban
PDF
Current Trends in Agile - opening keynote for Agile Israel 2014
PDF
Lean Software Development Is for Everyone
Lean Development Presentation Slides.pptx
Lean Software Delivery with IBM Rational Platform
Agile Pmi 102108 Final
Lean Principles
Intro to Agile and Lean Software Development
Lean Based Sofware Development
Lean Software 101
Normalizing agile and lean product development and aim
Lean agile meets design thinking
Lean Workshop.pptx
More content in less time
Lean Software Development: A Complete Guide
eric ries - the lean startup dogpatch LUXr nyc
DeKnowledge - Try us
Lean software Development for Agile Framework
40 Agile Methods in 40 Minutes
Lean Software Development & Kanban
Current Trends in Agile - opening keynote for Agile Israel 2014
Lean Software Development Is for Everyone

Recently uploaded (20)

PDF
Pre independence Education in Inndia.pdf
PPTX
Pharmacology of Heart Failure /Pharmacotherapy of CHF
PPTX
PPH.pptx obstetrics and gynecology in nursing
PDF
O5-L3 Freight Transport Ops (International) V1.pdf
PPTX
The Healthy Child – Unit II | Child Health Nursing I | B.Sc Nursing 5th Semester
PDF
102 student loan defaulters named and shamed – Is someone you know on the list?
PDF
VCE English Exam - Section C Student Revision Booklet
PPTX
Cell Types and Its function , kingdom of life
PPTX
Institutional Correction lecture only . . .
PDF
Module 4: Burden of Disease Tutorial Slides S2 2025
PDF
Origin of periodic table-Mendeleev’s Periodic-Modern Periodic table
PPTX
IMMUNITY IMMUNITY refers to protection against infection, and the immune syst...
PPTX
Microbial diseases, their pathogenesis and prophylaxis
PPTX
Introduction_to_Human_Anatomy_and_Physiology_for_B.Pharm.pptx
PDF
BÀI TẬP BỔ TRỢ 4 KỸ NĂNG TIẾNG ANH 9 GLOBAL SUCCESS - CẢ NĂM - BÁM SÁT FORM Đ...
PDF
RMMM.pdf make it easy to upload and study
PDF
Saundersa Comprehensive Review for the NCLEX-RN Examination.pdf
PPTX
Pharma ospi slides which help in ospi learning
PDF
Chapter 2 Heredity, Prenatal Development, and Birth.pdf
PDF
Physiotherapy_for_Respiratory_and_Cardiac_Problems WEBBER.pdf
Pre independence Education in Inndia.pdf
Pharmacology of Heart Failure /Pharmacotherapy of CHF
PPH.pptx obstetrics and gynecology in nursing
O5-L3 Freight Transport Ops (International) V1.pdf
The Healthy Child – Unit II | Child Health Nursing I | B.Sc Nursing 5th Semester
102 student loan defaulters named and shamed – Is someone you know on the list?
VCE English Exam - Section C Student Revision Booklet
Cell Types and Its function , kingdom of life
Institutional Correction lecture only . . .
Module 4: Burden of Disease Tutorial Slides S2 2025
Origin of periodic table-Mendeleev’s Periodic-Modern Periodic table
IMMUNITY IMMUNITY refers to protection against infection, and the immune syst...
Microbial diseases, their pathogenesis and prophylaxis
Introduction_to_Human_Anatomy_and_Physiology_for_B.Pharm.pptx
BÀI TẬP BỔ TRỢ 4 KỸ NĂNG TIẾNG ANH 9 GLOBAL SUCCESS - CẢ NĂM - BÁM SÁT FORM Đ...
RMMM.pdf make it easy to upload and study
Saundersa Comprehensive Review for the NCLEX-RN Examination.pdf
Pharma ospi slides which help in ospi learning
Chapter 2 Heredity, Prenatal Development, and Birth.pdf
Physiotherapy_for_Respiratory_and_Cardiac_Problems WEBBER.pdf

Lean Software Development

  • 1. Lean Software Development Sushant Kumar 07030244024 SDM 07-09 Symbiosis Center For Information Technology
  • 2. History of Lean Thinking and Lean Software Development Toyota has started in the 1980s to revolutionize the automobile industry with their approach of "Lean Manufacturing“ to eliminate waste to streamline the value chain (even across enterprises) to produce on request (just in time), and to focus on the people who add value. Lean Thinking capitalizes on the intelligence of frontline workers, believing that they are the ones who should determine and continually improve the way they do their jobs. Mary and Tom Poppendieck have transferred principles and practices from the manufacturing environment to the software development environment.
  • 3. Manifesto for Agile Software Development Individuals and interactions over processes and tools Working software over comprehensive documentation Customer collaboration over contract negotiation Responding to change over following a plan That is, while there is value in the items on the right, we value the items on the left more.
  • 4. Principles of Lean Thinking 1. Eliminate Waste 2. Increase Feedback 3. Delay Commitment 4. Deliver Fast 5. Build Integrity In 6. Empower the Team 7. See the Whole Identify Value Stream Flow Customer Pull Pursue Perfection Specify Value
  • 5. Principle #1: Eliminate Waste Does not mean to throw away all documentation, but to spend time only on what adds real customer value. Thus, the first step to implementing lean development is learning to see waste. The second step is to uncover the biggest sources of waste and eliminate them.
  • 6. Seeing Waste Defects Defects Task switching Motion Waiting for the information Waiting Building the wrong thing Transportation Extra features Overproduction Paperwork or excess documentation Extra processing Partially work done Inventory Wastes of Software Development Wastes of Manufacturing
  • 8. Eliminate waste By using Traditional Value Stream
  • 9. Principle #2: Amplify Learning Does not mean to keep on changing your mind, but to increase feedback, when you have tough problems. When a problem develops… the first thing to do is to make sure the feedback loops are all in place, the next thing to do is to increase the frequency of the feedback loops in the problem areas.
  • 10. Amplify Learning with Synchronization Whenever several individuals are working on the same thing, a need for synchronization occurs. The need for synchronization is fundamental to any complex development process. Synchronize / integrate technically: Integrate daily within a team (i.e. check-in at least daily into local repository) Integrate weekly across multiple teams (i.e. check-in at least weekly into the central repository)
  • 11. Principle #3: Decide as Late as Possible Does not mean to procrastinate, but to keep your options open as long as practical, but no longer. We usually don't give our customers the option to change their minds. And yet, almost everyone resists making irrevocable decisions in the face of uncertainty. Options allow fact-based decisions based on learning rather than speculation. Premature design commitment restricts learning, exacerbates the impact of defects, limits the usefulness of the product, and increases the cost of change. But, options are not free and it takes expertise to know which options to keep open.
  • 12. Principle #4: Deliver as Fast as Possible Does not mean to rush and do sloppy work, but to deliver value to customers as soon as they ask for it. Customers like rapid delivery, which often translates to increased business flexibility. Companies can deliver faster than customers can change their minds. Companies have fewer resources tied up in work-in progress. The principle Deliver as Fast as Possible complements Decide as Late as Possible : The faster you can deliver, the longer you can delay decisions.
  • 13. Real world examples The most disciplined organizations are those that respond to customer requests Rapidly Reliably Repeatedly Software Development Maturity The speed at which you reliably and repeatedly convert customer requests to deployed software
  • 14. Principles of Speed Pull from customer demand Pull with an order Don’t push with a schedule Make work self-directing Visual Workplace Rely on local signaling and commitment Kanban Scrum Meetings Use Small Batches Limit the amount of work in the pipeline
  • 15. Principle #5: Empower the Team Does not mean to abandon leadership, but to let the people who add value use their full potential. While software development cannot be successful without disciplined, motivated people, experimentation and feedback are more effective than trying to getting things right the first time. The critical factor in motivation is not measurement, but empowerment: moving decisions to the lowest possible level in an organization while developing the capacity of those people to make decisions wisely.
  • 16. Value those who add value
  • 17. Empower the Team with.. Motivation Intrinsic motivation requires a feeling of belonging, a feeling of safety, a sense of competence, and sense of progress Leadership Expertise
  • 18. Principle #6: Build Integrity In Does not mean big, upfront design, but don't try to tack on integrity after the fact, build it in. External (perceived) integrity means that the totality of the product achieves a balance of function, usability, reliability, and economy that delights customers. Internal (conceptual) integrity means that the system’s central concepts work together as a smooth, cohesive whole. The way to build a system with high perceived and conceptual integrity is to have excellent information flows both from customer to development team and between the upstream and downstream processes of the development team.
  • 19. Build Integrity In With.. Perceived Integrity Conceptual Integrity Refactoring Testing
  • 20. Principle #7: See the Whole Does not mean to ignore the details, but to beware of the temptation to optimize parts at the expense of the whole. Lean thinking suggests that optimizing individual parts almost always leads to sub-optimized overall system. Sub-optimization: The more complex a system, the more temptation there is to divide it into parts and manage the parts locally. Local management tends to create local measurements of performance. These local measurements often create system-wide effects that decrease overall performance.
  • 21. See the Whole with.. Measurements The way to be sure that everything is measured is by aggregation , not disaggregation. That is, move the measurement one level up, not one level down. Information measurements (obtained by aggregating data to hide individual performance), not performance measurements, should be used. Contracts Project managers have four variables that they can adjust when managing projects: time, costs, quality , and scope . From these four variables, fix time, cost and quality, but not scope. Prioritize features, but don't specify in the contract the fixed set of features to be delivered. Move from a fixed scope to a negotiable scope*: By delivering high priority features first, it is likely that you deliver most of the business value long before the customer's wish list is completed.
  • 22. Conclusion The lean production metaphor is a good one for software development, if it is applied in keeping with the underlying spirit of lean thinking. The underlying principles of eliminating waste, empowering front line workers, responding immediately to customer requests, and optimizing across the value chain are fundamental to lean thinking When applied to software development, these concepts provide a broad framework for improving software development.