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 | ||
---|---|---|
| ||
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 | ||
---|---|---|
| ||
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. |
Expand | ||
---|---|---|
| ||
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 | ||
---|---|---|
| ||
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. |
Expand | ||
---|---|---|
| ||
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 | ||
---|---|---|
| ||
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 | ||
---|---|---|
| ||
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.