Lean Project Management Methodology
Modern software development industry has lots of project management methodologies. Some of them are popular among the programmers. Others are little known. However, they all serve the same goal – to create high quality software and deliver it to the customer just in time. Software development teams usually choose project management methodologies according to the needs of their projects. In this article we will tell you about an effective project management methodology that is called Lean.
Lean is not the most popular software development method. However, if you are a programmer, you have definitely heard about it.
Lean originated in Japan in the middle of the 20th century. It was invented by the employees of the famous Japanese corporation Toyota. Initially it was intended for manufacturing. At that time Toyota had problems with timely delivery of its production. The managers of the company had to search for solutions for this problem. They invented a new project management system and called it Toyota production system. Later, when the new methodology spread all over the world, it was called Lean.
The main idea of Lean was to eliminate the wastes and improve the terms of product delivery. Anything that didn’t impact the functionality of the final product positively was considered a waste. Most specialists agree that Lean methodology can be applied to any industry.
In the early 2000s it came to software development. In 2003 Tom and Mary Poppendieck published a book called “Lean Software Development”. It was a successful attempt to apply the main principles of Lean to software development industry. Despite the fact that it was written more than ten years ago, the book still remains quite topical.
The main thing you should know about Lean project management methodology is that it is one of the Agile methods. That is because of the fact that Lean projects have iterative structure. Traditional sequential structure does not allow the developers to throw out unnecessary elements and tasks that do not impact the final product. Iterative projects are more suitable for that.
The testing process has a great significance for Lean software development methodology. Tests are conducted after each iterative cycle. Partially, that is because of the fact that Lean developers are focused on preventing bugs instead of fixing them. However, it is almost impossible to avoid bugs in a software product. That is why tests are necessary. They also help achieving the main goal of Lean methodology – elimination of wastes. If any element of the project structure is considered a waste at the end of a certain iterative cycle, the team does not continue to work on it. Such approach allows Lean developers to save lots of time. That is why Lean project management is considered one of the most effective approaches to software development.
Lean developers often use practices that are typical for other software development methodologies. For example, many Lean teams manage their projects by using test-driven development. This practice is typical for another Agile methodology that is called Extreme Programming. It allows the programmers to add new functionality to the software product through testing. Pair programming is also often used in Lean projects. The main idea of this practice is to make two developers work on one computer. Most specialists agree that such an approach saves lots of time and allows the teams to meet the terms of product delivery.
Like other Agile teams, Lean teams are self managing. They don’t have strict hierarchical structure or formal leaders.