Lean Software Development Life Cycle
Each software development methodology has its own specific features. Their life cycles are one of them. Today many developers want to know more about Lean software development life cycle. In this article we will tell you about it. But before doing that, it is necessary to find the proper definition for Lean methodology in software development.
Initially, Lean originated as a manufacturing methodology. It was invented by the employees of Japanese Toyota Corporation in the middle of the 20th century. At that time it was called Toyota production system. But when the methodology has spread all over the world, it changed its name to Lean manufacturing. Elimination of wastes was the main idea of Lean. Its inventors thought that wastes are the only sources of problems with product delivery. The definition of wastes in Lean is quite simple. Anything that does not impact the functionality of the final product positively is considered a waste.
In 2003 Lean methodology was applied to software development. Two famous Lean researchers – Tom and Mary Poppendieck – published a book called “Lean Software Development”. Its main idea was to adapt the main Lean principles to software engineering industry. The book has succeeded as the methodology itself. Now Lean is considered one of the most effective Agile methodologies. However, it is not the most popular. Perhaps that is because of its complexity. Nevertheless, many developers use it successfully.
Lean development life cycle
As already mentioned above, all software development methodologies have their own life cycles. Lean is not an exception. Lean development life cycle is iterative, because it is an Agile methodology. It is impossible to subdivide Lean projects into sequential stages typical for Waterfall projects. That can be explained by the fact that Lean teams are aimed at constant improvement of their products and activities. That is why iterative structure of projects is just what they need.
Like in any other methodology, Lean life cycle begins with the stage of project planning. Unlike traditional software development methodologies the plans of Lean projects are not strict. That is because of the fact that their elements may change in the process of project realization. Lean teams improve their plans constantly. After the process of project planning is finished, the process of iteration planning begins. Like in many other Agile methodology, in Lean each iteration has its own plan. Unlike the project plans, it is strict. That is because of the fact that each Lean developer should be responsible for a certain part of work.
After the iteration plan is formulated, its implementation begins. Lean teams use project management tools during their work on tasks performance. It is necessary to visualize their workflow because is impossible to detect problems with plan implementation without doing that. Lean developers also have to track the process of software development constantly to avoid bugs in the intermediate and final products. Bug elimination is a large time waste. That is why Lean developers prefer to avoid defects or detect them on early stages.
After the iteration is finished and its plan is implemented, the team begins the testing process. As we have already mentioned, tests are extremely important for Lean projects. They help the developers deliver their products to the customers on time.
The end of each iterative cycle is also the time of waste elimination. The team analyzes its work, detects unnecessary actions, and avoids repeating them during next iterations.
After all above mentioned activities are conducted, a new iterative cycle begins.