27 April 2024

Agile and Lean Software Development (LSD)

Lean

  • A primary goal of Lean is to optimize the whole with speed and sustainability.
    • This can be summarized as “fast-flexible-flow,” which is the fundamental phrase used in Womack & Jones.

Lean Software Development

  • Lean is not strictly an agile development method but aligns closely to the agile approach.
  • In Lean Software Development (LSD), there are two forms of integrity :
    • conceptual integrity
      • Conceptual integrity is determined by the developers and is generally high if the product integrates well and functions as specified.
    • perceived integrity.
      • Perceived integrity is judged by the customer and is high if the customer is happy with the product, first and foremost, and secondly if the product meets requirements.
    • [Lean-Agile Software Development: Achieving Enterprise Agility. Alan Shalloway, Guy Beaver, James R. Trott.]
  • Continuous improvement
    • Agile project management places strong emphasis on ‘continuous improvement.’
    • Continuous improvement processes are built into the agile methodology, from customers providing feedback after each iteration to the team reserving time to reflect on its performance through retrospectives after each iteration.
    • Ongoing unit and integration testing and keeping up with technological/industry developments also play a part in the continuous improvement process.
    • Continuous improvement is also a key principle in the lean methodology, where a focus of removing waste from the value stream is held.
    • [The Art of Agile Development. James Shore.]

Lean Software Development principles

  • The 7 principles of Lean Software Development are :
    • Eliminate waste;
    • Amplify learning;
    • Decide as late as possible;
    • Deliver as fast as possible;
    • Empower the team;
    • Build integrity in;
    • See the whole.
    • [Lean-Agile Software Development: Achieving Enterprise Agility. Alan Shalloway, Guy Beaver, James R. Trott.]
  • 7 principles of Lean :
    • Eliminate waste
      • to maximize value we must minimize waste.
      • for software systems this can come under the form of work partially done, delays, unnecessary features, etc..
    • Amplify learning
      • facilitate communications with building on the learning curve.
    • Decide as late as possible
      • when creating the planning try to commit to this planning as late as possible.
    • Deliver as fast as possible
      • maximize ROI by quickly delivering valuable software.
    • Empower the team
      • respect individual knowledge empowering local decisions.
    • Build integrity and quality in
      • continually assure quality throughout the development process.
    • See and optimize the whole
      • see the system as more than the sum of its parts.

Lean Software Development practices

  • Lean software development practices, or what the Poppendiecks call “tools” are restated slightly from the original equivalents in agile software development. Examples of such practices include:
  • Since agile software development is an umbrella term for a set of methods and practices based on the values and principles expressed in the Agile Manifesto, lean software development is considered an agile software development method.

You may also read « Agile, Lean and waste »

More informations at PMI-ACP exam

Updated : 24/10/2021

Leave a Reply

Your email address will not be published. Required fields are marked *