One of the most important things I do when scheduling projects is to impose a two-week code freeze. The big mistake many people make is that they only schedule one week for code freeze when they hit a milestone. In that week you are attempting to fix bugs, which destabilizes the code base considerably. My trick has been to schedule a two-week code freeze. The first week is absolute feature freeze with only bug fixes allowed. If developers are not fixing bugs, they are testing that week. The second week is complete code freeze where you are not changing the code at all. Of course, you have to fix any show-stopper bugs, but the key is that you are getting the best testing effort on the actual bits you are shipping to your customers.
This was first published in January 2001