Paid
Concept explanation
Unnecessary feature development, delays in project reviews, rework due to preventable bugs, or underutilized team capacity. Such inefficiencies lead to increased costs, longer production times, declining customer satisfaction, and as a result less revenue.
At the core, there is entropy, a natural tendency of systems to become disorganized and inefficient over time. As companies scale, projects grow more complex, and workflows can become inefficient. This leads to waste.
Toyota Production System (TPS) is focused on systematically identifying and eliminating waste to counteract entropy.
TPS helps companies prioritize value-adding activities, and helps to use resources effectively to deliver outcomes that matter to customers. Any activity that doesn’t contribute to customer satisfaction, product quality or revenue is considered waste and should be minimized or eliminated.
TPS categorizes waste into two groups:
1. Necessary but non-value adding
Actions that don’t directly improve the product, but are essential to maintain quality or safety. I.e. Running necessary security audits or performing code reviews may not enhance the end-user experience but are vital to maintaining software integrity.
2. Unnecessary and non-value adding
These are activities that do not contribute to the value of the final product and should be eliminated - redundant meetings, excessive documentation, or the development of features that aren’t aligned with user needs.
Additionally, TPS classifies waste into 7 types:
1. Overproduction - Developing features or working on projects that don’t serve customer needs or priorities.
I.e. Building features that weren’t requested directly or indirectly by users, leading to wasted development effort.
2. Excess Inventory - Backlogged tasks, unreviewed code, or unfinished projects piling up in the system.
I.e. Unresolved tickets or pull requests sitting in backlog, creating inefficiencies.
3. Waiting - Team members sitting idle while waiting for approvals, feedback, or dependencies.
I.e. Delays in feedback from stakeholders or QA blocking project progress.
4. Motion - Unnecessary switching between tasks, tools, or systems that disrupt workflow.
I.e. Jumping between different project management systems, causing lost time and productivity.
5. Transportation - Unnecessary handoffs between teams or systems that don’t add value.
I.e. Repeatedly moving project assets between different departments for approvals when it could be streamlined.
6. Over-processing - Performing more work than necessary to meet the product’s requirements.
I.e. Over-engineering a feature or running unnecessary tests that don’t improve the final product but add time to delivery.
7. Defects - Bugs or errors that require rework, diverting resources from higher-priority tasks.
I.e. Fixing bugs post-release that should have been caught earlier, wasting development time and resources.
The Toyota Production System (TPS), developed by Taiichi Ohno at Toyota in the mid-20th century, focuses on waste reduction and continuous improvement. Created for automotive manufacturing, its principles are now widely applied across industries, including software development.
Use-cases
Providing context to the problem
TPS Waste Management is a great tool to provide a high-level view of inefficiencies in the organization, particularly the production process. It could often help provide the context to a problem you want to solve. You can give an overview of what factors lead to a problem and explain in what priority they should be minimized, or eliminated.
Communicating poorly allocated resources
When pitching new ideas, your main goal is to secure the resources that you will need to execute your idea. Almost always resources are limited and distributed between different teams & departments. In this system asking for resources will often mean taking resources from other teams/departments. TPS Waste Management could help you highlight poorly allocated resources and the potential of reallocating them in favor of your idea.
How to use
Pick one workflow, domain, or process and focus on it. Don't try to cover all processes in the company at once.
Review the workflow and categorize inefficiencies you have identified, using the seven types of waste:
Overproduction, excess inventory, waiting, motion, transportation, over-processing, and defects.
Go through each inefficiency and decide what needs to be minimized and what should be eliminated. Use necessary but non-value-adding or unnecessary and non-value-adding labels.
When unnecessary and non-value-adding waste is identified, focus on countermeasures that address the root causes, using the 5 Why's Framework.
Continuously monitor and review the processes to ensure that waste is minimized and new inefficiencies are addressed as they appear.
Suggestions from Deckster
Use the Pareto principle (20/80) to identify which singular inefficient process, or its part may lead to the greatest gains in efficiency. Targeting such inefficiencies first will allow you to produce maximum impact with the minimum effort invested.
When working on identifying the inefficiencies in the processes, involve people who experience them firsthand. Developers, project managers, and other team members are best placed to identify inefficiencies in the workflows they use every day.