There is a dangerous phrase in product organizations: “We can probably squeeze it in.” It usually arrives after the roadmap is already full. A large customer needs one more report. An executive wants a dashboard before the quarter closes. Sales has a deal that could land if Engineering can make one exception. Nobody wants to create conflict, and the request looks small enough to absorb.
So the team says yes. The problem is not that product teams should never accommodate urgent work. The problem is that the word yes makes the cost disappear. A product yes is not an approval. It is an exchange.
Something is being spent.
The obvious cost is capacity
Start with the easy part. If Engineering is already committed and you add work, something else has to happen. Another item moves. Scope changes. Quality absorbs the pressure.
A deadline slips. People work longer. Or the team quietly assumes it can produce more capacity than it had yesterday. There is no magic fifth option. This is basic opportunity cost, but product organizations are remarkably good at hiding it.
The new request gets described in isolation: “It is only one dashboard.” “It is just an export.” “It is a small customization.” But the honest question is never only: “Can we build this?”
It is:
“What becomes less true if we do?”
If the answer is “nothing,” you probably have not looked hard enough.
Then the hidden bills arrive
Engineering time is only the first invoice. Consider a churn dashboard demanded during a renewal crisis. The team says yes because the account team needs earlier visibility. Engineers start building. Leadership relaxes because something is being done. That creates another cost: false confidence.
The organization can mistake visible activity for progress against the business problem. The revenue leak continues, but everyone feels safer because the Jira board has a new initiative on it. Then there is trust. If engineers know the underlying data is broken but political pressure forces a polished interface on top of it anyway, the product leader has spent credibility with the team.
Then there is maintenance. The urgent exception becomes production software. Production software needs support, documentation, testing, ownership, and future compatibility. The “small” request can live much longer than the quarter that created it. Then there is precedent. A custom capability built for one account becomes evidence in the next sales conversation that the company does custom capabilities. What was framed as an exception quietly becomes part of the product's commercial identity.
The original yes was one decision. Its consequences keep making decisions after the meeting is over.
“Squeeze it in” is usually an accounting failure
When leaders say they found room for an urgent request without moving anything else, what often happened is not capacity creation. The cost moved somewhere harder to see. Into context switching. Into technical compromise. Into slower delivery somewhere else.
Into review fatigue. Into a team that stops believing roadmap commitments are real. Into a customer promise that has to be serviced for years. Into an outcome nobody is watching because the organization is busy celebrating output. This is why I think product managers should treat prioritization less like ranking and more like accounting.
Not financial accounting in the literal sense. Decision accounting. Every commitment should have a visible debit somewhere else.
Put a price tag on the yes
When a consequential request arrives, force a few things into the open before the team commits. If we do this: What moves? What stops? What gets smaller?
What new maintenance obligation are we creating? What precedent are we setting? Which existing outcome are we making less likely? What are we assuming this request will accomplish? Who owns the decision if those assumptions are wrong?
You do not need a giant governance process for this. Sometimes one sentence is enough:
“We can take this on, but it moves the retention experiment by three weeks and uses the two senior engineers currently assigned to the data issue.”
Now the organization is making an actual choice. The point is not to make every request sound expensive so Product can say no. That is just another form of dysfunction. The point is to make the exchange legible. A seven figure customer may absolutely be worth changing the plan for.
A regulatory deadline may be nonnegotiable. A production incident can erase the roadmap overnight. Good product management is not worshipping the plan. It is understanding what you are trading when you change it.
A good yes contains a no
The cleanest product decisions make both sides visible. “Yes, and therefore this moves.” “Yes, and therefore we are accepting this risk.” “Yes, and therefore we are not funding the other bet.” “Yes, and therefore this is a one customer exception we are not promising as a platform capability.”
Organizations often want the emotional benefit of saying yes without the emotional cost of acknowledging what was sacrificed. But the sacrifice exists either way. When the cost stays invisible, teams experience strategy as random interruption. Roadmaps lose credibility. Engineering absorbs the conflict. Customers accumulate promises. Leadership wonders why everything takes longer than expected.
The organization did not run out of capacity. It spent capacity without keeping the receipt.
The price is the decision
Product people spend a lot of time learning how to prioritize. I think a more useful habit is learning how to expose the price of a choice. Because most difficult product decisions are not between good and bad. They are between things that each have a legitimate argument.
Keep the customer. Protect the platform. Hit the quarter. Fix the data foundation. Reduce churn.
Ship the strategic bet. The work is not making those tensions disappear. The work is making them visible enough that the organization can choose deliberately. So the next time someone says, “Can we squeeze one more thing in?” resist the urge to answer yes or no immediately.
Ask for the price. If nobody can name it, you are not looking at a free request. You are looking at an unrecorded tradeoff.
