Get your blog and much more!
Any project can be estimated accurately (once it's completed).
November 29, 2006



November 29, 2006


November 28, 2006

November 28, 2006

November 28, 2006

The process of predicting the amount of effort required to build a software system is called software cost estimation. Software estimation is both an art and a science. The challenge in software estimation is allowing the creativity but at the same time adhering to strong engineering principles. The IT industry has been struggling ever since it came into limelight in finding a right balance between the two. This is evident from the Standish Group`s CHAOS report (1994) which concluded that a staggering 31.1% of projects will be canceled before they ever get completed and 52.7% of projects will cost 189% of their original estimates.

Unfortunately, measurement in software industry is not always easy because of the complexities involved in designing a new software system. There exist various models that based on some mathematical algorithms compute effort as a function of a number of variables. Size is one of the most important factors that is used as an input to these models and can be measured using the lines of codes or function points. Further it is also possible to classify the models used for estimation in the software industry as either constraint or cost models. An example of cost model is COCOMO while SLIM is an example of constraint model. There are many fundamental problems with the existing models and hence it is important to estimate the error in the output of the model.

There have been hundreds of articles and many books published on software estimation. A typical software estimator does not have the time to track down these papers. In this paper, we have made an effort to present the most important and widely used models in the software estimation industry. This paper is aimed at typical software estimators who struggle with practical issues in their projects. This paper gives an overview of the software estimation techniques along with their advantages and disadvantages. Finally some pointers to selection of the appropriate estimation models are presented at the end of the paper. It is upto the estimator based on these conclusions to use all the creativity and build upon the foundation that we have laid in this paper.