There are developers that just want to keep their head down and write code, you'll never get those people to ask the questions that are being suggested here.
When new / jr devs ask me what they should learn, I say: business, marketing, etc, and improve your comms skills ( speaking, writing, and listening). That's not the answer they get typically.
You can give them *exactly* what they ask for and still be wrong. The user / client isn't going to admit that. Nah. They'll just play the "Damn IT" card and it'll be back to the drawing board but now with a shit load of tension.
It's best to ask - sooner rather than later.
Most people have a vague idea of the outcome they want, and the reason for it. They also quickly know what they don't want _once they see it_
And that's why agile and iterative development is actually great for GUI based user interactive app development.
One of the advantages of being helpless is not taking responsibility.
They actually need Y.
Time saved.
Then, six months later, said executive shows back up demanding to know why you haven't provisioned this great Y thingamajig that his golf buddy was raving about.
I don't want to nitpick but the change of a single word is going to make significant difference in the outcome, time spent, satisfaction, next steps, etc.
Nail down what the requestor *needs* and be sure you both agree...
I wish I had $20 for everytime the initial "I want..." followed by a couple of questions - or even the famous The 5 Whys - evolved into the true (business) need.