Bottlenecks
Eliyahu M. Goldratt (Theory of Constraints); queueing theory (operations research)

A bottleneck is the stage that limits system throughput. Goldratt’s Theory of Constraints showed that local improvements away from the constraint rarely move the needle. Pair TOC with value-stream mapping and queueing basics (e.g., Little’s Law: WIP = Throughput × Lead time) to shorten queues and cycle times. Your visual captures this: a wide process squeezes through a narrow neck.
Throughput cap – the bottleneck sets the maximum output; running it near 100% utilisation creates long queues.
WIP and delay – more work in process increases lead time (Little’s Law). Big batches and variability inflate queues.
Types of constraints – capacity (machine/people), policy (rules/approvals), and market (demand).
Subordinate to the constraint – release only as fast as the bottleneck can absorb; place a buffer before it so it never starves.
Exploit then elevate – cut setup time, dedicate staff, standardise work; if still limiting, add capacity/automation.
Bottlenecks move – once elevated, a new constraint appears; keep scanning.
Manufacturing & logistics – lines, changeovers, picking/packing, docks.
Software delivery – environment provisioning, code review, test runs, release approvals.
Customer operations – support queues, KYC/underwriting, clinic triage.
Sales funnels – qualified lead creation vs demos vs contracting.
Shared services – finance close, data/analytics request backlogs.
Map the value stream – list steps, hand-offs and queues; capture touch time vs wait time.
Measure – for each step record WIP, cycle time, throughput and utilisation; find the longest queue/highest utilisation.
Exploit the constraint – reduce setup/switching, fix first-time quality, standardise work, protect focus time, schedule maintenance.
Subordinate everything else – throttle upstream release, build a buffer before the constraint, set priority rules to feed it first.
Elevate – add people/machines, parallelise, automate, outsource, or simplify scope.
Repeat – re-map; a new bottleneck will emerge. Keep a weekly/fortnightly review of flow metrics.
If policy is the constraint – collapse approvals, clarify decision rights, remove “work by exception”.
Local optimisation – speeding non-constraints raises WIP but not throughput.
Starving or blocking the constraint – no buffer before it, or downstream jams that back it up.
Batch bloat & context switching – large batches and multi-tasking balloon lead time.
Ignoring variability – averages hide spikes; design for peaks, not just means.
Solving the wrong constraint – market demand may be the cap; don’t buy machines for a sales problem.
No cadence – bottlenecks drift; without regular checks, queues creep back.
