A Study of Software Development Cost Estimation Techniques and Models
Abstract
SDCE (Software Development Cost Estimation) has always been an interesting and budding field in Software Engineering. This study supports the SDCE by exploring its techniques and models and collecting them in one place. This contribution in the literature will assist future researchers to get maximum knowledge about SDCE techniques and models from one paper and to save their time. In this paper, we review numerous software development effort and cost estimation models and techniques, which are divided into different categories. These categories are parametric models, expertise-based techniques, learning-oriented techniques, dynamicsbased models, regression-based techniques, fuzzy logic-based methods, size-based estimation models, and composite techniques. Some other techniques which directly do not lie in any specific category are also briefly explained. We have concluded that no single technique is best for all situations; rather they are applicable in different nature of projects. All techniques have their own pros and cons and they are challenged by the rapidly changing software industry. Since no single technique gives a hundred percent accuracy, that is why one technique and model should not be preferred over all others. We recommend a hybrid approach for SDCE because in this way the limitations of one model and technique are complemented by the merits of the other model/technique. We also recommend a model calibration to obtain accurate results because if a model was developed in a different environment, we cannot expect reliable estimates from it in a completely new environment.