This is a popular question that I get asked quite often. While the opinions differ, I strongly believe that no matter where you sit at the negotiation table, you should put the offer on the table first.
The reason is that by putting the offer on the table first you are setting an expectation or an anchor point. It is therefore important that your first offer is ambitious meaning that your offer is well below your maximum acceptance point or well above your minimum acceptance point depending if you are the buyer or the seller.
If you are buying a house for example and you don’t want to pay more than $950,000 then your maximum acceptance point is $950,000. Your first offer should therefore be a reasonable amount below $950,000. Be aware that if you are too ambitious with your offer you can insult the other party and the negotiation won’t continue.