How to Combine XP and Lean: Methodologies Overview
There are lots of project management methodologies in the modern software development industry. Some of them are well known and used all over the world. Others are less popular. However, regardless of the type of methodology you use, you always have the same goal – to create a high-quality software product and deliver it in time. That is why many developers try to combine the best features of various software development methodologies.
It is not as simple as it seems to be. However, such an approach often gives good results. In this article, we will tell you how to combine XP and Lean. But before doing that we have to give the proper definitions of these methodologies.
Lean is a methodology that originated in the middle of the 20th century in Japan. It was invented by the employees of Toyota Corporation. At that time the company had large problems with delivery of its products, so it needed a new methodology to manage its projects. The method was called Toyota production system, but after it became popular all over the world, it changed its name to Lean manufacturing. The methodology was applied to software engineering in 2003 after Mary and Tom Poppendieck published their famous book “Lean Software Development”. The book taught its readers to implement 7 basic lean principles in software development industry.
The main idea of Lean methodology is to improve the terms of product delivery by eliminating all wastes. The definition of wastes used in Lean methodology may seem quite odd, but it is very effective. In Lean everything that does not impact the functionality of the final product is considered a waste. The process of waste elimination usually takes place at the stage of product testing after each iterative cycle. Lean teams are typical Agile teams. They are small and self-managing. Such teams don’t have analysts, testers, and project managers. They are always responsible for the results of their work as a whole.
Extreme Programming is an Agile methodology that originated at the beginning of the 2000s. It is often called the most effective software development methodology that ever existed. That can be explained by the fact that XP is focused on creating high-quality products and delivering them within the shortest amounts of time. The customers like this approach because it allows them to get their software products in two or three months instead of several years. Extreme Programming is famous for its unusual software development practices that are aimed at delivering products as fast as possible. Pair programming is one of these practices. Its idea is quite simple: two developers work on one computer and perform the same tasks. Such an approach allows you to improve the terms of product delivery and the discipline inside of your team.
Lean and Extreme Programming are often successfully combined. The only thing you need to do to make your Lean projects more effective is to implement some XP practices in them. The result will definitely not disappoint you.