Lean software development has derived its principles from lean manufacturing. Below figure ‘Principles of LSD’ shows all the principles.
Figure: - Principles of LSD
Let’s understand in brief about the principles.
Eliminate waste: - Only deliver what’s needed to the end user. Anything more than that is a waste. In short anything which does not add value is a waste. In short we can by pass tasks and still deliver then it should be bypassed.
Decide as late as possible: - Software systems are complex. The more they are near to execution more is the clarity. So delay decisions so that they can be based in facts rather than assumptions. For instance your team decides to use automation testing, but when you complete execution you come to know changes are delivered every day by the developer. After execution you conclude manual testing is the best option. Bad part will be if you have already bought an automation tool, its waste of money.
Deliver as fast as possible: - faster a product is delivered, faster you will get user response and faster you can improve in the next iteration. The concept is not fast coding, but try to deliver is small user identified chunks for better understanding.
Motivate team: - Team members are the most important aspect for success of any project. Motivate them, given them roles; keep your team spirit high and whatever you can do to make them feel good in the project. A highly motivated team delivers project on time.
Integrity: - Software system should be delivered in loosely coupled components. Every component or module can function individually and when integrated with the project it works perfectly well. It should be a plug and play from the end user point of view. This spirit is derived from how actual production system work. You can assemble a car with wheels from one organization and seats from other organization.