1 Estimates at the beginning of a project are rarely accurate, given the team's limited knowledge of the project. Users typically do not yet know all of their requirements for the system.
2 Software development is a process of continuous improvement. A well-run project attacks the areas of highest variability first in order to reduce uncertainties as quickly as possible.
3 Reducing the risk of cost and schedule overruns is a wise investment; estimates developed during the planning phase are more accurate. This is the best time to make a go/no-go decision.