February 14, 2024

Theory of Constraints as a Prioritization Technique

Here’s a new article in the series about prioritization in product management. Alexey Kulakov, JetStyle’s CEO and co-founder, shares his insights about the effectiveness of the most popular prioritization techniques. 

If you missed the previous articles: 

  1. Introduction to Prioritization in Product Development
  2. Review of the Eisenhower Matrix technique
  3. Business Architecture types presented through the metaphor of trees. 

The object of today's review is the Theory of constraints (TOC) developed by Eliyahu M. Goldratt. He wrote ‘The Goal’, which is arguably the most useful book about business development*. We’ll use the term ‘bottleneck’ a lot in this article as a synonym for ‘a constraint’. 

*While we’re here sharing recommendations, you might find ‘Goldratt's theory of constraints’ useful as well. It’s a book by H. William Dettmer with Goldratt’s TOC represented as a series of schemes and algorithms. 

What is TOC

Basically, TOC is a system of flow optimization. You can use this approach if you can visualize your business through a metaphor of a pipe; the water in the pipe in the flow of value delivery. The flow can be expressed in money, goods, clients, or anything you can measure. 

Money is often the easiest thing to measure, so we suggest using this unit of measurement. Also, it’s really useful for a business owner to understand how much money their business system can generate and ‘pass through’ the flow. 

A flow always has a section that limits its throughput. The smallest amount of water passes through this section; according to Goldratt, this section is named ‘bottleneck’. The diameter of other sections does not matter. Your system will work with as much water as comes through the bottleneck. 

TOC shows you what you need to focus on right now to maximize throughput. When we make an effort to overcome the constraint, it impacts the whole system positively. 

If we make an effort to do anything else rather than unlocking the bottleneck, it will lead to losing focus. This phenomenon is called local optimization. It’s not just a meaningless process: it’s really harmful. We’ll elaborate on it later in this article. 

Goldratt outlines these core steps of prioritization: 

  1. Identify the system's constraint.
  2. Decide how to exploit the constraint.
  3. Subordinate and synchronize all other processes to the decisions made in step 2.
  4. Eliminate the constraint if it hasn't been eliminated in the previous steps.
  5. After this series of events, another section of the pipe becomes the bottleneck, so you just repeat the process. 

An idea of good business practice is to divide your team into 2 parts:  

  1. One group of people tests different methods that will eliminate the bottleneck. 
  2. The other one maintains the system’s efficiency and scales the activity found by the first group. 

However, all team members should be focused on the current bottleneck. Quite often your hypotheses on how to unblock it will not work out immediately and will require a series of experiments. 

According to TOC, you prioritize the initiative/hypothesis that impacts the bottleneck most. 


Let’s say, we’re reviewing the sales process for our VR product for BIM systems.

One line of the table indicates the performance of the system. Here we outline the sections with limited throughput. Line 2 is the flow passing through the system; the number of clients we have today. 

The columns show steps of value delivery, from the first encounter with your product till the client is happy and ready to recommend it to their friends and family. It’s ok to fill in the table from whatever section; just start with what you know. 

We use this structure to list all the elements of the flow. As seen from the table, our maximum capacity is 15; it means our managers are capable of processing 15 clients during a period. The current flow is bigger (20), so it looks like this is the bottleneck. To manage the flow and increase conversion to the next step (free product demo), we need to channel our resources into solving this problem. One way could be hiring one more manager, or conduct a more thorough lead qualification.  After we unblocked this bottleneck, we go back to reviewing the system again:

We’ve managed to increase the system performance in the area that used to be constrained; now there are at least two scenarios we can test out. On the one hand, we may work on boosting the number of clients who have free demos of our VR product; as we can see from the table, the system has the capacity for that. Alternatively, we could augment the first step of the system and try to increase the number of people who see our ads (i.e. by growing ad traffic). This action will possibly add to the workload of the managers who talk to clients and deliver demos. One way or another, to maximize the system’s performance we need to increase the number of people who use our VR product. 

Our team consists of custdev specialists, sales managers, marketing specialists, developers, etc. It’s crucial that every department can do something to help achieve the current goal. Sales managers can suggest a new feature that will be relevant to the audience. Marketing team can experiment with advertising messages, and so on. 

When you find out that there are no limits left to process, it means that the market itself is the limit. The only option left is to find and explore new markets and scale your business. It’s also the perfect opportunity to seek investment, as resources are the core element of your growth. 

Local Optimization 

When you apply TOC, your task is to eliminate the constraint and keep track of the metric that shows you’re putting your effort in the right place. 

It sounds simple, but we need to emphasize that in this process not every metric counts. Quite often in the KPI-based business systems there will be a workflow oriented at maximizing just any metric. It’s especially frequent in companies that give out bonuses for KPIs. The process of reaching KPIs has nothing to do with reaching business goals. 

Goldratt shares this crucial idea: when you work on anything except eliminating the bottleneck, you’re harming your business. First, your leaders get distracted. Second, you skip the important tasks from your Eisenhower matrix because you’re focused on the urgent ones (read our thoughts about this framework here). And it’s tricky here too: you can call a task truly important only if it influences the process of eliminating the bottleneck. 

A lot of companies struggle with the challenge of local optimization. However, it’s not up to product managers to ensure that the whole system functions efficiently. This is the responsibility of a CPO: they need to set up such a system that all team members are focused on maximizing the flow. 

Again, it’s all about staying in touch with the core business goal. The theory of constraints says the same thing, but in more serious wording. 

In our opinion, the biggest difficulty in implementing TOC is that you have to have a deep understanding of your business processes. It can be hard to visualize a business as a pipe with water flowing through it because the business may have more than one flow. Moreovert, you need to be able to measure both the system performance and the flow. Another difficulty is keeping this information up-to-date. That’s why TOC is a pretty effective but challenging prioritization tool. 


Let us know if this was useful – and stay tuned for our next articles about prioritization in product development. Meanwhile, check out our approach to product development: https://jet.style/product-development 

Hello JetStyle,
I would like to discuss a project idea with you.
My name is
you can email me at
or reach me on
or let’s chat
By clicking the submit button you agree to our Privacy Statement
We’ll get back to you soon
Oops! Something went wrong while submitting the form.
Let’s talk