About Effort Estimation
Effort estimation is the weak link in software
project management. Often a task delegated to a project manager, the
resulting estimates, made very early in the development lifecycle, are
notoriously inaccurate. The time it takes to build a piece of software
is an intractable question. Typically, not enough time is devoted to
the calculation of effort, as the time spent is typically not funded.
The individuals doing the job may not have the necessary experience to
perform it well. Estimates based on inadequately described
requirements are bound to be incorrect, and it has been shown that the
expression of requirements is, itself, notoriously poor [1].
Requirements statements too often consist of the 'when' and not the
'what' [2] of project definition. Understanding the relationship
between time, size and cost in software development is fundamentally
complicated and insufficiently understood. For instance, limiting the
time available to a project may be seen as a strategy to reduce risk,
when in fact it has the effect of reducing efficiency and hence
driving costs up [2]. It is reasonable to consider cost in terms of
software development to refer to the cost of labour, hence project
duration and human resources allocated are the primary cause of rising
costs when a project is delivered late.
Estimates are needed throughout a project's lifecycle; from
preliminary estimates when bidding for a contract, to multiple interim
estimates required to measure progress against targets. Yet,
inevitably, preliminary estimates are the most difficult to obtain,
and are often the least accurate because too little is known about the
project in the early stages. Once begun, more detailed estimates help
in project planning, but can, embarrassingly, show the initial
estimate to be far off the mark [3].
The history of unrealistic bids has created distrust between suppliers
and customers [2]. In a study by Mohanty the cost of one software
development project varied by almost 800% when estimated using 12
different models [4]. There is clearly a lot of work needed in the
field of software cost estimation, however, it is not clear that
results will ever match expectations.
To read more about effort estimation, go to the download page and read
the section from the literature survey
[2.] Smyth, P., Bidding for Software Projects - Verifying Estimates, (2002), Price Systems L.L.C., Mount Laurel, N.J. USA, www.pricesystems.com/downloads/pdf/smyth.pdf
[3.] Fenton, N. and Pfleeger, S.L., Software Metrics - A Rigorous & Practical Approach. (1996), London, Thomson Computer Press
[4.] Mohanty, S., Software Cost Estimation: Present and Future. Software Practice and Experience, (1981). 11: p. 103-121, Wiley Publishing, NY
Links
General Approaches to Effort Estimation
| http://citeseer.nj.nec.com/488252.html |
| Good introduction from the University of Calgary |
Cocomo
| NASA site |
| COCOMO II |
Function Point Analysis |
University of Quebec in Montreal/Université du Québec à Montréal |
| Software Productivity Research (Caper Jones) |
Use Case Points Method
| Simula lab |
