Lean thinking is not the Lean Startup. In the latest 2020 Scrum Guide revision, I was happy to finally see the admission that Scrum is founded on Lean thinking. Lean thinking is a set of values and principles that has been applied to Japanese manufacturing since the 1930s. It focuses on continuous improvement, respect for people, value creation, value stream, flow, pull, and the pursuit of perfection. One of the key techniques in Lean thinking is the identification and elimination of waste.
The eight types of waste that Lean identifies are used in conjunction with Kaizen (continuous improvement) to identify and remove the waste.
In Agile, these types of waste often surface as impediments. These impediments and the action needed to remove them can be addressed at any point by the Scrum team. It is expected that the Scrum team identifies ways to improve at least once per Sprint, specifically, during the Sprint retrospective event. Once a waste removal opportunity has been identified, it is added to the Product Backlog and prioritized accordingly so that it can be addressed in upcoming Sprint(s). It is useful to know the different types of waste that might exist in your process. Lean has eight different types of waste.
Eight types of waste in Lean Management:
1. Defects – Fixing things that were not made properly.
2. Overproduction – Making more than what is needed.
3. Waiting – Time spent idle before starting the next production step. “Waiting” is an indicator of start and stop, or an uneven production. Essentially, waiting for waste is the opposite of establishing a production flow.
4. Unused Talent – People are not utilized to their maximum potential.
5. Transportation – Unnecessary or excessive movement of people, information, tools, assets, inventory, or equipment.
6. Excess Inventory – Unnecessary or excessive items to create the product or in process.
7. Motion – Unnecessary movement within the workplace.
8. Extra-Processing – Adding non-value tasks to process when a shorter or simpler approach can do.
It may be difficult to connect the different types of waste for knowledge workers, especially for software-related products. Here are examples and techniques for removing the types of waste you may encounter in an Agile team.
Examples & Techniques for removing found in Agile software development
Waste | Example | Technique |
| 1. Escape bugs 2. Unmet expectations 3. Incompatibility 4. Customer complaints 5. Inadequate product performance | 1. Refined product backlog items that include clear acceptance criteria. 2. Interactive Sprint Review that results in actionable feedback. 3. A strong and observed Definition of Done that reaches out to delivery. 4. Small product increments. 5. Comprehensive test coverage. 6. Define Non-Functional PBIs. |
2. Overproduction – Making more than what is needed. | 1. Gold plating 2. Developing features that are outside of the Sprint Goal 3. Large product releases 4. Incomplete SBIs 5. Excessive WIP Unused product features | 1- Defined vertically sliced features that meet the acceptance criteria. 2- Hold short Sprints. 3- Observe a strong Definition of Done that reaches out to delivery. 4- Elicit continuous customer feedback and validation. 5- Align all work to the Product Goal. 6- Hold short Sprints. 7- Build cadence. 8- Enforce and End of Life (EoL) cycle for used features and products. |
3. Waiting – time spent idle before starting the next production step. An indicator of a start and stop, or an uneven production. Essentially, waiting for waste is the opposite of establishing a production flow. | 1. Code Freezes 2. PBI waiting to be deployed 3. Multitasking (Context switching) 4. Part-time team members 5. Silo teams and team members 6. Unnecessary approval requests 7. Centralized decision making 8. Slow performing systems | 1- Establish a CD/CI Pipeline. 2- Expand the DoD to production. 3- Practice value stream mapping and focus on reducing lead time. 4- Create cross-functional teams. 5- Limit WIP. 6- Have dedicated team members. 7- Empower teams to make decisions: Decentralize decision making. 8- Include Nonfunctional Requirements (NRFs) in PBIs. 9- Establish performance testing as part of the DoD. Synchronize all teams’ Sprints. |
4. Unused Talent – when people are not utilized to their maximum potential. | 1. Component teams 2. Large teams 3. Specialized SMEs 4. SME Sprint Backlog Item ownership 5. Siloed Team Members: “Your PBI, not mine.” 6. Role confusion 7. Managing Outputs 8. Psychological unsafety | 1. Allocate members to one team. 2. Create cross-functional teams. 3. Develop t-shaped team members. 4. Split teams to no more than 9 people per team. 5. Encourage self-managing teams and a culture where it’s safe to fail fast. 6. Swarm by implementing WIP limits. 7. Decentralize decision making. 8. Create a RACI matrix. Establish cross-training programs. |
5. Transportation – Unnecessary or excessive movement of people, information, tools, assets, inventory, or equipment. | 1. Branching 2. Inter-team dependencies 3. Work handoff 4. Inconsistent meeting tools 5. Insufficient tool features 6. Lack of transparency 7. Searching for information or artifacts | 1. Practice continuous integration. 2. Write independent user stories. 3. Validate and standardize tools. 4. Run periodic performance testing of internal systems and tools. 5. Avoid on-premise implementation whenever possible. |
6. Excess Inventory – Unnecessary or excessive items to create the product or in process. | 1. Bespoke product development 2. Unreleased PBI 3. Unready product backlog items committed to the Sprint. 4. Overprovisioned infrastructure / Overkill architecture 5. Long “ready” product backlogs | 1. Limit Work in Progress (WIP) for each step in the value stream. 2. Perform capacity planning during Sprint Planning. 3. Hold shorter sprints. 4. Release the product increment at least once per Sprint. 5. Agree on a Definition of Ready for PBIs. 6. Actively refine the Product Backlog. 7. Define a minimally viable architecture. |
7. Motion – Unnecessary movement within the workplace. | 1. Manual testing or deployment 2. Artifact hunting 3. Misplaced information 4. Long navigation paths 5. Unreachable team members 6. Dispersed seating 7. Lengthy steps to access information | 1. Create in-office seating pods. 2. Implement single sign-on security policies. 3. Establish minimum bandwidth standards and assistance to increase it. 4. Create a source of truth such as a WIKI or confluence reference page for all artifacts. |
8. Extra-Processing – Adding non-value tasks to process when a shorter or simpler approach can do the job. | 1. Hardening Sprints 2. Engineering lead acceptance 3. Unreferenced documentation 4. Using complex tools Too many meetings | 1. Target to deliver the product increment at the end of each Sprint. 2. Incorporate peer-review sessions into the Sprint. 3. Perform tools’ needs assessments. 4. Apply the Scrum events and product backlog refinement on cadence to reduce ah-hoc meetings. |
The Japanese word for waste is “muda”. Agile continues to take a cue from Lean Management and is popularizing the word “muda” as organizations work to create a culture of continuous improvement. Waste removal is a key element of continuous improvement in Agile. Identifying and removing waste will help to optimize your organization. Look for these types of waste in your organization and you’ll be on your way to improve the effectiveness and efficiency of your Agile teams.