Lean Software Development
Principles
Osellus Asia Pacific Co.,Ltd.
Think Big, Act Small, Fail Fast,
Learn Rapidly
Outline
•Agile Software Development Process
•The Agile Manifesto
•Lean Software Development
•The 7 Principles
Agile Software Development Process
•Why need process to develop a software?
•Why Agile?
•Speed
•Welcome changes
•Collaboration
The Agile Manifesto
Individuals and interactions over processes and tools
Working software over comprehensive documentation
Customer collaboration over contract negotiation
Responding to change over following a plan
Lean Software Development
•It comes from Toyota Production System
•It is a set of principles and toolset
•It promise to achieve quality, speed, customer
alignment
The 7 principles of Lean Thinking
1. Eliminate Waste
2. Amplify Learning
3. Decide as Late as possible
4. Deliver as Fast as possible
5. Empower the Team
6. Build Integrity In
7. See the Whole
#1 Eliminate Waste
src: https://www.flickr.com/photos/jritch/4677818858/
7 Principles: Eliminate Waste
•What is waste?
•Anything that doesn’t add value to product
•Software Development Waste
•Partially done work
•Extra Processes
•Extra Features
•Task Switching
•Waiting
•Motion
•Defect
•Management Activities
#2 Amplify Learning
src: https://ec.europa.eu/epale/en/blog/learning-styles-and-didactics-adult-learning
7 Principles: Amplify Learning
•Developing software is about learning
•Software Design is a problem solving process
•Short iteration speed up the learning process
Write unit test -> coding -> refactoring -> integration
testing -> customer feedback
#3 Decide as Late as Possible
src: http://www.middlemarketcenter.org/author/dorie-clark
7 Principles: Decide as Late as Possible
•Software Development is about uncertainty
•There are many answer to one question
•Let customer see the product fast, let them
decide it, the answer will come back later
•You can’t predict the future! Keep the flexibility
#4 Deliver as Fast as Possible
src: http://www.motor16.com/fotos/galerias/imagenes-gp-espana-f1-2015/gp-espana-f1-2015-vettel-alonso/
7 Principles: Deliver as Fast as Possible
•Everyone like rapid delivery
•Rapid delivery = customer see is it what they
asked for first
•Pull System: Kanban
Kanban
Kanban Software: GitLab Kanban Board
Kanban Software: TFS
#5 Empower the Team
src: https://www.youtube.com/watch?v=5Z1Ea2Mg4c4
7 Principles: Empower the Team
•Find good people and let them do their job
•People are not resource, they need motivation
#6 Build Integrity In
src: https://www.walldevil.com/102098-clocks-gears-gold-photography-clockwork.html
7 Principles: Build Integrity In
•Perceive Integrity
•Customer experience with a system
•Conceptual Integrity
•Flexibility
•Maintainability
•Efficiency
•Responsiveness
#7 See the Whole
src: http://www.pdac.co.uk/wp-content/uploads/2012/03/how-puzzle.jpg
7 Principles: See the Whole
•Software Product != sum of its part
•Think about affected areas when fix defects /
add new features
•Optimization
Resources
Learn more about LSD
Read this book
Q & A

Lean Software Development

  • 1.
  • 2.
    Think Big, ActSmall, Fail Fast, Learn Rapidly
  • 3.
    Outline •Agile Software DevelopmentProcess •The Agile Manifesto •Lean Software Development •The 7 Principles
  • 4.
    Agile Software DevelopmentProcess •Why need process to develop a software? •Why Agile? •Speed •Welcome changes •Collaboration
  • 5.
    The Agile Manifesto Individualsand interactions over processes and tools Working software over comprehensive documentation Customer collaboration over contract negotiation Responding to change over following a plan
  • 6.
    Lean Software Development •Itcomes from Toyota Production System •It is a set of principles and toolset •It promise to achieve quality, speed, customer alignment
  • 7.
    The 7 principlesof Lean Thinking 1. Eliminate Waste 2. Amplify Learning 3. Decide as Late as possible 4. Deliver as Fast as possible 5. Empower the Team 6. Build Integrity In 7. See the Whole
  • 8.
    #1 Eliminate Waste src:https://www.flickr.com/photos/jritch/4677818858/
  • 9.
    7 Principles: EliminateWaste •What is waste? •Anything that doesn’t add value to product •Software Development Waste •Partially done work •Extra Processes •Extra Features •Task Switching •Waiting •Motion •Defect •Management Activities
  • 10.
    #2 Amplify Learning src:https://ec.europa.eu/epale/en/blog/learning-styles-and-didactics-adult-learning
  • 11.
    7 Principles: AmplifyLearning •Developing software is about learning •Software Design is a problem solving process •Short iteration speed up the learning process Write unit test -> coding -> refactoring -> integration testing -> customer feedback
  • 12.
    #3 Decide asLate as Possible src: http://www.middlemarketcenter.org/author/dorie-clark
  • 13.
    7 Principles: Decideas Late as Possible •Software Development is about uncertainty •There are many answer to one question •Let customer see the product fast, let them decide it, the answer will come back later •You can’t predict the future! Keep the flexibility
  • 14.
    #4 Deliver asFast as Possible src: http://www.motor16.com/fotos/galerias/imagenes-gp-espana-f1-2015/gp-espana-f1-2015-vettel-alonso/
  • 15.
    7 Principles: Deliveras Fast as Possible •Everyone like rapid delivery •Rapid delivery = customer see is it what they asked for first •Pull System: Kanban
  • 16.
  • 17.
  • 18.
  • 19.
    #5 Empower theTeam src: https://www.youtube.com/watch?v=5Z1Ea2Mg4c4
  • 20.
    7 Principles: Empowerthe Team •Find good people and let them do their job •People are not resource, they need motivation
  • 21.
    #6 Build IntegrityIn src: https://www.walldevil.com/102098-clocks-gears-gold-photography-clockwork.html
  • 22.
    7 Principles: BuildIntegrity In •Perceive Integrity •Customer experience with a system •Conceptual Integrity •Flexibility •Maintainability •Efficiency •Responsiveness
  • 23.
    #7 See theWhole src: http://www.pdac.co.uk/wp-content/uploads/2012/03/how-puzzle.jpg
  • 24.
    7 Principles: Seethe Whole •Software Product != sum of its part •Think about affected areas when fix defects / add new features •Optimization
  • 25.
    Resources Learn more aboutLSD Read this book
  • 26.