Know the difference.
It’s really important that you understand the difference between an estimate, a target, and a commitment.
An estimate is a rough measure of how long it will take to complete a task in the future. When you give estimates, you are predicting the future. You don’t know what kind of obstacles you will run into. There may be unexpected delays. Or things may take less time than expected. You never know. Because estimates are highly speculative, they are prone to a lot of variance. “We can deliver that feature after three weeks of work,” is an estimate. You’re well aware that it may actually take two weeks or four.
A target is a goal. “We should have that finished by the end of the month,” is a target. It may not take the whole month, and in fact you may working on several other things in the month. But your goal is to have it done by then. It might not happen, though.
A commitment is more of a promise. “We will have that released by the end of the month.” Now you are committed. If it turns out it will take longer, you’ll need to cut back on other tasks, work overtime, or do other things. A failure to deliver on time shows you can’t meet your commitments.
Unfortunately, many business people can’t tell the difference between an estimate, a target, and a commitment. They hear an estimate and they take it to be a commitment. Thus you should generally try to avoid giving estimates to these kind of people until you have them trained on appreciating the difference.
Don’t let people turn your estimates into commitments. Estimates are frequently wrong. If you gain a reputation for being frequently wrong, you will lose trust. Things only go downhill from there.