Implementing Lean Software Development
Modern software development industry has lots of methodologies. Some of them are widely used all over the world. Others are little known. However, all of them have their particular approaches to software development. Most specialists agree that the selection of software development methodology for a certain project depends on the range of its complexity and its terms. Today many software development teams choose Lean methodology to manage their projects. But implementing Lean is not a simple issue. In this article we will tell you about some theoretical and practical aspects of it.
Let’s start our talk with the description and definition of Lean methodology.
Lean originated in Japan in the middle of the 20th century. It was invented by the managers of famous Japanese motor corporation Toyota. At that time the company had large problems with product delivery. The manufacturing chain was too complex, so Toyota could not deliver its production in time. Lean manufacturing methodology was the solution for this problem. Its main idea was simple: it is necessary to eliminate wastes to deliver the product in time. Lean defines everything in the process of manufacturing that does not impact the functionality of the final product positively as a waste.
At the beginning of the 21st century Lean methodology was applied to software development. Two Lean researchers – Mary and Tom Poppendieck published their book “Lean Software Development” in 2003. It still remains quite topical because more software development teams implement Lean methodology year after year.
Lean is an Agile method. Its projects have iterative structure. That is because of the fact that testing is extremely important for Lean developers. They are focused on preventing bugs in their products instead of fixing them. However, it is almost impossible to create a software product that does not contain bugs. That is why Lean teams test their products after each iterative cycle to detect all defects in them.
Implementing Lean software development
The second book of Mary and Tom Poppendieck is called “Implementing Lean Software Development”. It describes all practices a software development team should implement to be capable of working in Lean style.
Every software development team that wants to work in Lean has to implement seven basic principles of this methodology. Let’s look at them in greater detail.
- Elimination of wastes
We have already mentioned that this is the main principle of Lean. You have to do away with all the ineffective practices that do not contribute to the functionality of your software
- High quality
Lean developers focus on producing high quality software. That is why they pay great attention to tests. Lean improvement boards and Lean improvement tools help them in it.
- Creating knowledge
If a Lean team invents a new practice, it must implement it in its further work. That helps the teams improve their software products constantly.
- Flexibility in roles and tasks
There are no formal leaders in Lean teams. They are self-managing. Hence, there is no need to subdivide the project’s tasks between the team members strictly from the very beginning of your project.
- Fast delivery
The product should be delivered as quickly as possible.
- Respect to people
As we have already mentioned, Lean teams are self-managing and their members are interchangeable. It means that each of them is a high qualified professional. That is why you should respect them.
- See the whole picture
You should have a full vision of your goals while realizing Lean projects.