Stu Smith gives excellent advice regarding deadlines and estimates. The only addition I would perhaps make is that treating estimation has a one-time activity hurts. More often than not software projects overrun their deadlines, and most of the times it is because of stale estimates. There is a high possibility that more requirements get discovered at later stages of the project, or sometimes the factors affecting the project change, but the estimation does not reflect them. It is important to refine estimates throughout the project and keep them fresh.