Presentation is loading. Please wait.

Presentation is loading. Please wait.

Lean Software Development

Similar presentations


Presentation on theme: "Lean Software Development"— Presentation transcript:

1 Lean Software Development
James Manning

2 Outline Lean History of Lean Lean Manufacturing
Lean Software Development Where to start

3 What is Lean? Process of eliminating waste from within a project, process, or company.

4 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

5 History Toyota became one of the top 10 companies in the world
became the largest car manufacturer TPS Focused on eliminating three kinds of waste Muri Mura Muda

6 Muri Overburdened/Unreasonable/Absurdity Employees Equipment
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

7 Mura Unevenness – lacking flow
Utilize resources, materials, and machinery as efficiently as possible JIT Pull system Piggly Wiggly (1916) JIT inventory

8 Muda Wastefulness Broad term
Anything that Does not directly add value to the end user Unneeded processes or steps Unneeded equipment Unneeded employees Ect.

9 Lean Manufacturing Seven Types of Waste Defects Over-production
Transportation Waiting Inventory Motion Processing

10 Implementing Lean Techniques

11 Can this be applied to Software?
Lean Software Development Mary Poppendieck & Tom Poppendieck Term introduced in The Poppendiecks’ book Titled Lean Software Development

12 The Poppendieck’s MS, Mathematics University of Maryland
Mary Poppendieck Tom Poppendieck MS, Mathematics University of Maryland BS, Mathematics Marquette University PhD, Physics UW – Madison BS, Physics UW - Madison

13 Principles of Lean Software Development
Eliminate Waste Amplify Learning Delay Commitment Deliver Fast Empower the Team Build Integrity In See the Whole

14 Eliminate Waste Partially Done Work Extra Processes Extra Features
Lean Software Development Lean Manufacturing Partially Done Work Extra Processes Extra Features Task Switching Waiting Motion Defects Inventory Processing Overproduction Transportation Waiting Motion Defects

15 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

16 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

17 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

18 Extra Features Standish group – 80/20

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

20 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

21 Waiting Common delays: Problems: Commitment – not waste
responses Climbing leadership chains Starting a project Excessive requirements documentation Problems: Customer cannot visualize value early Commitment – not waste

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

23 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

24 Eliminate Waste

25 Principles of Lean Software Development
Eliminate Waste Amplify Learning Delay Commitment Deliver Fast Empower the Team Build Integrity In See the Whole

26 Amplify Learning Feedback Iterations Synchronization
4 Tools to Amplify Learning Feedback Iterations Synchronization Set Based Development

27 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

28 Iterations Full Iteration: Facts > Forecasts
Designed Programmed Tested Integrated Delivered Facts > Forecasts More feedback from customer

29 Synchronization Communication with other subsystems or devices
Develop interfaces first

30 Set Based Development Point-Based scheduling Set Based Scheduling

31 Set-Based Development
Apply set based development to software Develop multiple options Communicate Constraints Let solutions emerge

32 Principles of Lean Software Development
Eliminate Waste Amplify Learning Delay Commitment Deliver Fast Empower the Team Build Integrity In See the Whole

33 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

34 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

35 Principles of Lean Software Development
Eliminate Waste Amplify Learning Delay Commitment Deliver Fast Empower the Team Build Integrity In See the Whole

36 Deliver Fast Just In Time Feedback Prototyping
Create value as soon as possible

37 Empower the Team Eliminates waste from: Firefighter Anti-pattern
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

38 Build Integrity In Pleases the user without user asking Google
Perceived Integrity Conceptual Integrity Pleases the user without user asking Google All parts of the system work together – smooth well functioning Cash vs. Credit card

39 Build Integrity in Boeing 777 “Working Together” Program Methods:
Fuel tank out of reach of fuel trucks caught early Methods: Test early Test often Test exhaustively Automated tests delivered

40 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

41 Where to Start Start as soon as possible
Can be applied to a project or process in progress

42 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

43 Conclusion Lean Software Development Elimination of waste Improve:
Productivity Efficiency Bottom line

44 References Abilla, P., & Poppendieck, M. (2007, June 9). Lean for Software. shmula. Retrieved March 28, 2011, from Ladas, C. (2009, June 15). Introduction to Lean Software Development. Shaping Software . Retrieved March 28, 2011, from 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) Rule: 80 percent of Product Features Are Never Used. Klean. Retrieved March 28, 2011, from never-used Poppendieck, M. (2003, April, 25). Lean Software Development. LeanEssays. Retrieved March 28, 2011, from software-development.html

45 References Poppendieck, M. (2001, May 1). Lean Programming. LeanEssays. Retrieved March 28, 2011, from Poppendieck, M. (2004, June 24). An Introduction to Lean Software Development. LeanEssays. Retrieved March 28, 2011, from Principles of Lean. lean.org - Lean Enterprise Institute| Lean Production | Lean Manufacturing | LEI | Lean Services |. Retrieved March 28, 2011, from Shalloway, A. (2007, August 8). Lean Anti-Patterns and What to Do About Them. Agile Journal. Retrieved March 28, 2011, from Ødegår, F. (2007, December 30). Lean Execution: Six Questions for Software Executives. Lean Software Institute. Retrieved March 28, 2011, from Questions-for-Software-Executives.pdf Poppendieck, Mary , and Tom Poppendieck. Lean software development: an agile toolkit. Reading, Massachusetts: Addison-Wesley, Print.

46 Thanks for you time Questions?


Download ppt "Lean Software Development"

Similar presentations


Ads by Google