Estimating software projects

  • Authors:
  • Affiliations:
  • Venue:
  • ACM SIGSOFT Software Engineering Notes
  • Year:
  • 2001

Quantified Score

Hi-index 0.00

Visualization

Abstract

Software Cost Estimation (SCE) continues to be a weak link in software project management. It is the responsibility of the project manager to make accurate estimations of effort and cost. This is particularly true for projects subject to competitive bidding where a bid too high compared with competitors would result in loosing the contract or a bid too low could result in a loss to the organization. From an estimate, the management often decides whether to proceed with the project. Industry has a need for accurate estimates of effort and size at a very early stage in a project. However, when software cost estimates are done early in the software development process the estimate can be based on wrong or incomplete requirements. Software cost estimate process is the set of techniques and procedures that organizations use to arrive at an estimate.Why SCE is difficult and error prone?- Software cost estimation requires a significant amount of effort to perform it correctly.- SCE is often done hurriedly, without an appreciation for the effort required.- You need experience at developing estimates, especially for large projects.- Human bias i.e. an Estimator is likely to consider how long a certain portion of the system would take, and then to merely extrapolate this estimate to the rest of the system, ignoring the non-linear aspects of software development.- Costs and schedules are often pre-determined by an outside source.- An in-depth analysis of the software development process w as no t undertaken or in many cases, is not fully understood- There is a general lack of acceptance that developing software is an expensive endeavor.The causes of poor and inaccurate estimation are: (a) imprecise and drifting requirements. (b) New software projects are nearly always different form the last. (c) Software practitioners don't collect enough information about past projects. (d) Estimates are forced to match the resources available.The software estimation process discussed in this paper describes the steps required for establishing initial software Life Cycle Cost estimates and then tracking and refining those estimates throughout the life of the project. Establishment of this process early in the life cycle will result in greater accuracy and credibility of estimates and a clearer understanding of the factors that influence software development costs.