Estimates are Just Estimates
Estimating is one of the more difficult and risky parts of development. A good estimator is valuable, but even more valuable is a team that understands what an estimate is and what an estimate is not.
An estimate is an approximation of the bigness or size of a project; it is not a commitment. I have seen, time and time again, estimates turned into commitments and estimators are then held accountable for their estimates, resulting in long hours for developers, monetary losses for development companies, and angry clients.
In an environment where an estimate sneaks in as a commitment, estimators are prone to padding. Padding is the arbitrary increase in an estimate. It is unethical. It cheats the client and the team. It covers up deficiencies in estimation, production and management. Estimators will pad when they have been burned by under-estimating in the past and are not comfortable in their competence to provide a better estimate. Developers do this to save their jobs. Managers do this to meet expectations. Padding is an acknowledgment of poor estimation. It does not provide any way to help estimate better in the future. If you have a gut feeling that your estimate is low, you need to think it through and articulate why you feel an estimate to be low. This kind of analysis is required to continually improve estimation.