The Theory of Constraints (TOC) is a Quality Management System originally introduced by Dr. Eliyahu M. Goldratt in the book called The Goal (1984). TOC uses the ‘Five Focusing Steps’ which is also termed the ‘Process of Ongoing Improvement’. TOC is powerful in that it is logical and, in many ways, very obvious. Here is a brief and simple overview and example of TOC:
TOC is about identifying the most significant constraint in a system (or set of constraints) and removing this constraint. The constraint will then move hence the process of identifying the constraint and eliminating it as the primary constraint continues. A constraint in terms of TOC is a bottleneck. Think of TOC in terms of a car which we want to race…
We buy a regular road car and want to get it onto the track to race. The objective of the race is to complete 20 laps of the track in as short a time as possible. We think about the car and what may prevent it from completing 20 laps and from driving faster than the other cars (this is a very simplistic example!). We list the constraints:
1) The car is reliable and working fine however engine parts are expensive when required.
2) The car needs to be registered to race. Without registration it can’t even go on the track.
3) The car needs to be repainted. Our sponsor requires red paint within a year or will withdraw sponsorship.
What is the biggest constraint listed above? Numbers 1 and 3 above don’t prevent us from racing however constraint 2 means we can’t race at all. According to TOC we eliminate the ‘most severe’ constraint therefore we address item 2 first (i.e. we get the car registered). Once we have eliminated number 2 as the constraint we will have a new ‘most severe’ constraint therefore repeat the process of identifying and eliminating the ‘biggest’ constraint. Every time we eliminate the most severe constraint we improve the quality and likely the performance of the system. In our example, by eliminating bottleneck 2, we have immediately improved performance as now we can actually race the car!
TOC was originally designed for improving manufacturing processes however has been adapted and successfully used in many industries including; Marketing, Service Industries and Information Technology. As mentioned before, TOC has as its foundation very obvious logic in that we look for and remove the greatest bottleneck of a system or process and this will improve the performance and quality.
Think of any problem you may have and more often than not, you’ll find TOC very useful in identifying and eliminating the causes of the problem.
Related Articles:ITIL, Quality Management and The Theory of Constraints Five Best MBA Books
[...] simplistically, TOC is about identifying the core bottleneck in a system and then eliminating that bottleneck (something like ‘a chain is only as strong as it’s [...]
[...] Theory of Constraints (TOC) so here is what I did in relation to the TOC ‘five focusing steps’ (yes, Management Theory is just as relevant to I.T. as any other aspect of business): [...]
I can see where removing a constraint can improve quality in manufacturing. I'm not sure how it can be applied in IT. Specifically, how do I identify the constraint when I'm testing software? It seems obvious when a bug is found, but can the principle be applied to identify which areas of a product to test? Great article. I am currently learning about TPI and the instructor mentioned TOC.
Great question about how the Theory of Constraints applies to software testing. I know there are a few books about how TOC relates to software engineering however haven't come accross references to testing specifically. I recommend searching Google, Amazon and so on.
Robert,
testing is one process in the chain.
great post as usual!
Thanx for saving me from reading the whole book )) "Define the biggest bottleneck, and eliminate it". doh