Lean vs Traditional Method
Agile software development methodologies have been extremely popular all over the world in recent years. Lean method is one of them. That is why many programmers want to know more about it. In this article we will compare Lean with the traditional software development methodology to understand the difference between them and to learn both methods better. Let’s start our article off with the description of Lean.
Lean originated as a manufacturing methodology in the middle of the 20th century. It was invented by the employees of a famous Japanese corporation Toyota. The company had large problems with delivery of its production at that time, so its managers have decided to invent a method that helps eliminating the wastes. Initially it was called Toyota production system, but after the methodology became popular all over the world, they changed its name to Lean manufacturing. The main idea of Lean was to achieve better terms of product delivery through waste elimination. The methodology has its own definition of wastes. In Lean any action that does not add functionality to the final product is considered a waste.
In 2003 Lean was applied to software engineering after Tom and Mary Poppendieck published their famous book “Lean Software Development”. The book still remains topical because it tells how to implement 7 Lean principles in your software development project.
Lean is an Agile methodology, so it fully shares all Agile principles including iterative structure of projects, strong communication and customer involvement. Lean team is one more specific feature of this methodology. It does not have traditional roles like project managers, testers, or analysts. All members of a Lean team are interchangeable. That is why you should choose only the most experienced developers who are capable of performing several roles while creating your Lean team.
Traditional Waterfall methodology is a full opposite of Lean. It originated in the 1950s in the United States and was the first software development methodology. Actually, Waterfall is a typical hardware development method applied to software engineering. Today this methodology is the most popular all over the world. Most researchers agree that it has three main principles: low customer involvement, strong documentation, and sequential structure of projects.
Waterfall developers do not involve their clients in the process of project realization. Usually they conduct only two meetings with their customers during every project. The first of them takes place before the project begins, and the second – after it ends.
Strong documentation is required because Waterfall developers don’t contact their customers during the process of project realization. That is why they have to document all requirements.
Each Waterfall project has 5 or 7 stages that should be performed one after another. The team cannot change their places. It also cannot return to the previous stage of the project after it is finished.