Lean Dictionary: Important Terms to Know
If you are a software developer, you have probably heard of Lean methodology. It is not the most popular project management method today. However, some researchers consider it one of the most effective methodologies. To learn Lean better, you should view the list of terms that are typical for it. In this article, we will introduce a brief Lean dictionary. But before doing that, it is necessary to find the proper definition of this methodology.
Lean originated in Japan in the middle of the 20th century. It was invented by the managers of Toyota Corporation. The company had large problems with product delivery, so it needed a new production system. The innovational methodology was called Toyota production system, but it changed its name to Lean manufacturing after it became popular all over the world. In 2003 after Tom and Mary Poppendieck published their first book “Lean Software Development”, the methodology was applied to software engineering. The book described 7 principles of Lean that are applicable to any industry. Today Lean is considered an Agile software development methodology. That can be explained by the fact that the structure of its projects is iterative, the degree of customer involvement is high, and the communication inside of its teams is strong.
Now let’s look at the Lean dictionary.
Lean teams are typical Agile teams. It means that they are self-managing. They don’t need project managers because they are always responsible for their projects as a whole. A Lean team must include only the most qualified and experienced developers. It is quite small. Usually, Lean teams include less than 15 people. That is why all their members should be capable of performing several different roles. For example, a typical Lean programmer must be also a good tester and a business analyst. Of course, it is not simple to find such employees for your Lean team, but the result is worth the effort.
Waste elimination is the main principle of Lean. This methodology has its own unique definition of wastes. It is quite simple, but very effective. In Lean, anything that does not add new functionality to the final product is considered a waste. It means that Lean developers account and eliminate not only unnecessary expenses but also other negative factors that impact their projects. The process of waste elimination is usually related to the testing stage that takes place at the end of each iterative cycle. Lean developers not only fix bugs in their products but also analyze their work during certain iteration and define all wastes in it.
Fast delivery of products is another important principle of Lean methodology. After all, it was invented to improve the terms of product delivery. Lean teams do not waste their time on unnecessary actions. That is why they prefer to avoid defects instead of fixing them. Like XP teams, Lean teams involve the customers into the process of project realization. Such approach helps them eliminate unnecessary time-wasting.