Traditional vs Lean Methods
The issue of difference between various methodologies is now one of the most important issues in software development. Usually programmers compare traditional methodology with various Agile methods. It is necessary to define what methodology it is it better to use for certain projects. In this article we will compare Lean methodology to the traditional Waterfall method and find the difference between them.
Lean vs traditional software development methodology
Waterfall is often called traditional project management methodology. That is because of the fact that it originated in the 1950s with the software development industry itself. Currently Waterfall is the most popular software development methodology in the world. It is widely used by companies and teams in various countries. Actually, Waterfall is just a typical hardware development methodology applied to software engineering. Most specialists agree that it is based on three main principles: low degree of customer involvement, sequential structure of projects, and strong documentation.
Waterfall teams usually do not involve their customers into the process of project realization. They conduct only two meetings with their clients. The first of them takes place before the project begins. It is aimed at documenting all customer’s requirements. The second meeting is conducted only after the final software product is ready to delivery.
Strong documentation is required to create a software product that fully meets all customer’s requirements. As already mentioned above, Waterfall developers do not involve their clients into the process of software development. That is why they have to document all their demands. The project documentation begins to formulate at the first meeting with the customer. The process of its formulation is continued at the design stage.
Sequential structure of projects realization is probably the main principle of Waterfall. Each Waterfall project has 5 or 7 stages that should be performed one after another. Their order cannot be changed. Waterfall developers cannot return to the previous stages of work even if something in them went wrong. Most modern developers consider this feature the largest disadvantage of Waterfall methodology. Waterfall teams often have to run their projects from the very beginning because of the inability to fix bugs in their initial stages.
Lean methodology originated in the middle of 20th century in Japan. It was invented by the managers of Toyota Corporation to solve problems with product delivery. Initially the method was called Toyota production system, but its name has changed after it became popular all over the world. Now it is called Lean manufacturing. The main idea of Lean is to improve the terms of product delivery by eliminating wastes. The methodology has its own definition of wastes. It is simple, but effective. In Lean anything that does not impact the functional features of the future software product is considered a waste. Currently the methodology is applied to various industries including software development.
In software engineering Lean is considered an Agile methodology. That is because it shares the main Agile principles. Its projects have iterative structure, its teams are self-managing, and the degree of customer involvement in its projects is high. Unlike Waterfall, Lean does not require strong documentation because its developers can discuss the project issues with their customers.
As you can see, the only common thing between Lean and traditional software development methodologies is that both of them are aimed at creating high quality software.