I am working on a project that has been working for a long period of time, and we are starting the final version of the product.
Ongoing testing efforts have found that there are about thirty defects left in the system, but we don’t have time to fix all these flaws (I’m sure this is a very common situation).
I had several discussions with different people about whether to freeze the code. Currently, my manager wants the code to freeze, however, to fix the remaining critical defects in the window between freezing and release (about 5 weeks). I worry that this is not the actual code freeze, but rather the “slush” code at best. Defects will be grouped by a team of senior engineers to make sure that only critical corrections from the remaining problems actually work, but from the initial view, critical problems appear to be about two-thirds of all missing defects.
I understand that having a code freeze provides certain psychological benefits for developers, such as providing a fixed end date for all work. However, this seems to be completely denied by my manager, who openly discusses the fixes that will go into the “after” freeze.
I was wondering if anyone has any other similar experience or can give me some tips on what is the best way to handle this situation. I'm starting to think that no one really freezes their code base the day they say they are going.
We plan to branch from the trunk in subversion in code freeze mode to make sure that the final version of the product is isolated from the development trunk, so I'm not too worried about the problems associated with changing the version of the product release.
Thanks,
Idos
EDIT: I believe the best way to explain the thinking of my managers is that this is not really freezing the code, but rather a “freezing functionality”, however, since all the functions have been in the product for some time, I think this is a gross simplification.
EDIT2: I would like to thank everyone for their excellent answers, unfortunately, I can only note one of them useful, although all 7 answers have been incredibly useful so far.