Using cost models to estimate the cost and length of time necessary to develop a new software system, for example, is appropriate only after requirements have been defined, a system design has been developed, and the size of the new system has been estimated.
You can always use cost models