Lean production is not a new concept. It comes from the manufacturing industry and was polished by Toyota in the seventies. However, Lean manufacturing principles turned out to be so practical and universal that they can be used to create innovations in other industries as well. In the Information Technology (IT) sphere, they are frequently used with the Six Sigma Principles, and in this article, we will explain what each principle means for Lean software development.
Lean manufacturing and Lean software development are based on the seven pillars. All these principles were developed according to the idea that everything that doesn’t add value to the customer should be avoided or removed. Here is how the principles work in IT.
1. Eliminate Waste
Waste elimination is a classic manufacturing problem. But what is lean software development waste? In order to answer this question, it is necessary to return to the key idea that everything that doesn’t add value is waste. It can be:
2. Build Quality In
This principle focuses on the quality of the product being created and suggests that it is necessary to:
3. Create Knowledge
According to this principle, the development team is encouraged to create and share knowledge in a convenient format. For example, it can be knowledge sharing sessions, document writing or even storytelling.
The main thing is to transfer valuable insights from one team member to others to make sure that the same mistake will not be repeated, provoke waste, spoil the quality and/or badly affect the delivery speed using the 7 Lean principles.
4. Defer Commitment
It is very easy to confuse this principle with an attempt to transfer responsibility to someone else. However, the essence of this principle is different. This principle suggests that we do not need to make any final and far-reaching decisions until we have comprehensive and sufficient data.
But it is necessary to keep your eyes open and be prepared for change. According to this approach, the team must constantly collect new information, as well as take business requirements into account, which can change at any time.
Does this principle remind you of something else? Yes, this is one of the main ideas of Agile development.
5. Deliver Fast
This principle also has a pitfall for IT and is closely interconnected with other principles as well. Deliver fast does not mean deliver at all costs. The Lean system does not mean continuous work for a high-tech solution. The basis of this principle is speed multiplied by simplicity.
In this case, we again return to the MVP approach, when it is necessary to quickly develop a simple, but high-quality solution, test the feedback at the same speed and then move on to the development of new functions if the market requests them.
In this context, the speed of market launch becomes key, and the market need is a reference to the first principle. Do not create a feature until you are asked for it.
6. Respect People
This is a basic, but rather universal principle which also determines the success of a team. Human relationships cannot be excluded from the process even with remote work, .
The Lean methodology suggests adhering to the rules of effective communication, healthy debate and conflict, and professional ethics when hiring, onboarding and firing employees.
7. Optimize the Whole Instead of Single Parts
To understand this principle, it is necessary to imagine each of the work processes as a value stream. This flow can go in the right direction and carry value, or it can create a vicious circle.
Here is an example of a vicious circle:
This is an example of the misuse of the Deliver Fast principle.
In order to optimize the whole, it is necessary to optimize each process individually. In order to optimize a single process, you need to understand what the stumbling block is. In our example, the blocker of the stream value is the priority of speed over quality (when it is necessary to keep a balance), or a violation of the second principle when there is no test-driven approach.