The concept of waste is important to understand for Agile teams. This short article is one of my earliest on Agile Advice. It connects Agile and Lean concepts at a very basic level. Lean is a huge topic itself and many people associate Agile and Lean quite closely. In fact, many of the authors of the Agile Manifesto have stated in numerous venues that their ideas for Agile were inspired by Lean manufacturing and the Toyota Production System. For anyone serious about improving organizations in general, a strong knowledge of Lean is a must!
Waste is the result of activities or environmental conditions that prevent a team from reaching its goal. The opposite of waste is something that adds value (more, faster or higher quality) to the desired result.
The whole notion of eliminating waste comes from lean manufacturing. More recently, Mary and Tom Poppendieck applied this idea to software in their book “Lean Software Development: An Agile Toolkit for Software Development Managers“. In this (excellent) book, the authors list the wastes of manufacturing and the wastes of software. Here I have summarized and generalized these types of wastes so that they apply in any situation:
The Seven Wastes
- Waiting caused by delays, unreadiness, or simple procrastination.
- Partially done work or inventory caused by sub-optimal workflow.
- Extra processing or processes caused by poor organization or bureaucracy.
- Defects and rework caused by insufficient skill, tools, inspection or filtering.
- Movement of people or work caused by physical separation.
- Overproduction or extra features caused by working towards speculative goals.
- Task switching caused by multiple commitments.
As wastes are eliminated or reduced, a team will function faster and with higher quality. However, not all waste can be eliminated. Sometimes waste is legislated, sometimes waste is an unavoidable byproduct of work, sometimes mistakes are made, and sometimes it takes a great deal of effort to eliminate a waste.
In order to eliminate waste, first waste has to be detected and identified, then the underlying causes of the waste have to be identified, and finally changes to the work environment need to be made to both eliminate the cause of the waste and the waste itself. Many Agile work practices help with this process.
Value stream mapping is one particular tool that can be used by a team or organization to identify wasteful activities. The team describes the amount of time that work takes to go through each activity in their overall work process. Next, the team determines if each activity adds value or does not add value to the end goal. All activities are subject to speed improvements, and activities that do not add value are subject to elimination.
In order to determine the causes of waste, special attention should be paid to incentives and motivations. Wasteful behaviour often exists because there is some incentive for people to do it. Sometimes these incentives are explicit, but sometimes they are the side-effects of other things going on in the team’s environment. Changing the incentives can be an effective way of reducing waste.
By eliminating waste, the team will find it has reduced frustrations, and enabled greater productivity and creativity. The team will also increase its speed and delivery of value, and at the same time reduce defects.
[This article was originally published on Agile Advice on 27-Apr-2005]