Here’s what’s been working for me lately. If people show up wanting to do project planning, there is common ground: In what order will things happen, and where do we need the other party to deliver something? Work that out together. This builds trust and understanding.
…
Force THEM to commit to specific times and deliverables! If there are unanswered questions on the project (operating system? virtualized or not? database to use?), block on that. “I can’t plan unless I know what the work is!”. List ALL the things you need to know.
If they can’t answer that on the spot (and a project manager typically won’t be able to), ask them for an exact date when they CAN provide the answers.
…
Quite quickly you’ll find that the customer has as much problems as you do with committing exactly to when they’ll have something done! “The children of the cobbler go bare feet”.
…
Of course, in reality things will rarely play out exactly as above, but the take home message is: turn the tables on folks asking you for detailed estimates you can’t provide. Because in the end, most large organizations have a far harder time committing to things than you do.
Source: How Many Hours for Multithreading the Server? – Articles