Too Long; Didn't Read
Estimating software projects is hard. Early on in the development process, you can’t precisely define the scope of a project. Because inevitably, the scope will change after development kicks off, since the team will have learned more about the project and its context by then. Still, teams have to estimate the resources they need for a project, at least approximately, before getting started.