Roles in Lean Methodology
Every software development methodology has its particular amount of roles. They usually depend on the structure of its team. As we know, modern software development industry includes lots of methodologies. That is why their teams are not similar. In this article we will tell you about the roles typical for Lean methodology. But before doing that it is necessary to describe the method itself.
Lean originated in the middle of the 20th century in Japan as a methodology of manufacturing. The famous motor company Toyota had large problems with the delivery of its production at that time. That is why its managers invented a new system of manufacturing. Initially it was called Toyota production system, but it changed its name after it became popular all over the world. Now it is famous under the name Lean manufacturing. The system can actually be applied to any industry. In 2003, after two famous Lean researchers Tom and Mary Poppendieck published their first book “Lean Software Development”, it was applied to software engineering. Today Lean is considered one of the Agile methodologies. Its main idea is to improve the terms of product delivery by eliminating wastes. Lean has its own definition of wastes. It may seem quite weird, but it is extremely effective. Anything that does not add new functionality to the final product is considered a waste in it. Such an approach is what makes Lean Agile, because it requires iterative structure of projects. It is much simpler to eliminate wastes after each iterative cycle than to do it after the entire project is completed.
The testing procedure is also extremely important for Lean developers. Usually they prefer to avoid bugs rather than fixing them. However, it is almost impossible to create a software product that does not contain bugs. That is why they detect bugs after each iteration. Lean developers also often use some popular XP practices. Test-driven development is one of them. Such an approach allows the developers to minimize the amount of bugs in their products. Like in other Agile methodologies, the communication inside of Lean teams is very strong. Their members have to discuss all project issues because such teams have no formal leaders and strict hierarchical structure. The team members also contact their clients constantly during their projects. That can be explained by the fact that such contacts improve the customer and user acceptance of their products.
Now as we know what Lean is, we can start describing the roles typical for this methodology. The first thing we have to mention is that the structure of Lean teams is very similar to the structure of Scrum teams. They are small and self-managing. Such teams do not include many traditional roles, like analysts, testers, and project managers. Usually they have about three roles: the Product Owner, the team lead, and the team member. These people are interchangeable. Each of them is capable of performing several project tasks. As you can see, the structure of Lean teams is not too complex, but it is quite effective.