Comparisons

Two tools, two questions. Neither column wins — what decides is which question you actually have in front of you.

Add capacity vs Fix the bottleneck

Both are legitimate. Adding capacity buys time and works only when the thing you add is the thing that is constrained; fixing the bottleneck is cheaper forever but slower to land. The failure is choosing without measuring which resource is actually constrained.

Add capacityOpen lesson →
Best for

Right now, during an incident, when the constrained resource is one you can buy

Blind to

Efficiency — you can scale a wasteful system indefinitely and pay for it forever

Costs

Linear and permanent spend; often no code risk

Answers

"Can we survive today?"

Fix the bottleneckOpen lesson →
Best for

Anything that will still be running next quarter

Blind to

Urgency — a profile-and-refactor is not an incident mitigation

Costs

Engineering time plus deployment risk; occasionally a redesign

Answers

"Why does this cost what it costs?"

DimensionAdd capacityFix the bottleneck
Works whenThe added resource is the constrained oneYou have measured which resource is constrained
Fails whenThe bottleneck is a lock, a pool, or someone else's APIThe building is on fire
Leaves behindA bigger bill and the same shapeA system with a different bottleneck