New developers (I consider myself here) will always estimate wrong. They will also feel bound to their estimates as deadlines.
I've seen this happen with myself, and now with another developer I've been helping along (we both do consulting & build websites for people). Strikes me as the sort of problem we didn't know we had until we get in the thick of it, and I wasn't satisfied with my answer for her.
I know this is a basic question, but figured I'd ask, what's the high value way to demonstrate willingness to share estimate revisions promptly and transparently? What's important to remember when you start getting stressed out?
Immediately, with brutal honesty, and positively.
1. Immediately: Never delay communication. Most people will be less upset about the schedule than the fact that they weren't informed.
2. With Brutal Honesty: Explain exactly what's going on. You may end up with a pleasant surprise. "Oh, can we just have xyz then?" or "How can we reduce the scope?" or " How can we help you make this easier." An informed customer/boss is a resource to be used.
3. Positively: Find a way to deliver something by the deadline. "ABC will be delivered as planned on October 31, but we have run into unexpected issues with Feature xyz, so it may not be fully implemented at that time." sounds a whole lot better than, "We won't hit the October 31 deadline." You may even give them options in terms of features & dates. They may not like it, but once they make a decision, they feel more a part of it and you will have bought some goodwill for a while.