lean software development
DESCRIPTION
Lean Software Development. James Manning. Outline. Lean History of Lean Lean Manufacturing Lean Software Development Where to start. What is Lean?. Process of eliminating waste from within a project, process, or company. History. Toyota Production System – 1948 - 1975 - PowerPoint PPT PresentationTRANSCRIPT
![Page 1: Lean Software Development](https://reader035.vdocuments.mx/reader035/viewer/2022070417/56815377550346895dc17d8b/html5/thumbnails/1.jpg)
LEAN SOFTWARE DEVELOPMENT
James Manning
![Page 2: Lean Software Development](https://reader035.vdocuments.mx/reader035/viewer/2022070417/56815377550346895dc17d8b/html5/thumbnails/2.jpg)
Outline
Lean History of Lean Lean Manufacturing Lean Software Development Where to start
![Page 3: Lean Software Development](https://reader035.vdocuments.mx/reader035/viewer/2022070417/56815377550346895dc17d8b/html5/thumbnails/3.jpg)
What is Lean?
Process of eliminating waste from within a project, process, or company.
![Page 4: Lean Software Development](https://reader035.vdocuments.mx/reader035/viewer/2022070417/56815377550346895dc17d8b/html5/thumbnails/4.jpg)
History
Toyota Production System – 1948 - 1975 Developed by Taiichi Ohno, Shigeo
Shingo and Eiji Toyoda Toyoda – produce automobiles for the
general public of Japan. Very similar to Henry Ford – 30 years
later Utilized Ford and W Edwards Deming JIT production
![Page 5: Lean Software Development](https://reader035.vdocuments.mx/reader035/viewer/2022070417/56815377550346895dc17d8b/html5/thumbnails/5.jpg)
History
Toyota became one of the top 10 companies in the world
2007 - became the largest car manufacturer
TPS Focused on eliminating three kinds of waste Muri Mura Muda
![Page 6: Lean Software Development](https://reader035.vdocuments.mx/reader035/viewer/2022070417/56815377550346895dc17d8b/html5/thumbnails/6.jpg)
Muri
Overburdened/Unreasonable/Absurdity Employees
Safety, Ergonomic - standard of work Searching for tools – having required tools Waiting for help – empowering the team
Equipment Overuse
Ford – Muri and not production line
![Page 7: Lean Software Development](https://reader035.vdocuments.mx/reader035/viewer/2022070417/56815377550346895dc17d8b/html5/thumbnails/7.jpg)
Mura
Unevenness – lacking flow Utilize resources, materials, and
machinery as efficiently as possible JIT Pull system
Piggly Wiggly (1916) JIT inventory
![Page 8: Lean Software Development](https://reader035.vdocuments.mx/reader035/viewer/2022070417/56815377550346895dc17d8b/html5/thumbnails/8.jpg)
Muda
Wastefulness Broad term Anything that Does not directly add
value to the end user Unneeded processes or steps Unneeded equipment Unneeded employees Ect.
![Page 9: Lean Software Development](https://reader035.vdocuments.mx/reader035/viewer/2022070417/56815377550346895dc17d8b/html5/thumbnails/9.jpg)
Lean Manufacturing
Seven Types of Waste Defects Over-production Transportation Waiting Inventory Motion Processing
![Page 10: Lean Software Development](https://reader035.vdocuments.mx/reader035/viewer/2022070417/56815377550346895dc17d8b/html5/thumbnails/10.jpg)
Implementing Lean Techniques
![Page 11: Lean Software Development](https://reader035.vdocuments.mx/reader035/viewer/2022070417/56815377550346895dc17d8b/html5/thumbnails/11.jpg)
Can this be applied to Software?
Lean Software Development Mary Poppendieck & Tom Poppendieck Term introduced in The Poppendiecks’ book
Titled Lean Software Development
![Page 12: Lean Software Development](https://reader035.vdocuments.mx/reader035/viewer/2022070417/56815377550346895dc17d8b/html5/thumbnails/12.jpg)
The Poppendieck’s
MS, MathematicsUniversity of Maryland
BS, MathematicsMarquette University
PhD, PhysicsUW – Madison
BS, PhysicsUW - Madison
Mary Poppendieck Tom Poppendieck
![Page 13: Lean Software Development](https://reader035.vdocuments.mx/reader035/viewer/2022070417/56815377550346895dc17d8b/html5/thumbnails/13.jpg)
Principles of Lean Software Development
Eliminate Waste Amplify Learning Delay Commitment Deliver Fast Empower the Team Build Integrity In See the Whole
![Page 14: Lean Software Development](https://reader035.vdocuments.mx/reader035/viewer/2022070417/56815377550346895dc17d8b/html5/thumbnails/14.jpg)
Eliminate Waste
Partially Done Work Extra Processes Extra Features Task Switching Waiting Motion Defects
Inventory Processing Overproduction Transportation Waiting Motion Defects
Lean Software Development
Lean Manufacturing
![Page 15: Lean Software Development](https://reader035.vdocuments.mx/reader035/viewer/2022070417/56815377550346895dc17d8b/html5/thumbnails/15.jpg)
Partially Done Work
Tendency to become obsolete Gets in the way No idea if it will even work with the
system Bottle Neck Ties up resources No value to customer Disrupts Flow
![Page 16: Lean Software Development](https://reader035.vdocuments.mx/reader035/viewer/2022070417/56815377550346895dc17d8b/html5/thumbnails/16.jpg)
Extra Processes
Do all forms of required paperwork add value?
If required Keep it short Keep it high level Do it off line
Good Test – Someone is eager to use for coding, testing, or writing manuals
Strive for most efficient, effective way of transmitting information
![Page 17: Lean Software Development](https://reader035.vdocuments.mx/reader035/viewer/2022070417/56815377550346895dc17d8b/html5/thumbnails/17.jpg)
Extra Features
Feature creep Extra features “just in case” the customer will use them Each extra feature need to be:
Tracked Compiled Integrated Tested Maintained
Every extra feature: Increases complexity of code Is a possible failure point Could be obsolete before it is used
![Page 18: Lean Software Development](https://reader035.vdocuments.mx/reader035/viewer/2022070417/56815377550346895dc17d8b/html5/thumbnails/18.jpg)
Extra Features
![Page 19: Lean Software Development](https://reader035.vdocuments.mx/reader035/viewer/2022070417/56815377550346895dc17d8b/html5/thumbnails/19.jpg)
Extra Features
Frode L. Ødegår – List for quantifying value What percentage of functionality in your products
goes mostly unused? What percentage of functionality serves mostly to
sell the product? How much of your development budget was
expended on developing these features? Quantify performance characteristics of your
product and relate these numbers to impact on the customer's performance.
Rank candidate product features and design ideas by their quantifiable impact on customer value.
![Page 20: Lean Software Development](https://reader035.vdocuments.mx/reader035/viewer/2022070417/56815377550346895dc17d8b/html5/thumbnails/20.jpg)
Task Switching
Assigning multiple people to multiple projects
A significant amount of time is wasted in the transition of tasks
More teams and projects = more interrupts More task switching
Fastest to finish multiple projects Do them one at a time
![Page 21: Lean Software Development](https://reader035.vdocuments.mx/reader035/viewer/2022070417/56815377550346895dc17d8b/html5/thumbnails/21.jpg)
Waiting
Common delays: Email responses Climbing leadership chains Starting a project Excessive requirements documentation
Problems: Customer cannot visualize value early
Commitment – not waste
![Page 22: Lean Software Development](https://reader035.vdocuments.mx/reader035/viewer/2022070417/56815377550346895dc17d8b/html5/thumbnails/22.jpg)
Motion
How readily available are others to answer developer questions
Motion to walk to answer get a question answered
Lean development offices can help eliminate this waste.
![Page 23: Lean Software Development](https://reader035.vdocuments.mx/reader035/viewer/2022070417/56815377550346895dc17d8b/html5/thumbnails/23.jpg)
Defects
A defective product has little to no value to an end user
AmtWaste = (DefectImpact)(TimeUndetected) (Large Defect)(3Hours) < (Small Defect)
(3Wks) Ways of eliminating waste:
Find defects quick Test immediately Integrate often Release to production soon
![Page 24: Lean Software Development](https://reader035.vdocuments.mx/reader035/viewer/2022070417/56815377550346895dc17d8b/html5/thumbnails/24.jpg)
Eliminate Waste
![Page 25: Lean Software Development](https://reader035.vdocuments.mx/reader035/viewer/2022070417/56815377550346895dc17d8b/html5/thumbnails/25.jpg)
Principles of Lean Software Development
Eliminate Waste Amplify Learning Delay Commitment Deliver Fast Empower the Team Build Integrity In See the Whole
![Page 26: Lean Software Development](https://reader035.vdocuments.mx/reader035/viewer/2022070417/56815377550346895dc17d8b/html5/thumbnails/26.jpg)
Amplify Learning
4 Tools to Amplify Learning Feedback Iterations Synchronization Set Based Development
![Page 27: Lean Software Development](https://reader035.vdocuments.mx/reader035/viewer/2022070417/56815377550346895dc17d8b/html5/thumbnails/27.jpg)
Feedback
Most effective way of dealing with troubled software projects
Types of feedback: Run tests asap Check out ideas by writing code (spike
solution) Prototype instead of more requirements Create web front to legacy system to try it
out
![Page 28: Lean Software Development](https://reader035.vdocuments.mx/reader035/viewer/2022070417/56815377550346895dc17d8b/html5/thumbnails/28.jpg)
Iterations
Full Iteration: Designed Programmed Tested Integrated Delivered
Facts > Forecasts More feedback from customer
![Page 29: Lean Software Development](https://reader035.vdocuments.mx/reader035/viewer/2022070417/56815377550346895dc17d8b/html5/thumbnails/29.jpg)
Synchronization
Communication with other subsystems or devices
Develop interfaces first
![Page 30: Lean Software Development](https://reader035.vdocuments.mx/reader035/viewer/2022070417/56815377550346895dc17d8b/html5/thumbnails/30.jpg)
Set Based Development
Point-Based scheduling Set Based Scheduling
![Page 31: Lean Software Development](https://reader035.vdocuments.mx/reader035/viewer/2022070417/56815377550346895dc17d8b/html5/thumbnails/31.jpg)
Set-Based Development
Apply set based development to software Develop multiple options Communicate Constraints Let solutions emerge
![Page 32: Lean Software Development](https://reader035.vdocuments.mx/reader035/viewer/2022070417/56815377550346895dc17d8b/html5/thumbnails/32.jpg)
Principles of Lean Software Development
Eliminate Waste Amplify Learning Delay Commitment Deliver Fast Empower the Team Build Integrity In See the Whole
![Page 33: Lean Software Development](https://reader035.vdocuments.mx/reader035/viewer/2022070417/56815377550346895dc17d8b/html5/thumbnails/33.jpg)
Delay Commitment
Delay = waste? Procrastinating = waste? Idea:
Wait until the last moment to make a critical decision
Make decision on fact rather than forecast Large commitment not left to chance
Not always going to be easy – Customer generally wants commitment
![Page 34: Lean Software Development](https://reader035.vdocuments.mx/reader035/viewer/2022070417/56815377550346895dc17d8b/html5/thumbnails/34.jpg)
Delay Commitment
Methods of delaying commitment Share partially complete design information. Organize for direct, worker-to-worker collaboration. Develop a sense of when decisions must be made. Develop a sense of how to absorb changes Avoid Repetition Separate Concerns Encapsulate Variation Defer Implementation of Future Capabilities Commit to Refactoring Use Automates Test Suites
![Page 35: Lean Software Development](https://reader035.vdocuments.mx/reader035/viewer/2022070417/56815377550346895dc17d8b/html5/thumbnails/35.jpg)
Principles of Lean Software Development
Eliminate Waste Amplify Learning Delay Commitment Deliver Fast Empower the Team Build Integrity In See the Whole
![Page 36: Lean Software Development](https://reader035.vdocuments.mx/reader035/viewer/2022070417/56815377550346895dc17d8b/html5/thumbnails/36.jpg)
Deliver Fast
Just In Time Feedback Prototyping Create value as soon as possible
![Page 37: Lean Software Development](https://reader035.vdocuments.mx/reader035/viewer/2022070417/56815377550346895dc17d8b/html5/thumbnails/37.jpg)
Empower the Team
Eliminates waste from: Waiting Climbing management chains
Firefighter Prepared No time to ask remote commanders
Anti-pattern Empowering employees who are not trained
Employee being blamed for when things go wrong
![Page 38: Lean Software Development](https://reader035.vdocuments.mx/reader035/viewer/2022070417/56815377550346895dc17d8b/html5/thumbnails/38.jpg)
Build Integrity In
Pleases the user without user asking
All parts of the system work together – smooth well functioning
Cash vs. Credit card
Perceived Integrity Conceptual Integrity
![Page 39: Lean Software Development](https://reader035.vdocuments.mx/reader035/viewer/2022070417/56815377550346895dc17d8b/html5/thumbnails/39.jpg)
Build Integrity in
Boeing 777 “Working Together” Program Fuel tank out of reach of fuel trucks caught
early Methods:
Test early Test often Test exhaustively Automated tests delivered
![Page 40: Lean Software Development](https://reader035.vdocuments.mx/reader035/viewer/2022070417/56815377550346895dc17d8b/html5/thumbnails/40.jpg)
See the Whole
Look at the whole process Mary Poppendieck
“Lean thinking suggests that optimizing individual parts almost always leads to sub-optimized overall system”
80% of defects – how the system is developed
![Page 41: Lean Software Development](https://reader035.vdocuments.mx/reader035/viewer/2022070417/56815377550346895dc17d8b/html5/thumbnails/41.jpg)
Where to Start
Start as soon as possible Can be applied to a project or process in
progress
![Page 42: Lean Software Development](https://reader035.vdocuments.mx/reader035/viewer/2022070417/56815377550346895dc17d8b/html5/thumbnails/42.jpg)
Road Map
Marry Poppendieck Begin Where you are Find your biggest constraint Envision your biggest threat Evaluate your culture Train Solve the Biggest Problem Remove Accommodations Measure Implement Repeat
![Page 43: Lean Software Development](https://reader035.vdocuments.mx/reader035/viewer/2022070417/56815377550346895dc17d8b/html5/thumbnails/43.jpg)
Conclusion
Lean Software Development Elimination of waste Improve:
Productivity Efficiency Bottom line
![Page 44: Lean Software Development](https://reader035.vdocuments.mx/reader035/viewer/2022070417/56815377550346895dc17d8b/html5/thumbnails/44.jpg)
References
Abilla, P., & Poppendieck, M. (2007, June 9). Lean for Software. shmula. Retrieved March 28, 2011, from http://www.shmula.com/lean-for-software/401/
Ladas, C. (2009, June 15). Introduction to Lean Software Development. Shaping Software . Retrieved March 28, 2011, from http://shapingsoftware.com/2009/06/15/introduction-to-lean-software-development/
Fiore, C. (2005). Accelerated product development: combining lean and Six sigma for peak performance. New York, NY: Productivity Press.
Layton, R. (2010, August 12). 80-20 Rule: 80 percent of Product Features Are Never Used. Klean. Retrieved March 28, 2011, from http://www.klean.dk/weblog/80-20-rule-80-percent-of-product-features-are-never-used
Poppendieck, M. (2003, April, 25). Lean Software Development. LeanEssays. Retrieved March 28, 2011, from http://www.leanessays.com/2003/04/lean-software-development.html
![Page 45: Lean Software Development](https://reader035.vdocuments.mx/reader035/viewer/2022070417/56815377550346895dc17d8b/html5/thumbnails/45.jpg)
References
Poppendieck, M. (2001, May 1). Lean Programming. LeanEssays. Retrieved March 28, 2011, from http://www.leanessays.com/2010/11/lean-programming.html
Poppendieck, M. (2004, June 24). An Introduction to Lean Software Development. LeanEssays. Retrieved March 28, 2011, from http://www.leanessays.com/2004/06/introduction-to-lean-software.html
Principles of Lean. lean.org - Lean Enterprise Institute| Lean Production | Lean Manufacturing | LEI | Lean Services |. Retrieved March 28, 2011, from http://www.lean.org/WhatsLean/Principles.cfm
Shalloway, A. (2007, August 8). Lean Anti-Patterns and What to Do About Them. Agile Journal. Retrieved March 28, 2011, from http://www.agilejournal.com/component/content/553?task=view
Ødegår, F. (2007, December 30). Lean Execution: Six Questions for Software Executives. Lean Software Institute. Retrieved March 28, 2011, from www.leansoftwareinstitute.com/wp-content/uploads/2007/08/Lean-Execution-Six-Questions-for-Software-Executives.pdf
Poppendieck, Mary , and Tom Poppendieck. Lean software development: an agile toolkit. Reading, Massachusetts: Addison-Wesley, 2003. Print.
![Page 46: Lean Software Development](https://reader035.vdocuments.mx/reader035/viewer/2022070417/56815377550346895dc17d8b/html5/thumbnails/46.jpg)
Thanks for you time
Questions?