The accurate prediction of software development costs is a critical issue in making good
management decisions and accurately determining how much effort and time a project
requires for project managers as well as system analysts and developers. Estimation is
"The action appraising assessing or valuing" or "The process of forming an
approximate notion of numbers, quantities, magnitudes, etc. without actual enumeration or
measurement". From these definitions, it follows that the task of estimation is not easy to do
precisely.
There are many software cost estimation methods available. No one method is necessarily
better or worse than the other, in fact, their strengths and weaknesses are often
complimentary to each other. Estimating the effort required for software development is the
a most challenging and annoying job that requires expertise, experience as well as good
understanding of the process, project management, metrics, and most important use of proper
estimation models, tools, and techniques.
Good software estimation models can significantly help the software project manager,
project stakeholders to make informed decisions about biding values, planning the project,
resource management, and delivering the project on time and within budget. However, if
managers use inaccurate estimation models for making decisions that may be a recipe for
disaster.