Scoping is an ongoing process and not a particular phase of development that we finish. Even though we try to figure out what we can do early on, we still have to make scope adjustments as we follow the schedule. If higher priority tasks fall behind, it is only natural to cut lower priority tasks so we can redirect those resources to the higher priority tasks.
At most studios, we work in milestones. A milestone is a longer period of time where we have a set of targets to deliver. When the game is green lit, the general milestone schedule is agreed upon and high level goals are set. This process can take a few months while we figure out what the game is about. The establishment of the milestones is very important, because it provides a means of tracking the game's overall development progress. Independent studios that have contracts with a publisher usually get paid for each successful milestone - the funding is given when the project reaches the goals set for the milestone.
Early in the milestone, we usually have some planning meetings where the high-level goals are broken down into smaller tasks that get estimates from the developers in the trenches. If the tasks are too difficult to estimate by themselves, we break them down further until we get some consensus as to how expensive a task will be. Then, the producers take all those estimates, prioritize them, add them up, and compare to how much time we have in the schedule for the milestone. Starting from the highest priority and working their way down, they put as many of the tasks that we can do and will fit into the schedule in, and the other tasks that are either lower priority or have dependencies on the current tasks get put into the backlog. Then, as we progress through the milestone, they'll update the schedule as additional tasks get cut or added based on our progress and speed.
Sometimes tasks slip the schedule for unforeseen reasons - our estimates are off, the person who was working on the task left the company, the licensor vetoed the idea, there's a new thing that takes priority, etc. When this happens, we can sometimes push the task into the next milestone (we call this punting), as long as the overall milestone goals are still hit. If we can't hit the overall milestone goals, the milestone is delayed and the studio may not get paid until the milestone goals are reached. If we consistently miss milestones by too much and the project is in danger of getting cancelled.
Got a burning question you want answered?