Lean - mel2134/AgiilsedArendusmetoodikad GitHub Wiki

What it is

Lean SDLC is an agile methodology adapted from lean manufacturing principles, aiming to optimize efficiency and minimize waste in software development. It emphasizes delivering value to customers through streamlined processes, rapid delivery, and continuous improvement.

Image

image

Positive sides

  1. By identifying and eliminating non-value-adding activities, teams can focus on delivering features that matter to customers.
  2. Lean promotes rapid and incremental delivery of software, enabling quicker feedback and adaptation to changing requirements.
  3. Integrating practices like test-driven development and continuous integration ensures quality is built into the development process.

Negative sides

  1. Implementing Lean may necessitate a significant cultural change within the organization which can face resistance.
  2. Teams may need additional training to effectively apply lean principles and tools.
  3. Transitioning to Lean might require upfront investment in tools, training, and process restructuring.

Lean principles

  1. Eliminate Waste - remove activities that do not add value to the customer
  2. Amplify Learning - encourage continuous learning through practices like pair programming and code reviews
  3. Decide as Late as Possible - delay decisions until sufficient information is available to make informed choices
  4. Deliver as Fast as Possible - aim for rapid and incremental delivery to gather feedback and adapt quickly
  5. Empower the Team - provide teams with the autonomy and resources needed to make decisions and improve processes
  6. Build Quality In - Integrate quality assurance practices throughout the development process
  7. Optimize the Whole - Focus on improving the entire system rather than individual components

Sources

GeeksforGeeks - Lean Software Development (LSD)
Planview - 7 Lean Development Principles
SixSigma.us - Principles of Lean Software Development
Built In - Lean Software Development