The Theory of Constraints (TOC) is all about flow, and identifying and removing bottlenecks in the flow. Think of the analogy “the chain is only as strong as its weakest link”. The weak link is the bottleneck in the flow from from quote to cash.
A simple example is to look at manufacturing where scarce machinery or skills creates a backlog of work directly in front of it. Inventory piles up as teams in different departments build excess stock in the production chain which the bottleneck resource cannot keep up with. Software is no different. In our world, we see it all the time. Scarce skills, people with specialized expertise cause those who need their services to queue up in front of them.
Root cause analysis is at the heart of TOC – something that we in the software industry understand very well. TOC applies 5 focusing steps to identify constraints and their root causes in the context of a continuous improvement exercise. These 5 steps are:
- Identify the constraint
- Decide how to exploit the constraint
- Subordinate and synchronize everything else to the above decisions
- Elevate the performance of the constraint
- If the constraint shifts, go back to step 1.