lean methods 1
 A lean history
 The seven principle of lean
 The 22 tools of lean
Reference:http//en.wikipedia.org/wiki .Lean manufacturing 2
lean methods 3
History of lean thinking and lean software
development
 Toyota has started in 1980s to revolutionize the automobile industry with
their approach of ā€œLean Manufacturingā€
• To eliminate waste
• To streamline the value chain(even across enterprise)
• To produce on request(just in time)
• To focus on the people who add value
ā–ŗ Lean Thinking capitalizes on the intelligence of front line 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.
Reference:http//en.wikipedia.org/wiki .Lean manufacturing 4
The seven principles of lean
 Eliminate waste
 Amplify learning
 Decide as late as possible
 Deliver as fast as possible
 empower the team
 Build integrity in
 See the whole
Reference:http//en.wikipedia.org/ wiki. Lean manufacturing 5
22 tools
 Learn to see waste
 Learn to reduce waste
 Feed back (customer and market review)
 Iterations (small increments)
 Synchronization(communication b/w stake holders)
 Set Base Development (alternative Sol and trade-offs)
 Options thinking
 The Last responsible moment
 Making decisions
 Pull systems (resource to be consumed)
 Queuing theory (value stream)lean methods 6
22 tools
 Cost of delay
 Self determination
 Motivation
 Leadership
 Expertise
 Perceived integrity (outside org)
 Conceptual integrity (design must proceed from one mind,
or from a very small number of agreeing resonant minds)
 Refactoring
 Testing
 Measurement
 Contracts (well define agreemets)
lean methods 7
lean methods 8
(Eliminate waste)
 What is Waste?
ļ‚§ Anything that doesn't add value to the product
ļ‚§ Unnecessary code or functionality
ļ‚§ Unclear requirements
ļ‚§ Slow internal communications or processes
Reference: M&T poppendieck lean software development,2003 :chapter 1 9
(Eliminate waste)
tool 1: Learn to see Waste
Waste of Manufacturing Waste of Software Development
Inventory Partially work done
Extra processing Paperwork or excess documentation
Overproduction Extra features
Transportation
Waiting
Building the wrong thing
Motion Waiting for information
Defects Defects
Reference: M&T poppendieck lean software development,2003 :chapter 1
10
lean methods 11
(Amplify learning)
the nature of software development
 Realization of purpose of use rather than conforming to requirements
 Not intended to produce repeatable results, but to create solutions to unique
customer problems
 Design is done best using discovery solutions: short, repeated cycles of
investigation, experimentation and check results
 We like to try it, test it and fix it!
 For knowledge generation(for feedback) loops are critical.
Reference: M&T poppendieck lean software development,2003 :chapter 2 12
(Amplify learning)
tool 4: iterations
 Are short useful cycles of software development : design  programmed 
tested  integrated  delivered
 Allow an option based (open options)approach
 Allow the ability to ā€œdecide as late as possibleā€
 Require team planning , short complete cycles and team commitment
Reference: M&T poppendieck lean software development,2003 :chapter 2 13
lean methods 14
(Decide as late as possible)
sequential vs concurrent
sequential concurrent
Depth first(drilling into the details too
fast)
Breadth first(seeing things in full view
over time)
Order of creation(on day 1, we created
requirements)
Highest valued features first
Rigid , change is costly Adaptable, change is manageable
Cost escalation is high when issues are
found late
Cost escalation is low, as issues are found
incrementally
High stakes decisions are made based
on assumptions and with uncertainty
High stakes decisions can be deferred
Until the last responsible moment
Reference: M&T poppendieck lean software development,2003 :chapter 3 15
(Decide as late as possible)
tool 7: options thinking
 A right but not a obligation to do some thing in the future
 Customer needs aren't always clear or understood
 You can predict the future, so maintain flexibility ,until uncertainty is
removed
 Options are like trade offs, they aren't free and have a cost
Reference: M&T poppendieck lean software development,2003 :chapter 3 16
lean methods 17
(Deliver fast as possible)
why deliver fast?
 Customers like rapid delivery. Look at how UPS and FedEx provide ordered
products to customers in 1 to 3 days
 Rapid delivery means less time for customer to change their minds
 In process, or partially done work can have undiscovered defects
 The faster you deliver the longer you can delay decisions. Being able to
make a change in a week, lets you wait to make a decisions until that week
Reference: M&T poppendieck lean software development,2003 :chapter 4 18
(deliver fast as possible)
12: cost of delay
ā–ŗ Rapid development will save you time and money, management may think
differently
ā–ŗ Determine what delayed delivery will cost you by using a profit and loss
statement
Reference: M&T poppendieck lean software development,2003 :chapter 4 19
lean methods 20
(Empower the team)
 What is a ā€œMature ā€Organization?
 Lean Assumption#1- a mature organization look as a whole system; it does
not only focus on optimizing disparate or separate parts
 Lean Assumption#2- A mature organization focus on learning effectively and
empower the people who do the work to make decisions
Reference: M&T poppendieck lean software development,2003 :chapter 4 21
(Empower the team)
tool 16: expertise
 Develop and faster communication of expertise
 Promote mentorship and pair programing activities
 Encourage training and continued self improvement
 Develop software standard and practice them
 Offer the ā€œgoogleā€ approach to personal project work=80/20
Reference: M&T poppendieck lean software development,2003 :chapter 5 22
lean methods 23
(Build integrity with in)
tool 19: refactoring
 Complex system have effects that aren't understood at design time
 Architecture must remain healthy as the system matures and evolves
 Maintain conceptual integrity
 Simplicity: simple designs are the best
 Clarity: keep code understandable
 Suitability for use: design for intended purpose
 No repetition: never repeat code
 No extra features: don't build which is not needed
Reference: M&T poppendieck lean software development,2003 :chapter 6 24
lean methods 25
(SEE the whole)
Ask The 5 Whys!
 You have increasing defects on a project you ask:
Why#1: Why?
A: New modules were added ,that are causing new issues
Why#2:Why did the new modules generate defects in other modules?
A: they were not tested
Why#3:Why where they not tested?
A:developers were pressured to deliver before testing could occur
Why#4: why was there so much pressure?
A:A manager thought a hard deadline would work to motive the developers
Why #5:why did they think this approach was necessary?
A: A manager was worried about late delivery and schedule overruns
Reference: M&T poppendieck lean software development,2003 :chapter 7 26
Advantages of lean software development
 Elimination of waste
Overall efficiency
Speeds up the process of software development
 Delivering the product early
More functionality in a shorter period of time
 Empowerment of the development team
Motivated team
27
Reference: M&T poppendieck lean software development,2003
Disadvantages of lean software development
 Dependent on cohesiveness of the team and the
individual commitments of the team members
 How disciplined the team members
 Business analyst is vital
 Software requirements specification (SRS) to
evolve.
28
Reference: M&T poppendieck lean software development,2003
Lean vs Agile
Lean Software
Development
Agile Method
Team Empowered Empowered
Quality Key Focus Key Focus
Improvements Continuous Continuous
Workflow Continuous Iterative
Change Limited Embraced
Applicability Repeatable Operation Complex Project Based
29Reference: M&T poppendieck lean software development,2003
Lean vs agile
Lean Software Development Agile Method
Respect for People Self-organizing Teams
Prevent/Eliminate Waste No unused specs
Deliver Fast Time boxed iterations with working
increments
The managerial approach The Self Empowered
Reduce Cost Cost can be higher but it has
quicker response and greater
flexibility
Fixed Plan Flexible Plan
30
Reference: M&T poppendieck lean software development,2003
Appendix
 This presentation was possible due to the amazing work done by Tom and
Mary poppendieck, in their book lean software development
 All images were borrowed from google image search and are not proprietary
to this presentation
lean methods 31
Thank You!

Lean Software Development

  • 1.
  • 2.
     A leanhistory  The seven principle of lean  The 22 tools of lean Reference:http//en.wikipedia.org/wiki .Lean manufacturing 2
  • 3.
  • 4.
    History of leanthinking and lean software development  Toyota has started in 1980s to revolutionize the automobile industry with their approach of ā€œLean Manufacturingā€ • To eliminate waste • To streamline the value chain(even across enterprise) • To produce on request(just in time) • To focus on the people who add value ā–ŗ Lean Thinking capitalizes on the intelligence of front line 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. Reference:http//en.wikipedia.org/wiki .Lean manufacturing 4
  • 5.
    The seven principlesof lean  Eliminate waste  Amplify learning  Decide as late as possible  Deliver as fast as possible  empower the team  Build integrity in  See the whole Reference:http//en.wikipedia.org/ wiki. Lean manufacturing 5
  • 6.
    22 tools  Learnto see waste  Learn to reduce waste  Feed back (customer and market review)  Iterations (small increments)  Synchronization(communication b/w stake holders)  Set Base Development (alternative Sol and trade-offs)  Options thinking  The Last responsible moment  Making decisions  Pull systems (resource to be consumed)  Queuing theory (value stream)lean methods 6
  • 7.
    22 tools  Costof delay  Self determination  Motivation  Leadership  Expertise  Perceived integrity (outside org)  Conceptual integrity (design must proceed from one mind, or from a very small number of agreeing resonant minds)  Refactoring  Testing  Measurement  Contracts (well define agreemets) lean methods 7
  • 8.
  • 9.
    (Eliminate waste)  Whatis Waste? ļ‚§ Anything that doesn't add value to the product ļ‚§ Unnecessary code or functionality ļ‚§ Unclear requirements ļ‚§ Slow internal communications or processes Reference: M&T poppendieck lean software development,2003 :chapter 1 9
  • 10.
    (Eliminate waste) tool 1:Learn to see Waste Waste of Manufacturing Waste of Software Development Inventory Partially work done Extra processing Paperwork or excess documentation Overproduction Extra features Transportation Waiting Building the wrong thing Motion Waiting for information Defects Defects Reference: M&T poppendieck lean software development,2003 :chapter 1 10
  • 11.
  • 12.
    (Amplify learning) the natureof software development  Realization of purpose of use rather than conforming to requirements  Not intended to produce repeatable results, but to create solutions to unique customer problems  Design is done best using discovery solutions: short, repeated cycles of investigation, experimentation and check results  We like to try it, test it and fix it!  For knowledge generation(for feedback) loops are critical. Reference: M&T poppendieck lean software development,2003 :chapter 2 12
  • 13.
    (Amplify learning) tool 4:iterations  Are short useful cycles of software development : design  programmed  tested  integrated  delivered  Allow an option based (open options)approach  Allow the ability to ā€œdecide as late as possibleā€  Require team planning , short complete cycles and team commitment Reference: M&T poppendieck lean software development,2003 :chapter 2 13
  • 14.
  • 15.
    (Decide as lateas possible) sequential vs concurrent sequential concurrent Depth first(drilling into the details too fast) Breadth first(seeing things in full view over time) Order of creation(on day 1, we created requirements) Highest valued features first Rigid , change is costly Adaptable, change is manageable Cost escalation is high when issues are found late Cost escalation is low, as issues are found incrementally High stakes decisions are made based on assumptions and with uncertainty High stakes decisions can be deferred Until the last responsible moment Reference: M&T poppendieck lean software development,2003 :chapter 3 15
  • 16.
    (Decide as lateas possible) tool 7: options thinking  A right but not a obligation to do some thing in the future  Customer needs aren't always clear or understood  You can predict the future, so maintain flexibility ,until uncertainty is removed  Options are like trade offs, they aren't free and have a cost Reference: M&T poppendieck lean software development,2003 :chapter 3 16
  • 17.
  • 18.
    (Deliver fast aspossible) why deliver fast?  Customers like rapid delivery. Look at how UPS and FedEx provide ordered products to customers in 1 to 3 days  Rapid delivery means less time for customer to change their minds  In process, or partially done work can have undiscovered defects  The faster you deliver the longer you can delay decisions. Being able to make a change in a week, lets you wait to make a decisions until that week Reference: M&T poppendieck lean software development,2003 :chapter 4 18
  • 19.
    (deliver fast aspossible) 12: cost of delay ā–ŗ Rapid development will save you time and money, management may think differently ā–ŗ Determine what delayed delivery will cost you by using a profit and loss statement Reference: M&T poppendieck lean software development,2003 :chapter 4 19
  • 20.
  • 21.
    (Empower the team) What is a ā€œMature ā€Organization?  Lean Assumption#1- a mature organization look as a whole system; it does not only focus on optimizing disparate or separate parts  Lean Assumption#2- A mature organization focus on learning effectively and empower the people who do the work to make decisions Reference: M&T poppendieck lean software development,2003 :chapter 4 21
  • 22.
    (Empower the team) tool16: expertise  Develop and faster communication of expertise  Promote mentorship and pair programing activities  Encourage training and continued self improvement  Develop software standard and practice them  Offer the ā€œgoogleā€ approach to personal project work=80/20 Reference: M&T poppendieck lean software development,2003 :chapter 5 22
  • 23.
  • 24.
    (Build integrity within) tool 19: refactoring  Complex system have effects that aren't understood at design time  Architecture must remain healthy as the system matures and evolves  Maintain conceptual integrity  Simplicity: simple designs are the best  Clarity: keep code understandable  Suitability for use: design for intended purpose  No repetition: never repeat code  No extra features: don't build which is not needed Reference: M&T poppendieck lean software development,2003 :chapter 6 24
  • 25.
  • 26.
    (SEE the whole) AskThe 5 Whys!  You have increasing defects on a project you ask: Why#1: Why? A: New modules were added ,that are causing new issues Why#2:Why did the new modules generate defects in other modules? A: they were not tested Why#3:Why where they not tested? A:developers were pressured to deliver before testing could occur Why#4: why was there so much pressure? A:A manager thought a hard deadline would work to motive the developers Why #5:why did they think this approach was necessary? A: A manager was worried about late delivery and schedule overruns Reference: M&T poppendieck lean software development,2003 :chapter 7 26
  • 27.
    Advantages of leansoftware development  Elimination of waste Overall efficiency Speeds up the process of software development  Delivering the product early More functionality in a shorter period of time  Empowerment of the development team Motivated team 27 Reference: M&T poppendieck lean software development,2003
  • 28.
    Disadvantages of leansoftware development  Dependent on cohesiveness of the team and the individual commitments of the team members  How disciplined the team members  Business analyst is vital  Software requirements specification (SRS) to evolve. 28 Reference: M&T poppendieck lean software development,2003
  • 29.
    Lean vs Agile LeanSoftware Development Agile Method Team Empowered Empowered Quality Key Focus Key Focus Improvements Continuous Continuous Workflow Continuous Iterative Change Limited Embraced Applicability Repeatable Operation Complex Project Based 29Reference: M&T poppendieck lean software development,2003
  • 30.
    Lean vs agile LeanSoftware Development Agile Method Respect for People Self-organizing Teams Prevent/Eliminate Waste No unused specs Deliver Fast Time boxed iterations with working increments The managerial approach The Self Empowered Reduce Cost Cost can be higher but it has quicker response and greater flexibility Fixed Plan Flexible Plan 30 Reference: M&T poppendieck lean software development,2003
  • 31.
    Appendix  This presentationwas possible due to the amazing work done by Tom and Mary poppendieck, in their book lean software development  All images were borrowed from google image search and are not proprietary to this presentation lean methods 31 Thank You!

Editor's Notes

  • #28Ā Advantages of lean The elimination of waste leads to the overall efficiency of the development process. This is turn speeds up theĀ process of software developmentĀ which reducesĀ project time and cost. This is absolutely vital in today's environment. Anything which allows Organisations to deliver more projects in the same timeframe is going to be popular! Delivering the product early is a definite advantage. It means your development team can deliver more functionality in a shorter period of time, hence enabling more projects to be delivered. This will only please both your finance department, but also the end customers. Empowerment of the development team helps in developing the decision making ability of the team members which in turn, creates a more motivated team. This benefit really cannot be overstressed enough. Developers hate nothing more than being micro-managed and having decisions forced upon them. This way they can determine how best to develop the functionality which will usually result in a much better end product.
  • #29Ā TheĀ role of a business analystĀ is vital to ensure theĀ business requirements documentation (BRD)Ā is understood properly. If you don't have a person with the rightĀ business analyst skillsĀ then you could quickly find this become aĀ cause of scope creep. In lean you allow theĀ software requirements specification (SRS)Ā to evolve. However this causes problems of it's own. Flexibility is great, but too much of it will quickly lead to a development which loses sight of it's original objectives and which never finishes.