When you're asked to provide an estimate, determine whether you'are supposed to be estimating or figuring out how to hit a target.
Software Estimation: Demystifying the Black Art - Steve McConnell, page 6


If you work closely with your users, sharing their expectations and communicating what you're doing, then there will be few surprises when the project gets delivered. This is a BAD THING. Try to surprise your users. Not scare them, mind you, but delight them. Give them that little bit more than they were expecting. The extra bit of effort it requires to add some user-oriented feature to the system will pay for itself time and time again in goodwill. Listen to your users as the project progresses for clues about what features would really delight them.
The Pragmatic Programmer - Andrew Hunt, David Thomas, page 256 paragraph 6