Goldratt on local optima
📚SOURCE
💎PERMANENT NOTES
🧵SYNTHESIS
Paraphrase, not quotation: the last third of 📕 The Goal.
The second lesson of the book is harder to like. Once the bottleneck sets the pace, every other resource has spare time, and the reflex is to fill it. Goldratt's point is that running a non-bottleneck flat out does not make more product. It makes more unfinished product, which queues at the constraint, hides what is urgent and ties up money. He separates using a resource (it moves the plant toward its goal) from merely activating it (it is switched on).
The plant's robots are his example: they raised departmental efficiency and total output went nowhere, while stock climbed. The accounting system rewarded exactly that. A plant in which every resource is fully busy is, in his account, a plant heading for trouble.
So some idleness is the system working. I wrote this eleven days after the slip, with a board full of started things.
✨KEY IDEAS
Activating a resource and using it are different things. Only work that the bottleneck can absorb counts as use.
A non-bottleneck kept busy produces inventory, and inventory lengthens every queue behind it.
Measures of local efficiency push each department to do the thing that harms the plant.
Smaller batches shorten the time a part spends waiting, at the price of more set-ups on machines that had time to spare.
When the constraint moves, the old rules made to protect it become the new problem.
📝READING NOTES
The week I read it in
The load test failed on the 11th and I recommended the slip on the 12th. For the ten days after that the team was extremely busy. That is the detail I keep returning to. Nobody was idle, the board was full, and the launch was not getting closer, because none of the busy work was passing through the one test environment.
What the chapters say
- The robots. Installed to cut cost per part. To justify them they were kept running. They made parts nobody had ordered yet.
- The red and green tags. After finding the bottlenecks, the plant tags the work that is headed for them so that it jumps the queue elsewhere. It works, and then the non-bottlenecks start to look like bottlenecks, because everyone is processing priority work in giant batches.
- Idle time is not waste. Jonah's line of reasoning: a balanced plant, where capacity exactly equals demand at every step, cannot absorb any variation at all.
- The measures are the villain. Cost accounting treats an idle hour as a loss at every station equally.
The same idea from a different voice
🎬 If Russ Ackoff had given a TED Talk says it in twelve minutes without a factory: improve each part separately and you do not improve the whole, and you can make it worse. His version is about doing the wrong thing more efficiently. Goldratt gives me the mechanism; Ackoff gives me the sentence.
Against my own project
📂 Exceptions Inbox general availability, January:
- I kept design fed because Tomasz had time.
- I let three engineers start polish work in the week the test environment was the constraint.
- I read a full board as health.
It treats every hour of non-bottleneck work as inventory. In software some of that time is the only chance to pay down debt, write the runbook, or learn something. Slack spent on finished small things is not the robot. Slack spent on starting things is. The distinction is mine, not his.
What it produced
💎 Local efficiency can lower the output of the whole, this morning, cello suites on.
Added 18 June: Q3 planning as one list, ordered by what QA can take. First planning session I have run that began from the constraint.
Questions it left me with
- What is the software equivalent of inventory that I could count on a Friday? Branches open more than a week?
- If idle time away from the constraint is healthy, how do I say that to people whose reviews mention impact?
- Did I slip the launch because of the bottleneck, or because I had been hiding the queue from myself?
Related notes
- 📖 Goldratt on bottlenecks
- 🎬 If Russ Ackoff had given a TED Talk
- 📂 Exceptions Inbox general availability
🗣️IN SHORT
- In : The Goal, the chapters after the bottlenecks are found
- Goldratt argues that : keeping every resource busy lowers the performance of the system, because non-bottleneck output beyond what the constraint can take is only inventory
- by stating that : activation is not utilisation, local efficiency measures reward overproduction, and a system needs spare capacity away from its constraint to absorb variation