  Effort estimation is a key factor for software project success, defined as
delivering software of agreed quality and functionality within schedule and
budget. Traditionally, effort estimation has been used for planning and
tracking project resources. Effort estimation methods founded on those goals
typically focus on providing exact estimates and usually do not support
objectives that have recently become important within the software industry,
such as systematic and reliable analysis of causal effort dependencies. This
article presents the results of a study of software effort estimation from an
industrial perspective. The study surveys industrial objectives, the abilities
of software organizations to apply certain estimation methods, and actually
applied practices of software effort estimation. Finally, requirements for
effort estimation methods identified in the survey are compared against
existing estimation methods.
