Lean IT: Wastes in Software Development

Maha Saied
5 min readMay 10, 2021

For over 50 years, Lean production and more specifically the Toyota Production System (TPS), have been presented as a global solution to impove quality and efficiency, since then, organizations have doubled their efforts to improve their performance by adopting the culture of Lean management. Admittedly, the TPS is build on three concepts : Muri (overload), Mura (imbalance) and Muda (waste). While these three pillars are equally important, our focus in this article will be on Wastes.

Undoubtedly, Lean management remains the most known approach to operational excellence in industry, however, it has been prone to evolution, as its next wave revolves around digitalization and automation. The fusion of industries and IT have also lead to the adoption of some common notions and cultures between the fields. Therefore , new concepts have been generated like Lean IT, Lean Software development , wastes in IT..

In fact, Lean is considered at the core of Agile Management and DevOps principles . So, let’s dive into details and understand what are the wastes within IT.

First, let’s look at the defintion of waste. In general the most common definition of waste is simply to consume time [working] on something without creating or adding value to the recipient or the one doing the work.

Here is a list of common types of wastes we can find in software development

Waiting waste: It can be caused both by people or product. This waste manifests for example in having an uneven process within the organization, where a team have to wait for another team to continue their tasks. A good example is between the development team and operations team, where the dev team wants to operate a performance testing but they will have to wait for hours or days to get an environnment in which they can test their code). Another example is to wait for approvals before deployment.

Knowldege waste: Whilst the Intellectual capital is an important and powerful asset within an organization, this waste is often forgotten when we talk about Lean IT. It is mostly caused by flow disturbance, where the interaction between teams is disarrayed and disorganized, due to communication barriers ( resentment on knowledge sharing) and undisciplined system ( unclear objectives, unclear rights and responsibilities). This can also be due to lack of training and/or disturbed assimilation of knowledge, in other words, what prevents employees from learning ( poor tools, complex process…).

Motion waste: It refers to unnecessary mouvements made by people or machines. For example walking from meeting to meeting… It can be fixed by reorganizing work areas in a logical arrangement (5S).

Defect waste or (correction waste): Defects in IT refer to bugs, errors, and incidents which can endanger the value of product in question to the reciepient ( internal such as operations engineers ) or final client). This occurs when quality is not built into the whole process. As a product moves forward in the software development lifecycle , fixing a defect in the product becomes not only troublesome but also expensive over the cycle. Not to forget that time spent on reworking and correcting the errors is considered a waste and leads to other wastes.

Transportation watse: This is often confused with motion waste, however, transportation here involves the mouvement of products, materials or information. A good example of this waste is the handoff communications between teams which can generate quality issues if information or kepoints are misunderstood among the handoffs ( hence defect waste can be produced). Excessive review , approval processes and mouvement of code enter this category as well.

Over production waste: According to Taiichi Ohno ( the father of the TPS) , this waste is one of the worse type of wastes . In fact, this occurs when you produce more than what is necessary, for example creating more code, products and functions than what the customer required. Often this is caused because of the culture that you need 100% exploitation of the machine or you need to keep the staff busy to show they are 100% utilized.

This waste might also be the cause of other wastes such as waiting, and inventory.

Over processing waste: Similar to over production, however this waste is more focused on excessive functionalities and so perfoming more work than is requested by the customer. This is sometimes due to lack of knoweldge of the requirements. And it can impact negatively the user experience by hindering the ease of use of the final product. For example, creating overly complicated processes or redundant troubleshooting steps.

Inventory waste: Similarly to inventory waste in industry, it refers to all items in work-in-process, unused finished products, and generally in IT, it involves all the partially done work such as untested code, finished code but has not been added to repository, it can also be the backlog of open tickets. This waste leads to delay in delivering value to customer, as well as quality issues, and of course it generates costs for the organization in the form of wasted time, to manage the partially done work.

No business is immune to waste, however, the organization might consider some wastes as necessary despite the fact that they don’t deliver direct value to the customer. Hence reducing and eliminating them requires a solid analysis and consideration. According to some theories, Quality Assurance is considered to be necessary waste , because the client does not pay to have the organization’s products tested, however, they expect to receive a reliable and worhty product at the end. As said, earlier this remain debatable and must be thoroughly analyzed before taking actions upon it.

To conclude, Lean principles prioritize the customer value above everything, which aligns with the project-to-product shift, that is happening nowadays in IT. Since the idea of this switch is to enhance customer-focused value delivery. With that being said, we can also address this shift as well as Lean software development with DevOps ways of working.

In next articles, we’ll talk more about DevOps and how it can help with waste elimination and fast value delivery.

The references used in this article are cited below:

Lean 8 forms of waste

7 wastes of Lean

Pure vs necessary waste

--

--

Maha Saied

Industrial engineer but fan of IT |Writer at Indomitable Identity | Advocate of authenticity and continuous improvement| self-taught seeker