Games these days are nearly always in perpetual Beta. That is, never a final product, fixes and new features can be added at will via the internet. In my day (old fart) once released the only way to fix a bug was to recall all copies - not something you want to do. I think the ability to fix bugs after release has taken us down the road of buggy software - release it anyway - we can fix it later.
One thing we talked production companies into doing was have three lists:
1. Things that must be included;
2. Things it would be nice to include;
3. Things that can be included if spare time was available - it never was.
Working back from the release date gave us the hand over date - or rather a date to hand over the final code.
Final testing and production had to be factored in to get a "hand over date". It was a major problem if a bug was found at this stage.
This in turn gave us a date to stop any new coding and concentrate on bug fixing only.
Back in 2002, when I retired we had a team of almost 30 people working on one project. Stopping one of the participants from breaking the game was a full time job. We employed what we then called a software architect. He had a stand alone machine that he could (try) and incorporate new changes - only if they didn't break the code were they accepted.
Twas fun times.
Mike.