SlideShare une entreprise Scribd logo
1  sur  28
Télécharger pour lire hors ligne
Lean Software Development




                                                Alexandre Boutin
Responsable Stratégie International Développement Logiciel chez Yahoo
                     Scrum Master & Practitioner Certifié – Coach Agile
                                                    Blog : www.agilex.fr
                                   Président du Club Agile Rhône Alpes
Agenda

• Overview
   – Lean Software Development

• The 7 Lean Principles
   –   Eliminate Waste
   –   Improve the system
   –   Build Quality In
   –   Defer Commitment
   –   Deliver Fast
   –   Respect People
   –   Create Knowledge

                                 -2-   2
Overview - LEAN

• LEAN, at its core, is a management approach for
  streamlining production systems by
    –   Streamlining the value chain (even across companies)
    –   Eliminating waste from the flow
    –   Being disciplined about “when” decisions are made
    –   Leveraging people as the most flexible resource in the system,
• LEAN offers a set of tools to challenge our beliefs and find
  better way to deliver product
• Mary and Tom Poppendieck have transferred principles
  and practices from the manufacturing environment to the
  software development
• Mary said: “There is nothing directly relating the LEAN and
  AGILE concepts, yet they fit together nicely in a software
  organization.”

                                            -3-                          3
Agenda

• Overview
   – Lean Software Development

• The 7 Lean Principles
   –   Eliminate Waste
   –   Improve the system
   –   Build Quality In
   –   Defer Commitment
   –   Deliver Fast
   –   Respect People
   –   Create Knowledge

                                 -4-   4
The Seven Wastes

 The Seven Wastes of Manufacturing
                                      The 7 Wastes of software Development
                    - Shigeo Shingo

     1. Inventory                     1. Partially Done Work
     2. Overproduction                2. Extra Features
     3. Extra Processing              3. Extra Processes
     4. Motion                        4. Task Switching
     5. Transportation                5. Handoffs
     6. Waiting                       6. Delays
     7. Defects                       7. Defects

Principle 1: Eliminate Waste                                                 5
                                             -5-
Extra Features


                  Features and Functions Used in a Typical System

  Often or Always               Sometimes
     Used: 20%                                                        Rarely
                                  16%
                                                                       19%



                                                                                         Never
   Often
                                                                                          45%
   13%


          Always
            7%
                                                                               Rarely or Never
   Standish Group Study Reported at XP2002 by Jim Johnson, Chairman              Used: 64%

Principle 1: Eliminate Waste                               -6-                                   6
Value Stream Mapping

   Example




                      1 week   1 week   6 weeks working together




Principle 1: Eliminate Waste                                 -7-   7
Agenda

• Overview
   – Lean Software Development

• The 7 Lean Principles
   –   Eliminate Waste
   –   Improve the system
   –   Build Quality In
   –   Defer Commitment
   –   Deliver Fast
   –   Respect People
   –   Create Knowledge

                                 -8-   8
Brilliant Products

              Breaking the Customer / Supplier model

 • The job that customers                • The right technology
   need done                                         to do that job
                                  Mind Meld




            Understands                                Understands
            The Business                              The Technology



Principle 2: Improve the system               -9-                      9
Think Products, not Projects


  •   Up-front funding               Projects
                                                                                                               Maintenance

  •   Scope fixed at onset                                                                  Completion

  •   Success =
      cost/schedule/scope
  •   Team disbands at completion
                                        Start of Project
  •   Documentation tossed
      over-the-wall to maintenance

  •   Incremental funding                                                                                    Major Release
                                      Products
  •   Scope expected to evolve
                                                                                               Dot upgrade
  •   Success = profit/market share
                                                                                  First Production Release
  •   Team stays with product
                                                                           Beta Release
  •   Team uses its own                                          Alpha Release

      documentation
                                                        Internal Release
                                               Feasibility                       System Thinking
                                     Concept
Principle 2: Improve the system                                 - 10 -                                                10
Architecture

                         • The Role of Systems Design (Architecture):
                                  – Provide a foundation for growth
                                     • Create a common infrastructure
                                  – Enable incremental development
                                     • Minimize dependencies
                                     • Modularize potential change
                                  – Create space for teams to innovate
                                     • Design, code and test are different aspects of
                                       the same job and must be done concurrently
                                  – Leave room for the future
                                     • Evolve the architecture over time

Principle 2: Improve the system                          - 11 -                         11
Agenda

• Overview
   – Lean Software Development

• The 7 Lean Principles
   –   Eliminate Waste
   –   Improve the system
   –   Build Quality In
   –   Defer Commitment
   –   Deliver Fast
   –   Respect People
   –   Create Knowledge

                                 - 12 -   12
Continuous Integration

    • Every few minutes
           – Check in code, build and run unit tests
    • Every day
           – Run acceptance tests
    • Every week
           – Run more complete test suites
    • Every iteration
           – Deployment-ready code
    • Every Release
           – Deploy and run in production
Principle 3: Build Quality In               - 13 -     13
Technical Debt

      Anything that makes code difficult to change
      increases the Technical Debt
  •    Complexity
       The cost of complexity is exponential.
                                                                 Low Tech
  •    Regression Deficit                                                 nical De   bt
       Every time you add new features




                                                                      Hi
       the regression test grows longer!




                                                                        gh
                                                                         Te
  •    Unsynchronized Code Branches




                                                                            ch
                                                                              ni
       The longer two code branches remain apart,




                                                                                c
                                                                               al
       the more difficult merging will be.




                                                                                    De
                                                                                     bt
       You can pay full price for code when you build
       it or you can incur technical debt.
       But interests rates are very high.

Principle 3: Build Quality In                           - 14 -                            14
Testing contribution to quality


 Two Kinds of Inspection
 • Inspection to Find Defects                         – is WASTE
 • Inspection to Prevent Defects – is Essential

                          The Role of Testing
                          • The job of Testing is not to find defects
                          • The job of Testing is to prevent defects.
                          • A quality process builds quality into the code
                                If you routinely find defects during verification
                                       Your process is defective.

Principle 3: Build Quality In                              - 15 -                   15
Agenda

• Overview
   – Lean Software Development

• The 7 Lean Principles
   –   Eliminate Waste
   –   Improve the system
   –   Build Quality In
   –   Defer Commitment
   –   Deliver Fast
   –   Respect People
   –   Create Knowledge

                                 - 16 -   16
Change Tolerant Software


 • 60-80% of all software is developed
   after first release to production.


 • A development process that anticipates change will result
   in software that tolerates change.
 • System architecture should support the addition of any
   feature at any time
 • Make decisions reversible whenever possible.
 • Make irreversible decisions as late as possible.
        – Ex: When do you really need the user interface designed?


Principle 4: Defer Commitment                 - 17 -                 17
Set-Based Engineering

    Point-Based
    Point-
                                      Developers   Set-Based
                                                   Set-
                                                                              Technical
    Design           Analyze &           Testers    Business Logic            Capabilities
   Solution           Critique                      Approaches
                                                                     Accept
                                      UI                              able

             Modify                   Designers
                                Product Manager                 GUI Alternatives
  Architect

  • Multiple options are prepared for the decision.
  • There is always an option that will work.
  • Paradox:
         This is not waste!
Principle 4: Defer Commitment                      - 18 -                                    18
Agenda

• Overview
   – Lean Software Development

• The 7 Lean Principles
   –   Eliminate Waste
   –   Improve the system
   –   Build Quality In
   –   Defer Commitment
   –   Deliver Fast
   –   Respect People
   –   Create Knowledge

                                 - 19 -   19
Push vs Pull




Principle 5: Deliver Fast              - 20 -   20
Iterative Development



SCRUM




                          KANBAN


                 - 21 -            21
Agenda

• Overview
   – Lean Software Development

• The 7 Lean Principles
   –   Eliminate Waste
   –   Improve the system
   –   Build Quality In
   –   Defer Commitment
   –   Deliver Fast
   –   Respect People
   –   Create Knowledge

                                 - 22 -   22
Environment

         A TEAM




                  - 23 -   23
Provide Effective Leadership


          Marketing Leader                  Process Leader
          •    Business Responsibility      •   Build Block Disciplines
          •    Customer Understanding       •   Iterative Development
          •    Roadmap Planning             •   Visible Workspace
          •    Tradeoffs                    Project Leader
                                            •   Funding
          Technical Leader                  •   (Scheduling)
          •    System Architecture          •   Tracking
                 – At a high level
                 – Work daily with those    Functional Leader
                   developing the details
                                            •   Staffing
          •    Technical Guidance
                 – Integration              •   Teaching
                 – Tradeoffs                •   Standards

Principle 6: Respect People                                               24
                                                 - 24 -
Agenda

• Overview
   – Lean Software Development

• The 7 Lean Principles
   –   Eliminate Waste
   –   Improve the system
   –   Build Quality In
   –   Defer Commitment
   –   Deliver Fast
   –   Respect People
   –   Create Knowledge

                                 - 25 -   25
Predictable performance is driven by
                      feedback

 • Set Up the feedback Loop
                                                                 Mind Meld
        – The job that customers need done
                                                         Understands
        – The right technology to do that job            The Business

        – Do it often and regularly
                                                                         Understands
                                                                        The Technology
 • Stop asking for
        – More documentation, more details in requirements, more plans,
          more commitments …

 • Deliver!
        – Prototype, Minimum Features set, Draft document …

 • Then ask for Feedback
Principle 7: Create Knowledge                   - 26 -                                   26
Capturing Knowledge


             The A3 Report                      Standards
   Two sheets of letter paper                   1 A4 page




Principle 7: Create Knowledge          - 27 -               27
Thank You!

Contenu connexe

Tendances

Escape the Feature Factory with Outcome-Oriented Roadmaps
Escape the Feature Factory with Outcome-Oriented RoadmapsEscape the Feature Factory with Outcome-Oriented Roadmaps
Escape the Feature Factory with Outcome-Oriented RoadmapsVMware Tanzu
 
Key lean principles for organizational change
Key lean principles for organizational changeKey lean principles for organizational change
Key lean principles for organizational changeLeanDog
 
Agile ME 2018 - Agile That Matters
Agile ME 2018 - Agile That MattersAgile ME 2018 - Agile That Matters
Agile ME 2018 - Agile That MattersRasmus Runberg
 
The Business Analysts Role in Agile Software Development
The Business Analysts Role in Agile Software DevelopmentThe Business Analysts Role in Agile Software Development
The Business Analysts Role in Agile Software Developmentallan kelly
 
Moving forward in your DevOps journey—What's your next step after CA World?
Moving forward in your DevOps journey—What's your next step after CA World?Moving forward in your DevOps journey—What's your next step after CA World?
Moving forward in your DevOps journey—What's your next step after CA World?CA Technologies
 
Mary Poppendieck: The Aware Organization - Lean IT Summit 2014
Mary Poppendieck: The Aware Organization - Lean IT Summit 2014Mary Poppendieck: The Aware Organization - Lean IT Summit 2014
Mary Poppendieck: The Aware Organization - Lean IT Summit 2014Institut Lean France
 
Introducing the Enterprise Transformation Meta Model
Introducing the Enterprise Transformation Meta ModelIntroducing the Enterprise Transformation Meta Model
Introducing the Enterprise Transformation Meta ModelRenee Troughton
 
I don't do Agile, I AM Agile!
I don't do Agile, I AM Agile!I don't do Agile, I AM Agile!
I don't do Agile, I AM Agile!Barry O'Reilly
 
DevOps Kaizen: Practical Steps to Start & Sustain a Transformation
DevOps Kaizen: Practical Steps to Start & Sustain a TransformationDevOps Kaizen: Practical Steps to Start & Sustain a Transformation
DevOps Kaizen: Practical Steps to Start & Sustain a Transformationdev2ops
 
Agile Washington 2015 Creating a Learning Culture
Agile Washington 2015 Creating a Learning CultureAgile Washington 2015 Creating a Learning Culture
Agile Washington 2015 Creating a Learning CultureRenee Troughton
 
The Power of an Agile BA
The Power of an Agile BAThe Power of an Agile BA
The Power of an Agile BAIIBA UK Chapter
 
Lean Principles for Agile Teams
Lean Principles for Agile TeamsLean Principles for Agile Teams
Lean Principles for Agile TeamsElizabeth Woodward
 
Never The Twain Shall Meet: Can Agile Work with a Waterfall Process?
Never The Twain Shall Meet: Can Agile Work with a Waterfall Process?Never The Twain Shall Meet: Can Agile Work with a Waterfall Process?
Never The Twain Shall Meet: Can Agile Work with a Waterfall Process?John Carter
 
Agile from the executive floor - defining agility in business terms - Agile P...
Agile from the executive floor - defining agility in business terms - Agile P...Agile from the executive floor - defining agility in business terms - Agile P...
Agile from the executive floor - defining agility in business terms - Agile P...Yuval Yeret
 
Compasspoint Measurement Workshop
Compasspoint Measurement WorkshopCompasspoint Measurement Workshop
Compasspoint Measurement WorkshopBeth Kanter
 
Innovation, Lean, Agile. Myths and Misconception
Innovation, Lean, Agile. Myths and MisconceptionInnovation, Lean, Agile. Myths and Misconception
Innovation, Lean, Agile. Myths and MisconceptionGaetano Mazzanti
 
Lean Startup: It's Not Just Technology, Lives are at Stake
Lean Startup: It's Not Just Technology, Lives are at StakeLean Startup: It's Not Just Technology, Lives are at Stake
Lean Startup: It's Not Just Technology, Lives are at StakeKen Power
 
Scaled Agile Framework (SAFe) 4.5 Tutorial ...
Scaled Agile Framework (SAFe) 4.5 Tutorial ...Scaled Agile Framework (SAFe) 4.5 Tutorial ...
Scaled Agile Framework (SAFe) 4.5 Tutorial ...David Rico
 
Project management in the age of accelerating change - general non IT specific
Project management in the age of accelerating change - general non IT specificProject management in the age of accelerating change - general non IT specific
Project management in the age of accelerating change - general non IT specificLuca Minudel
 
Dealing with Shifting Priorities using Lean/Kanban Flow, WIP Limits and Capac...
Dealing with Shifting Priorities using Lean/Kanban Flow, WIP Limits and Capac...Dealing with Shifting Priorities using Lean/Kanban Flow, WIP Limits and Capac...
Dealing with Shifting Priorities using Lean/Kanban Flow, WIP Limits and Capac...AgileSparks
 

Tendances (20)

Escape the Feature Factory with Outcome-Oriented Roadmaps
Escape the Feature Factory with Outcome-Oriented RoadmapsEscape the Feature Factory with Outcome-Oriented Roadmaps
Escape the Feature Factory with Outcome-Oriented Roadmaps
 
Key lean principles for organizational change
Key lean principles for organizational changeKey lean principles for organizational change
Key lean principles for organizational change
 
Agile ME 2018 - Agile That Matters
Agile ME 2018 - Agile That MattersAgile ME 2018 - Agile That Matters
Agile ME 2018 - Agile That Matters
 
The Business Analysts Role in Agile Software Development
The Business Analysts Role in Agile Software DevelopmentThe Business Analysts Role in Agile Software Development
The Business Analysts Role in Agile Software Development
 
Moving forward in your DevOps journey—What's your next step after CA World?
Moving forward in your DevOps journey—What's your next step after CA World?Moving forward in your DevOps journey—What's your next step after CA World?
Moving forward in your DevOps journey—What's your next step after CA World?
 
Mary Poppendieck: The Aware Organization - Lean IT Summit 2014
Mary Poppendieck: The Aware Organization - Lean IT Summit 2014Mary Poppendieck: The Aware Organization - Lean IT Summit 2014
Mary Poppendieck: The Aware Organization - Lean IT Summit 2014
 
Introducing the Enterprise Transformation Meta Model
Introducing the Enterprise Transformation Meta ModelIntroducing the Enterprise Transformation Meta Model
Introducing the Enterprise Transformation Meta Model
 
I don't do Agile, I AM Agile!
I don't do Agile, I AM Agile!I don't do Agile, I AM Agile!
I don't do Agile, I AM Agile!
 
DevOps Kaizen: Practical Steps to Start & Sustain a Transformation
DevOps Kaizen: Practical Steps to Start & Sustain a TransformationDevOps Kaizen: Practical Steps to Start & Sustain a Transformation
DevOps Kaizen: Practical Steps to Start & Sustain a Transformation
 
Agile Washington 2015 Creating a Learning Culture
Agile Washington 2015 Creating a Learning CultureAgile Washington 2015 Creating a Learning Culture
Agile Washington 2015 Creating a Learning Culture
 
The Power of an Agile BA
The Power of an Agile BAThe Power of an Agile BA
The Power of an Agile BA
 
Lean Principles for Agile Teams
Lean Principles for Agile TeamsLean Principles for Agile Teams
Lean Principles for Agile Teams
 
Never The Twain Shall Meet: Can Agile Work with a Waterfall Process?
Never The Twain Shall Meet: Can Agile Work with a Waterfall Process?Never The Twain Shall Meet: Can Agile Work with a Waterfall Process?
Never The Twain Shall Meet: Can Agile Work with a Waterfall Process?
 
Agile from the executive floor - defining agility in business terms - Agile P...
Agile from the executive floor - defining agility in business terms - Agile P...Agile from the executive floor - defining agility in business terms - Agile P...
Agile from the executive floor - defining agility in business terms - Agile P...
 
Compasspoint Measurement Workshop
Compasspoint Measurement WorkshopCompasspoint Measurement Workshop
Compasspoint Measurement Workshop
 
Innovation, Lean, Agile. Myths and Misconception
Innovation, Lean, Agile. Myths and MisconceptionInnovation, Lean, Agile. Myths and Misconception
Innovation, Lean, Agile. Myths and Misconception
 
Lean Startup: It's Not Just Technology, Lives are at Stake
Lean Startup: It's Not Just Technology, Lives are at StakeLean Startup: It's Not Just Technology, Lives are at Stake
Lean Startup: It's Not Just Technology, Lives are at Stake
 
Scaled Agile Framework (SAFe) 4.5 Tutorial ...
Scaled Agile Framework (SAFe) 4.5 Tutorial ...Scaled Agile Framework (SAFe) 4.5 Tutorial ...
Scaled Agile Framework (SAFe) 4.5 Tutorial ...
 
Project management in the age of accelerating change - general non IT specific
Project management in the age of accelerating change - general non IT specificProject management in the age of accelerating change - general non IT specific
Project management in the age of accelerating change - general non IT specific
 
Dealing with Shifting Priorities using Lean/Kanban Flow, WIP Limits and Capac...
Dealing with Shifting Priorities using Lean/Kanban Flow, WIP Limits and Capac...Dealing with Shifting Priorities using Lean/Kanban Flow, WIP Limits and Capac...
Dealing with Shifting Priorities using Lean/Kanban Flow, WIP Limits and Capac...
 

Similaire à Lean at Yahoo in 2008

Agile product development and management
Agile product development and managementAgile product development and management
Agile product development and managementAshwinee Kumar
 
Agileproductdevelopmentandmanagement 120420040535-phpapp02
Agileproductdevelopmentandmanagement 120420040535-phpapp02Agileproductdevelopmentandmanagement 120420040535-phpapp02
Agileproductdevelopmentandmanagement 120420040535-phpapp02Cognizant
 
Agile Overview Session
Agile Overview SessionAgile Overview Session
Agile Overview SessionBahaa Farouk
 
Introduction To Scrum
Introduction To ScrumIntroduction To Scrum
Introduction To ScrumDave Neuman
 
Agile Development Product Delivery For Successful Organizations
Agile Development Product Delivery For Successful OrganizationsAgile Development Product Delivery For Successful Organizations
Agile Development Product Delivery For Successful OrganizationsMarc Crudgington, MBA
 
Lean Product Development at Discovery Communications: Methodology, Practices,...
Lean Product Development at Discovery Communications: Methodology, Practices,...Lean Product Development at Discovery Communications: Methodology, Practices,...
Lean Product Development at Discovery Communications: Methodology, Practices,...Chris McFadden
 
Introduction to Agile
Introduction to AgileIntroduction to Agile
Introduction to AgileRichard Cheng
 
Introduction To Agile Refresh Savannah July20 2010 V1 4
Introduction To Agile Refresh Savannah July20 2010 V1 4Introduction To Agile Refresh Savannah July20 2010 V1 4
Introduction To Agile Refresh Savannah July20 2010 V1 4Marvin Heery
 
Copenhagen 121127 - Lars Irenius
Copenhagen 121127 - Lars IreniusCopenhagen 121127 - Lars Irenius
Copenhagen 121127 - Lars IreniusKnowit_TM
 
Top 10 Business Reasons for ALM
Top 10 Business Reasons for ALMTop 10 Business Reasons for ALM
Top 10 Business Reasons for ALMImaginet
 
Enterprise system implementation strategies and phases
Enterprise system implementation strategies and phasesEnterprise system implementation strategies and phases
Enterprise system implementation strategies and phasesJohn Cachat
 
The quality attribute of upgradability
The quality attribute of upgradabilityThe quality attribute of upgradability
The quality attribute of upgradabilityLen Bass
 
Software Engineering The Multiview Approach And Wisdm
Software Engineering   The Multiview Approach And WisdmSoftware Engineering   The Multiview Approach And Wisdm
Software Engineering The Multiview Approach And Wisdmguestc990b6
 
Lean Development Overview
Lean Development OverviewLean Development Overview
Lean Development Overviewdhawalm123
 
Intro Of Agile
Intro Of AgileIntro Of Agile
Intro Of AgileSam Hwang
 

Similaire à Lean at Yahoo in 2008 (20)

Agile product development and management
Agile product development and managementAgile product development and management
Agile product development and management
 
Agileproductdevelopmentandmanagement 120420040535-phpapp02
Agileproductdevelopmentandmanagement 120420040535-phpapp02Agileproductdevelopmentandmanagement 120420040535-phpapp02
Agileproductdevelopmentandmanagement 120420040535-phpapp02
 
Agile Overview Session
Agile Overview SessionAgile Overview Session
Agile Overview Session
 
Introduction To Scrum
Introduction To ScrumIntroduction To Scrum
Introduction To Scrum
 
Agile Development Product Delivery For Successful Organizations
Agile Development Product Delivery For Successful OrganizationsAgile Development Product Delivery For Successful Organizations
Agile Development Product Delivery For Successful Organizations
 
APO 2.0
APO 2.0APO 2.0
APO 2.0
 
Agile intro module 1
Agile intro   module 1Agile intro   module 1
Agile intro module 1
 
Agile intro module 1
Agile intro   module 1Agile intro   module 1
Agile intro module 1
 
Lean Product Development at Discovery Communications: Methodology, Practices,...
Lean Product Development at Discovery Communications: Methodology, Practices,...Lean Product Development at Discovery Communications: Methodology, Practices,...
Lean Product Development at Discovery Communications: Methodology, Practices,...
 
Introduction to Agile
Introduction to AgileIntroduction to Agile
Introduction to Agile
 
Agile values
Agile valuesAgile values
Agile values
 
Introduction To Agile Refresh Savannah July20 2010 V1 4
Introduction To Agile Refresh Savannah July20 2010 V1 4Introduction To Agile Refresh Savannah July20 2010 V1 4
Introduction To Agile Refresh Savannah July20 2010 V1 4
 
Copenhagen 121127 - Lars Irenius
Copenhagen 121127 - Lars IreniusCopenhagen 121127 - Lars Irenius
Copenhagen 121127 - Lars Irenius
 
AMI Presentation
AMI PresentationAMI Presentation
AMI Presentation
 
Top 10 Business Reasons for ALM
Top 10 Business Reasons for ALMTop 10 Business Reasons for ALM
Top 10 Business Reasons for ALM
 
Enterprise system implementation strategies and phases
Enterprise system implementation strategies and phasesEnterprise system implementation strategies and phases
Enterprise system implementation strategies and phases
 
The quality attribute of upgradability
The quality attribute of upgradabilityThe quality attribute of upgradability
The quality attribute of upgradability
 
Software Engineering The Multiview Approach And Wisdm
Software Engineering   The Multiview Approach And WisdmSoftware Engineering   The Multiview Approach And Wisdm
Software Engineering The Multiview Approach And Wisdm
 
Lean Development Overview
Lean Development OverviewLean Development Overview
Lean Development Overview
 
Intro Of Agile
Intro Of AgileIntro Of Agile
Intro Of Agile
 

Lean at Yahoo in 2008

  • 1. Lean Software Development Alexandre Boutin Responsable Stratégie International Développement Logiciel chez Yahoo Scrum Master & Practitioner Certifié – Coach Agile Blog : www.agilex.fr Président du Club Agile Rhône Alpes
  • 2. Agenda • Overview – Lean Software Development • The 7 Lean Principles – Eliminate Waste – Improve the system – Build Quality In – Defer Commitment – Deliver Fast – Respect People – Create Knowledge -2- 2
  • 3. Overview - LEAN • LEAN, at its core, is a management approach for streamlining production systems by – Streamlining the value chain (even across companies) – Eliminating waste from the flow – Being disciplined about “when” decisions are made – Leveraging people as the most flexible resource in the system, • LEAN offers a set of tools to challenge our beliefs and find better way to deliver product • Mary and Tom Poppendieck have transferred principles and practices from the manufacturing environment to the software development • Mary said: “There is nothing directly relating the LEAN and AGILE concepts, yet they fit together nicely in a software organization.” -3- 3
  • 4. Agenda • Overview – Lean Software Development • The 7 Lean Principles – Eliminate Waste – Improve the system – Build Quality In – Defer Commitment – Deliver Fast – Respect People – Create Knowledge -4- 4
  • 5. The Seven Wastes The Seven Wastes of Manufacturing The 7 Wastes of software Development - Shigeo Shingo 1. Inventory 1. Partially Done Work 2. Overproduction 2. Extra Features 3. Extra Processing 3. Extra Processes 4. Motion 4. Task Switching 5. Transportation 5. Handoffs 6. Waiting 6. Delays 7. Defects 7. Defects Principle 1: Eliminate Waste 5 -5-
  • 6. Extra Features Features and Functions Used in a Typical System Often or Always Sometimes Used: 20% Rarely 16% 19% Never Often 45% 13% Always 7% Rarely or Never Standish Group Study Reported at XP2002 by Jim Johnson, Chairman Used: 64% Principle 1: Eliminate Waste -6- 6
  • 7. Value Stream Mapping Example 1 week 1 week 6 weeks working together Principle 1: Eliminate Waste -7- 7
  • 8. Agenda • Overview – Lean Software Development • The 7 Lean Principles – Eliminate Waste – Improve the system – Build Quality In – Defer Commitment – Deliver Fast – Respect People – Create Knowledge -8- 8
  • 9. Brilliant Products Breaking the Customer / Supplier model • The job that customers • The right technology need done to do that job Mind Meld Understands Understands The Business The Technology Principle 2: Improve the system -9- 9
  • 10. Think Products, not Projects • Up-front funding Projects Maintenance • Scope fixed at onset Completion • Success = cost/schedule/scope • Team disbands at completion Start of Project • Documentation tossed over-the-wall to maintenance • Incremental funding Major Release Products • Scope expected to evolve Dot upgrade • Success = profit/market share First Production Release • Team stays with product Beta Release • Team uses its own Alpha Release documentation Internal Release Feasibility System Thinking Concept Principle 2: Improve the system - 10 - 10
  • 11. Architecture • The Role of Systems Design (Architecture): – Provide a foundation for growth • Create a common infrastructure – Enable incremental development • Minimize dependencies • Modularize potential change – Create space for teams to innovate • Design, code and test are different aspects of the same job and must be done concurrently – Leave room for the future • Evolve the architecture over time Principle 2: Improve the system - 11 - 11
  • 12. Agenda • Overview – Lean Software Development • The 7 Lean Principles – Eliminate Waste – Improve the system – Build Quality In – Defer Commitment – Deliver Fast – Respect People – Create Knowledge - 12 - 12
  • 13. Continuous Integration • Every few minutes – Check in code, build and run unit tests • Every day – Run acceptance tests • Every week – Run more complete test suites • Every iteration – Deployment-ready code • Every Release – Deploy and run in production Principle 3: Build Quality In - 13 - 13
  • 14. Technical Debt Anything that makes code difficult to change increases the Technical Debt • Complexity The cost of complexity is exponential. Low Tech • Regression Deficit nical De bt Every time you add new features Hi the regression test grows longer! gh Te • Unsynchronized Code Branches ch ni The longer two code branches remain apart, c al the more difficult merging will be. De bt You can pay full price for code when you build it or you can incur technical debt. But interests rates are very high. Principle 3: Build Quality In - 14 - 14
  • 15. Testing contribution to quality Two Kinds of Inspection • Inspection to Find Defects – is WASTE • Inspection to Prevent Defects – is Essential The Role of Testing • The job of Testing is not to find defects • The job of Testing is to prevent defects. • A quality process builds quality into the code If you routinely find defects during verification Your process is defective. Principle 3: Build Quality In - 15 - 15
  • 16. Agenda • Overview – Lean Software Development • The 7 Lean Principles – Eliminate Waste – Improve the system – Build Quality In – Defer Commitment – Deliver Fast – Respect People – Create Knowledge - 16 - 16
  • 17. Change Tolerant Software • 60-80% of all software is developed after first release to production. • A development process that anticipates change will result in software that tolerates change. • System architecture should support the addition of any feature at any time • Make decisions reversible whenever possible. • Make irreversible decisions as late as possible. – Ex: When do you really need the user interface designed? Principle 4: Defer Commitment - 17 - 17
  • 18. Set-Based Engineering Point-Based Point- Developers Set-Based Set- Technical Design Analyze & Testers Business Logic Capabilities Solution Critique Approaches Accept UI able Modify Designers Product Manager GUI Alternatives Architect • Multiple options are prepared for the decision. • There is always an option that will work. • Paradox: This is not waste! Principle 4: Defer Commitment - 18 - 18
  • 19. Agenda • Overview – Lean Software Development • The 7 Lean Principles – Eliminate Waste – Improve the system – Build Quality In – Defer Commitment – Deliver Fast – Respect People – Create Knowledge - 19 - 19
  • 20. Push vs Pull Principle 5: Deliver Fast - 20 - 20
  • 21. Iterative Development SCRUM KANBAN - 21 - 21
  • 22. Agenda • Overview – Lean Software Development • The 7 Lean Principles – Eliminate Waste – Improve the system – Build Quality In – Defer Commitment – Deliver Fast – Respect People – Create Knowledge - 22 - 22
  • 23. Environment A TEAM - 23 - 23
  • 24. Provide Effective Leadership Marketing Leader Process Leader • Business Responsibility • Build Block Disciplines • Customer Understanding • Iterative Development • Roadmap Planning • Visible Workspace • Tradeoffs Project Leader • Funding Technical Leader • (Scheduling) • System Architecture • Tracking – At a high level – Work daily with those Functional Leader developing the details • Staffing • Technical Guidance – Integration • Teaching – Tradeoffs • Standards Principle 6: Respect People 24 - 24 -
  • 25. Agenda • Overview – Lean Software Development • The 7 Lean Principles – Eliminate Waste – Improve the system – Build Quality In – Defer Commitment – Deliver Fast – Respect People – Create Knowledge - 25 - 25
  • 26. Predictable performance is driven by feedback • Set Up the feedback Loop Mind Meld – The job that customers need done Understands – The right technology to do that job The Business – Do it often and regularly Understands The Technology • Stop asking for – More documentation, more details in requirements, more plans, more commitments … • Deliver! – Prototype, Minimum Features set, Draft document … • Then ask for Feedback Principle 7: Create Knowledge - 26 - 26
  • 27. Capturing Knowledge The A3 Report Standards Two sheets of letter paper 1 A4 page Principle 7: Create Knowledge - 27 - 27