Yeah, but running around with your hair on fire from half-finished “urgent request” to half-finished “urgent request” is still a recipe for complete failure all the same.
How you communicate where a customer’s urgent request falls on the roadmap may change, but it’s never a smart move to upend the roadmap just because the customer thinks something is urgent.
It's possible but difficult. Mainly, it requires setting expectations well, communicating what you're actually working on and why. Your field teams (sales, account management, customer success, sometimes even product marketing) are key for this. It's important to have good relationships with them such that they're highly informed partners.
The hardest part about this is that the problem does not get significantly better as you scale. There is always a biggest customer and they always matter a lot. Even AWS and Azure have to deal with this phenomenon.
Ironically the more money the contract is worth often implies the less thrashing you’ll be subject to, just because the project is so important to the customer.
Of course that $10MM contact may be huge to you but tiny to your customer. I mean big enough that your customer really cares.
Ideally the service/support team should be just that and not also doing development.
You don't have fire fighters who also work as bank tellers. When there's a fire you want immediate response. Same with servicing key customers - make them pay for the high quality of support.
How you communicate where a customer’s urgent request falls on the roadmap may change, but it’s never a smart move to upend the roadmap just because the customer thinks something is urgent.