Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

Understanding the importance of bottlenecks is a fundamental idea in understanding how to optimize processes. It applies to any process - business processes and software processes.

Expand
titleOne factor Systems that involve Inputs → Process → Outputs have one bottleneck which limits the throughput of a system. i.e. a bottleneckspeed of the entire process

Think about say a milk bottling factory.

If there is one machine for the entire plant that puts caps on bottles and can only do 6 bottles every minute.

Then the maximum output for the system will 6 bottles a minute.

You can improve other parts of the factory but it will never produce more than 6 bottles a minute if the speed of the capping machine is not improved.

The machine is the ‘constraint’ or ‘bottleneck’ for the entire system.

Expand
titleThis is the Theory of Constraints - as popularized by Eliyahu Goldratt,

Eliyahu Goldratt was an Israeli physicist turned business consultant who popularized the Theory of Constraints in his novel “The Goal”.

The Goal is written as fiction novel about a manager in a mid west manufacturing plant that is about to go under. He mets character that sounds like like Eliyahu who through a series of questions gets him to think harder about the operation of his factory and turns things around by applying the idea of locating the most significant bottlenecks and solving each one in turn.

video1727421730.mp4
Expand
titleIdentifying the bottleneck is the most important thing to do first, then fix it.To speed up a process one must identify the bottleneck and fix it

This is one of the most important ideas from the theory of constraints. If only one factor limits a system at a given time, then the only worthwhile thing to do is to fix it. Effort expended fixing things which are not the bottleneck won’t have any benefit until the biggest bottleneck is solved.

Expand
titleThat is actually a huge relief from a management point of viewThis really makes things much simpler to manage

If you think about it - wow! You only need to focus on the biggest bottlenecks, and solving these first.

It makes things much easier to prioritize and manage. You have far less things to think about at any given time.

Think about what companies often do instead of this. We run around trying to fix everything, all at once. The theory of constraints tells us that all we need to do is get really good at identifying the biggest bottleneck and solving that. Then rinse-repeat - find the new bottleneck.

Don’t run around like a headless chicken trying to fix every problem.

Focus on finding the biggest bottlenecks and solve them, one after another.

video2727421730.mp4
Expand
titleAfter you solve the first bottleneck, find the next biggest one and solve that, rinse-repeat-rinse

What’s really cool about this is you have the power of compounding efficiencies.

Each bottleneck increases the efficiency of the process by a certain percentage.

Combine these together and they compound.

Expand
titleResolving bottlenecks component. Mathematically this leads to exponential growth

Each bottleneck solved means you are increasing the speed of the process with a percentage every time.

This is where the magic of compound interest comes into place. You can see this visually in the following spreadsheet:

https://docs.google.com/spreadsheets/d/1mx506x85EnP6btixveJW_4QFLGxqDWnMP8Xnlkcj7Bk/edit?usp=sharing

...

Expand
titlePremature optimization is an example of solving the wrong bottleneck

The theory of constraints gives another lens to understand why premature optimization is a problem in software development.

Hope this helps to either remind you of something you already know or taught you a helpful management conceptIf you want exponential growth then understanding bottlenecks is how you do it:

...

The faster you can identify each successive bottle neck and solve it then the faster your process goes.