Every manager's goal is to make a process more effective. Often a process has so many components and influencers that is quite difficult keep it running smoothly and effectively. The Theory of Constraints (TOC) is a concept given to managing the limits or restrictions affecting any operation or business and to helping managers achieve business goals.
TOC considers any system or process as a group of elements including Constraints, i.e. those parts which make the process slower or less effective. It says that there is at least one constraint which defines the whole effectiveness of the system. Finding and managing the key constraints is the primary target of the Theory of Constraints. Reducing the impact of a limited number of key constraints brings much better results than trying to manage multiple problematic areas at the same time.
The system’s effectiveness is defined by its weakest element.
Eliyahu M.Goldratt described the Theory of Constraints in his book, "The Goal" (1984). It was not something groundbreaking, but it developed and summarised the idea deeply and thoroughly. Some other theoretics had worked on similar concepts — theories of bottlenecks, etc. — but Goldratt’s theory was more comprehensive. It received good feedback and became one of the key concepts of management.
Case studies which used TOC demonstrated that is effective in multiple fields, such as project management, supply chain management, operations management, software development (with some limitations), and so on.
What Is a Constraint?
One of the key components of TOC is properly identifying constraints. Basically, a constraint is anything that does not let a business process perform at appropriate levels and achieve goals. As a result, it cannot perform effectively to get maximum throughput. The overall performance or effectiveness is defined by the weakest element (constraint).
Types of Constraints
There are internal and external constraints. Internal constraints are those which do not let a system deliver the requested amount or quality of a product. For example, unqualified employers slowing down the development process. Also technologies, equipment, policies, and interpersonal issues may affect business processes. External constraints are limiting the system from outside. Examples include competitors and market volume.
There are some common groups of constraints:
- People — Experienced employees, their skills, salary, workload level;
- Physical — Working area, using materials and details;
- Equipment — Instruments, devices, efficiency of use;
- Policy — The workflows set by the organisation, working policies and standards.
Organisations should focus on those constraints which cause the biggest impact to the process. It is important to always identify a limiting factor, rather than a unique problem or something similar.
Fundamental principles of TOC
The Theory of Constraints says that any system is a chain of elements containing a weak element, and the most important task is to find that element. All this leads to understanding how to deal with the throughput accounting.
The throughput accounting is formed by three things which can be managed:
- Throughput — Is the system performing at capacity? How many products (system goal) can be delivered? In some cases, it may be money which the system generates.
- Operational Expenses — How much is spent within the system on delivering the goals?
- Investment — All the resources which been invested in the system (money, equipment, etc).
There are 5 steps to finding and eliminating the weak element as per the TOC:
- Step 1. Identify the constraint that affect throughput. Sometimes, they are obvious things. If not, methods such as flow charts, mind maps, and brainstorming may help.
- Step 2. Exploit & Explore the constraint to increase the throughput. Think about how to use the found problematic element(s) more effectively to mitigate the constraint(s). Some quick steps that will help the process to run better are required.
- Step 3. The managing focus is on the constraint. Since the process’s effectiveness depends on this constraint, the organisation needs to pay more attention to the identified constraint to ensure the system’s overall speed and performance increases.
- Step 4. Expand the constraint. After the performance is improved, it's time to think of further possibilities of improvement in this specific place. Maybe it will be by eliminating the constraint completely. Alternatively, it could be by improving something significant about it.
- Step 5. Repeat the process. Constraint management is a continuous process since many conditions are changing, and constraints are constantly transforming.
Instruments of the Theory of Constraints
There are some methods which help to organise the process.
The method of "Drum-Buffer-Rope"
Business processes management is one of the most important topics for any area. The method "Drum-Buffer-Rope" helps organise that a bit more effectively. The core idea is to formulate (to state) tasks as simply as possible. They should work smoothly; that is the only thing required. Yet, the functioning of the constraint should be planned in detail.
- The "Drum". The constraint is called the Drum in this method. The Drum pace, or tempo, defines the overall process pace.
- The "Buffer". This term describes the amount of time, work or inventory needed to keep the Drum constantly loaded since it affects the whole process. The work amount should arrive in advance to ensure the process is uninterrupted. There may be a constraint buffer (before the constraint to protect the process) and a customer buffer (at the end of the process to protect the whole plan).
- The “Rope”. This is a communication channel used by the Drum to let the process know that some amount of workload has been taken from the Buffer. It helps to keep the overall system at capacity and working solidly. It ensures that the Drum will get the exact amount of work it can perform.
The method "Dum-Buffer-Rope" is designed to achieve deadlines more accurately and increase the limiting resource's use up to 100%. This method is flexible and may be used in many situations. It delivers results instantly, so it is a “must try” if you observe a weak element in your process.
The method of Thinking Processes
Another method which is used by the Theory of Constraints is the method of Thinking Processes. Many projects are complex, having many related business flows. Changing something in one place may cause chances in another—and not always a positive change. Therefore, some advanced approach is needed.
Answer these questions to start: What needs to be changed and why? How should that be changed and why? Which actions need to be taken to change it?
The following tools are usually used to analyse and plan processes transformation but are not limited to this list:
- The current state diagram—helps to clarify and describe current processes in the organisation and understand the constraints that are causing the problem.
- The plan of conflicts mitigation—clarifies understanding of what are the contradictions that lead to the problem.
- The future state diagram—helps to see how the processes should be and what potential improvements are important. As a result, it aids understanding of the possible negative impact to related processes and helps to see ways of minimising or avoiding that.
- The plan of transformation—supports the elaboration of a list of changes and instructions to implement the future state of the process.
Both methods can be used in product design processes at different stages. For example, analysing the deployment process, we may find a bottleneck which delays the delivery and analyse that further to find real constraints. The "Drum-Buffer-Rope" technique will help to improve the delivery process during the time in which the better solution for the problem is not yet in place. For example, if software developers break deadlines working on a feature, the problem may not be in their skills, but in the specifications written by the business analyst. So, we consider that as a constraint. We focus on that and realise the ways to improve the system. It may be the business analyst is overloaded with tasks or it could be that his tasks are from different areas, so he can not focus on what needs to be done and needs help. There are different ideas on how to improve the process.
So that is the idea of the Theory of Constraints, one of popular and effective methods of systems management. Considering software development, the method will not always fit well, but it is worth trying.