The first scare occurs late in testing. This is the one where you think you've found a showstopper bug and there is definitely not time to get it fixed and retest sufficiently. Here's how to handle it:
- calm down
- reproduce it. If your testing is good, about 60% of the time you've just scared yourself and there isn't really a bug, or the bug isn't as big as it looked.
- take it to your leads, and do it fast. Your boss, your product manager, your dev lead all need to know. Sitting on the bug will only make them feel more blindsided when they do find out about it and then find out that you've known for a while.
- find a workaround. Do this after everyone knows there's an issue. This will help you understand how necessary it is to fix it.
- figure out whether it needs to be fixed. If so, start having the date slip discussion as you're figuring this out.
The second scare occurs within the first two weeks after you release. This is the one where the next guy down the line (support, implementations, or your client usually), thinks they've found a showstopper bug.... and you missed it. Handle this the same way you handled the first scare - calm down, make sure it's really a bug and not just people panicking, and then deal with it.
When you're planning a release, don't forget to plan in time for two scares - better to anticipate it and not need it than to need it and not be able to handle it.