Skip to main content
Log in

A flexible method to estimate the software development effort based on the classification of projects and localization of comparisons

  • Published:
Empirical Software Engineering Aims and scope Submit manuscript

Abstract

The estimation of software development effort has been centralized mostly on the accuracy of estimates through dealing with heterogeneous datasets regardless of the fact that the software projects are inherently complex and uncertain. In particular, Analogy Based Estimation (ABE), as a widely accepted estimation method, suffers a great deal from the problem of inconsistent and non-normal datasets because it is a comparison-based method and the quality of comparisons strongly depends on the consistency of projects. In order to overcome this problem, prior studies have suggested the use of weighting methods, outlier elimination techniques and various types of soft computing methods. However the proposed methods have reduced the complexity and uncertainty of projects, the results are not still convincing and the methods are limited to a special domain of software projects, which causes the generalization of methods to be impossible. Localization of comparison and weighting processes through clustering of projects is the main idea behind this paper. A hybrid model is proposed in which the software projects are divided into several clusters based on key attributes (development type, organization type and development platform). A combination of ABE and Particle Swarm Optimization (PSO) algorithm is used to design a weighting system in which the project attributes of different clusters are given different weights. Instead of comparing a new project with all the historical projects, it is only compared with the projects located in the related clusters based on the common attributes. The proposed method was evaluated through three real datasets that include a total of 505 software projects. The performance of the proposed model was compared with other well-known estimation methods and the promising results showed that the proposed localization can considerably improve the accuracy of estimates. Besides the increase in accuracy, the results also certified that the proposed method is flexible enough to be used in a wide range of software projects.

This is a preview of subscription content, log in via an institution to check access.

Access this article

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Fig. 1
Fig. 2
Fig. 3
Fig. 4
Fig. 5
Fig. 6
Fig. 7
Fig. 8
Fig. 9
Fig. 10
Fig. 11

Similar content being viewed by others

References

  • Angelis L, Stamelos I (2000) A simulation tool for efficient analogy based cost estimation. Empir Softw Eng 5(1):35–68

    Article  Google Scholar 

  • Aroba J, Cuadrado-Gallego JJ, Sicilia M-A, Ramos I, Garcı’a-Barriocanal E (2008) Segmented software cost estimation models based on fuzzy clustering. J Syst Softw 81:1944–1950

    Article  Google Scholar 

  • Attarzadeh I, Hock OS (2010) Proposing a new software cost estimation model based on artificial neural networks, 2nd International Conference on Computer Engineering and Technology (ICCET), Kuala Lumpur, Malaysia

  • Auer M, Trendowicz A, Graser B, Haunschmid E, Biffl S (2006) Optimal project feature weights in analogy-based cost estimation: improvement and limitations. IEEE Trans Softw Eng 32(2):83–92

    Article  Google Scholar 

  • Azzeh M, Neagu D, Cowling P (2010) Fuzzy grey relational analysis for software effort estimation. Empir Softw Eng 15(1):60–90

    Article  Google Scholar 

  • Azzeh M, Neagu D, Cowling PI (2011) Analogy-based software effort estimation using Fuzzy numbers. J Syst Softw 84(2):270–284

    Article  Google Scholar 

  • Bai Q (2010) Analysis of particle swarm optimization algorithm. Comput Inform Sci 3(1):180–184

    Google Scholar 

  • Bajwa SS (2009) Investigating the Nature of Relationship between Software Size and Development Effort. Department of Interaction and System Design, Blekinge Institute of Technology. Master of Science

  • Bakır A, Turhan B, Bener A (2010) A New perspective on data homogeneity in software cost estimation: a study in embedded systems domain. Softw Qual J 18(1):57–80

    Article  Google Scholar 

  • Benala T, Dehuri S, Satapathy S, Madhurakshara S (2012) Genetic algorithm for optimizing functional link artificial neural network based software cost estimation, Proceedings of the International Conference on Information Systems Design and Intelligent Applications, Visakhapatnam, India. 132:75–82

  • Bettenburg N, Nagappan M, Hassan AE (2012) Think locally, act globally: Improving defect and effort prediction models, Proceedings of the 9th Working Conference on Mining Software Repositories Zurich, Switzerland

  • Bhatnagar R, Bhattacharjee V, Ghose MK (2010) Software development effort estimation neural network vs. Regression modeling approach. Int J Eng Sci Technol 2(7):2950–2956

    Google Scholar 

  • Boehm BW (1981) Software engineering economics. Prentice Hall, Englewood Cliffs

    MATH  Google Scholar 

  • Boehm B, Abts C, Chulani S (2000) Software development cost estimation approaches—A survey. Ann Softw Eng 10(4):177–205

    Article  MATH  Google Scholar 

  • Breiman L, Friedman JH, Olshen RA, Stone CJ (1984) Classification and regression trees. Wadsworth, Pacific Grove

    MATH  Google Scholar 

  • Chao-Jung H, Chin-Yu H, Nat T, Hua Univ H (2007) Improving effort estimation accuracy by weighted grey relational analysis during aoftware development. 14th Asia-Pacific Conference on Software Engineering

  • Chiu N-H, Huang S-J (2007) The adjusted analogy-based software effort estimation based on similarity distances. J Syst Softw 80(4):628–640

    Article  Google Scholar 

  • Conte SD, Dunsmore HE, Shen VY (1986) Software engineering metrics and models. Benjamin-Cummings Publishing Co., Inc, Menlo Park

    Google Scholar 

  • Costagliola G, Ferrucci F, Tortora G, Vitiello G (2005) Class point: an approach for the size estimation of object-oriented systems. IEEE Trans Softw Eng 31(1):52–74

    Article  Google Scholar 

  • Dalkey N, Helmer O (1963) An experimental application of the Delphi method to the use of experts. Manag Sci 9(3):458–467

    Article  Google Scholar 

  • Deng JL (1982) Control problems of grey systems. Syst Control Lett 1(5):288–294

    Article  MATH  Google Scholar 

  • Elyassami S, Idri A (2012) Investigating effort prediction of software projects on the ISBSG dataset. Int J Artif Intell Appl 3(2):121–132

    Google Scholar 

  • Ferrucci F, Gravino C, Oliveto R, Sarro F (2010) Genetic programming for effort estimation: An analysis of the impact of different fitness functions. Proceedings of the 2nd International Symposium on Search Based Software Engineering (SSBSE ’10). Benevento, Italy, IEEE: 89–98

  • Gupta S, Sikka G, Verma H (2011) Recent methods for software effort estimation by analogy. SIGSOFT Softw Eng Notes 36(4):1–5

    Article  Google Scholar 

  • Hary CHVMK, Reddy PVGDP (2011) A fine parameter tuning for COCOMO 81 software effort estimation using particle swarm optimization. J Softw Eng 5(1)

  • Hayes W (1994) Statistics, 5th edn. Hartcourt Brace College Publishers. New York

  • Hsu C-J, Huang C-Y (2011) Comparison of weighted grey relational analysis for software effort estimation. Softw Qual J 19(1):165–200

    Article  Google Scholar 

  • Huang SJ, Chiu NH (2006) Optimization of analogy weights by genetic algorithm for software effort estimation. Inf Softw Technol 48:1034–1045

    Article  Google Scholar 

  • Huang YS, Chiang CC, Shieh JW, Grimson E (2002) Prototype optimization for nearest-neighbor classification. Pattern Recogn 35:1237–1245

    Article  MATH  Google Scholar 

  • Huang S-J, Chiu N-H, Chen L-W (2008) Integration of the grey relational analysis with genetic algorithm for software effort estimation. Eur J Oper Res 188(3):898–909

    Article  MATH  Google Scholar 

  • ISBSG (2011) International Software Benchmarking standard Group. from www.isbsg.org

  • Jensen R (1983) An improved macrolevel software development resource estimation model. In Proceeding of 5th Conference of International S Parametric Analysts: 88–92

  • Jianfeng W, Shixian L, Linyan T (2009) Improve analogy-based software effort estimation using principal components analysis and correlation weighting. International conference on Software Engineering ,Guangzhou, China, IEEE:179–186

  • Jingzhou L, Guenther R (2006) A comparative study of attribute weighting heuristics for effort estimation by analogy. Proceedings of ACM/IEEE International Symposium on Empirical software engineering. Rio de Janeiro, Brazil, ACM

  • Jingzhou L, Guenther R (2008) Analysis of attribute weighting heuristics for analogy-based software effort estimation method AQUA+. Empir Softw Eng 13(1):63–96

    Article  Google Scholar 

  • Jones C, Bonsignour O, Subramanyam J (2011) The economics of software quality. Addison-Wesley Longman. Boston

  • Jorgensen M (2004) A review of studies on expert estimation of software development effort. Syst Softw 70:37–60

    Article  Google Scholar 

  • Jorgensen M, Shepperd M (2007) A systematic review of software development cost estimation studies. Software Engineering, IEEE Transactions on Software Engineering 33(1): 33–53

    Google Scholar 

  • Jorgensen M, Indahl U, Sjoberg D (2003) Software effort estimation by analogy and regression toward the mean. J Syst Softw 68:253–262

    Article  Google Scholar 

  • Kadoda G, Cartwright M, Chen L, Shepperd M (2000) Experiences using case-based reasoning to predict software project effort, International Conference on Empirical Assessment and Evaluation in Software Engineering, KEELE University

  • Kennedy J, Eberhart R (1995) Particle swarm optimization. IEEE International Conference onNeural Networks, Piscataway, NJ

  • Keung JW, Kitchenham BA, Jeffery DR (2008) Analogy-X: providing statistical inference to analogy-based software cost estimation. IEEE Trans Softw Eng 34(4):471–484

    Article  Google Scholar 

  • Khatibi Bardsiri V, Jawawi D, Hashim S, Khatibi E (2012) A PSO-based model to increase the accuracy of software development effort estimation. Softw Qual J 1–26

  • Khatibi BV, Jawawi DNA, Hashim SZM, Khatibi E (2011) A New fuzzy clustering based method to increase the accuracy of software development effort estimation. World Applied Sciences Journal 14(9):1265–1275

    Google Scholar 

  • Kocaguneli E, Menzies T (2011) How to find relevant data for effort estimation? Proceedings of the 2011 International Symposium on Empirical Software Engineering and Measurement, IEEE Computer Society: 255–264

  • Kocaguneli E, Menzies T, Bener A, Keung JW (2012) Exploiting the essential assumptions of analogy-based effort estimation. IEEE Trans Softw Eng 38(2):425–438

    Article  Google Scholar 

  • Kolodner JL (1993) Case-based reasoning. Morgan Kaufmann Publishers Inc. San Mateo, California

  • Lafferty MT (2010) Software effort estimation accuracy: A comparative study of estimaion based on software sizing and development methods. Faculty of Business and Technology, Capella University. Doctor Philosophy

  • Li J, Ruhe G (2008a) Analysis of attribute weighting heuristics for analogy-based software effort estimation method AQUA+. Empir Softw Eng 13(1):63–96

    Article  Google Scholar 

  • Li JZ, Ruhe G (2008b) Software effort estimation by analogy using attribute selection based on rough set analysis. Int J Softw Eng Knowl Eng 18(1):1–23

    Article  Google Scholar 

  • Li J, Ruhe G, Al-Emran A, Richter M (2007a) A flexible method for software effort estimation by analogy. Empir Softw Eng 12(1):65–106

    Article  Google Scholar 

  • Li YF, Xie M, Goh TN (2007b) A study of genetic algorithm for project selection for analogy based software cost estimation. International Conference on Industrial Engineering and Engineering Management, Singapore

  • Li YF, Xie M, Goh TN (2008) A study of analogy based sampling for interval based cost estimation for software project management. 4th IEEE International Conference on Management of Innovation and Technology, Singapore

  • Li YF, Xie M, Goh TN (2009a) A study of the non-linear adjustment for analogy based software cost estimation. Empir Softw Eng 14:603–643

    Article  Google Scholar 

  • Li YF, Xie M, Goh TN (2009b) A study of project selection and feature weighting for analogy based software cost estimation. J Syst Softw 82(2):241–252

    Article  Google Scholar 

  • Lin J-C (2010) Applying particle swarm optimization to estimate software effort by multiple factors software project clustering, International Computer Symposium (ICS). Tatung Univ., Taipei Taiwan, IEEE:1039–1046

  • Madachy R (1994) A software project dynamics model for process cost, schedule and risk assessment, University of Southern California. Ph.D. Dissertation

  • Marza V, Teshnehlab M (2009) Estimating development time and effort of software projects by using a Neuro_Fuzzy Approach. In: K. Jayanthakumaran (ed) Advanced Technologies. Shanghai,China: InTech, pp. 395–414

  • Maxwell K (2002) Applied statistics for software managers. Prentice-Hall, Englewood Cliffs

    Google Scholar 

  • Mendes E, Watson I, Triggs C, Mosley N, Counsell S (2003) A comparative study of cost estimation models for web hypermedia applications. Empir Softw Eng 8:163–196

    Article  Google Scholar 

  • Mendes E, Mosley N, Counsell S (2005) Investigating Web size metrics for early Web cost estimation. J Syst Softw 77(2):157–172

    Article  Google Scholar 

  • Menzies T, Butcher A, Marcus A, Zimmermann T, Cok D (2011) Local vs. global models for effort estimation and defect prediction. Proceedings of the 26th IEEE/ACM International Conference on Automated Software Engineering, IEEE Computer Society: 343–351

  • Milios D, Stamelos I, Chatzibagias C (2011) Global optimization of analogy-based software cost estimation with genetic algorithms, artificial intelligence applications and innovations. L. Iliadis, I. Maglogiannis and H. Papadopoulos, Springer Boston. 364:350–359

  • Mittas N, Angelis L (2010) LSEbA: least squares regression and estimation by analogy in a semi-parametric model for software cost estimation. Empir Softw Eng 15(5):523–555

    Article  Google Scholar 

  • Mittas N, Athanasiades M, Angelis L (2008) Improving analogy-based software cost estimation by a resampling method. Inf Softw Technol 50(3):221–230

    Article  Google Scholar 

  • Oliveira ALI (2006) Estimation of software project effort with support vector regression. Neurocomputing 69:1749–1753

    Article  Google Scholar 

  • Oliveira ALI, Braga PL, Lima RMF, Cornélio ML (2010) GA-based method for feature selection and parameters optimization for machine learning regression applied to software effort estimation. Inf Softw Technol 52(11):1155–1166

    Article  Google Scholar 

  • Pawlak Z (1991) Rough set: Theoretical aspects of reasoning about data. Kluwer. Boston

  • Pendharkar PC, Subramanian GH, Rodger JA (2005) A probabilistic model for predicting software development effort. IEEE Trans Softw Eng 31(7):615–624

    Article  Google Scholar 

  • Pickard L, Kitchenham B, Linkman S (2001) Using simulated data sets to compare data analysis techniques used for software cost modeling. IEE Proc Softw 148(6):165–174

    Article  Google Scholar 

  • Posnett D, Filkov V, Devanbu P (2011) Ecological inference in empirical software engineering. Proceedings of the 26th IEEE/ACM International Conference on Automated Software Engineering, IEEE Computer Society: 362–371

  • Putnam LH (1978) A general empirical solution to the macro software sizing and estimating problem. IEEE Trans Softw Eng SE-4(4):345–361

    Article  Google Scholar 

  • Reddy P (2011) Particle swarm optimization in the fine-tuning of fuzzy software cost estimation models. Int J Softw Eng Knowl Eng 1(2):12–23

    Google Scholar 

  • Seo Y-S, Yoon K-A, Bae D-H (2008) An empirical analysis of software effort estimation with outlier elimination. Proceedings of the 4th international workshop on Predictor models in software engineering. Leipzig, Germany, ACM: 25–32

  • Shepperd M, Schofield C (1997) Estimating software project effort using analogies. IEEE Trans Softw Eng 23(11):736–743

    Article  Google Scholar 

  • Sheta AF, Ayesh A, Rine D (2010) Evaluating software cost estimation models using particle swarm optimisation and fuzzy logic for NASA projects; a comparative study. Int J Bio-Inspired Comput 2(6):365–373

    Article  Google Scholar 

  • Song Q, Shepperd M (2011) Predicting software project effort: a grey relational analysis based method. Expert Syst Appl 38(6):7302–7316

    Article  Google Scholar 

  • Tausworthe RC (1980) The work breakdown structure in software project management. J Syst Softw 1(3):181–186

    Google Scholar 

  • Vinay Kumar K, Ravi V, Carr M, Raj Kiran N (2008) Software development cost estimation using wavelet neural networks. J Syst Softw 81(11):1853–1867

    Article  Google Scholar 

  • Vishal Sharma HKV (2010) Optimized fuzzy logic based framework for effort estimation in software development. Int J Comput Sci 7(2):30–38

    Google Scholar 

  • Walkerden F, Jeffery R (1997) Software cost estimation: a review of models, process, and practice. Adv Comput 44:59–125, V. Z. Marvin, Elsevier

    Article  Google Scholar 

  • Walkerden F, Jeffery R (1999) An empirical study of analogy-based software effort estimation. Empir Softw Eng 4(2):135–158

    Article  Google Scholar 

  • Wu D, Li J, Liang Y (2010) Linear combination of multiple case-based reasoning with optimized weight for software effort estimation. J Supercomput 1–21. doi:10.1007/s11227-010-0525-9

Download references

Acknowledgments

We would like to thank the International Software Benchmarking Standards Group (ISBSG) to approve for accessing the ISBSG data set employed in this paper.

Author information

Authors and Affiliations

Authors

Corresponding authors

Correspondence to Vahid Khatibi Bardsiri or Dayang Norhayati Abang Jawawi.

Additional information

Communicated by: Tim Menzies

Rights and permissions

Reprints and permissions

About this article

Cite this article

Khatibi Bardsiri, V., Jawawi, D.N.A., Hashim, S.Z.M. et al. A flexible method to estimate the software development effort based on the classification of projects and localization of comparisons. Empir Software Eng 19, 857–884 (2014). https://doi.org/10.1007/s10664-013-9241-4

Download citation

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s10664-013-9241-4

Keywords

Navigation