ABSTRACT
The majority of large software delivery projects run late and/or exceed their budgets. Anecdotally, we hear as common explanations in defense of these outcomes:
The project was much bigger than originally thought.
The requirements were poor in the first place, and so it was really impossible to produce realistic estimates.
The requirements kept changing.