Strictly speaking, lean software management is not an agile methodology, but lean and agile values are closed aligned. Lean is a set of principle that have book taken from lean manufacturing approaches and applied to software development. These principles focus on seven core concepts, as follows:
What You Will Learn
To maximize value, we must minimize waste. For software systems, waste can take the form of partially done work, delays, hand-offs, unnecessary features, etc. Therefore, to increase the value we are getting from projects, we must develop ways to identify and then remove waste.
Empower the team
Rather than taking a micromanagement approach, we should respect team members’ superior knowledge of the technical steps required on the project and let them make local decisions to be productive and successful.
We can maximize the project’s return on investment (ROI) by quickly delivering valuable software and iterating through designs. We find the best solution through the rapid evolution of options
Optimize the whole
We aim to see the system as more than the sum of its parts. We go beyond the pieces of the project and look for how it aligns with the organization. As part of optimizing the whole, we also focus on forming better inter-group relations.
Build quality in
Lean development doesn’t try to “test-in” quality at the end; instead, we build quality into the product and continually assure quality throughout the development process, using techniques like refactoring, continuous integration, and unit testing.
We balance early planning with making decisions and committing to things as late as possible. For example, this may mean re-prioritizing the backlog right up until it is time to plan an iteration, or avoiding being tied to an early technology-bounded solution.
This concept involves facilitating communication early and often, getting feedback as soon as possible, and building on what we learn. Software projects are business and technology learning experiences, so we should start soon and keep learning.
Lean gives us techniques and concepts such as value stream mapping, the seven forms of waste, pull systems, and work in progress (WIP).