Skip to main content
Log in

TSoptEE: two-stage optimization technique for software development effort estimation

  • Published:
Cluster Computing Aims and scope Submit manuscript

Abstract

Accurate software development effort estimation (SDEE) is vital for effective project planning. Due to the complex nature of software projects, estimating development effort has become a challenging task that requires careful consideration, especially in the early project phases, to prevent overestimation and underestimation. Accurate effort estimation helps to estimate the cost of a developing project through effective resource management and project budgeting for manpower. Despite numerous effort estimation models introduced over the past two decades, achieving a satisfactory level of accuracy remains elusive. The adaptive neuro-fuzzy inference system (ANFIS) model gains more popularity for estimation tasks due to its rapid learning capacity, ability to represent complex nonlinear structures, and adaptability to improperly specified data. This study presents a model called the Two-Stage optimization technique for Software Development Effort Estimation (TSoptEE). Initially, it performs feature selection through a multi-objective improved binary social network search (SNS) algorithm and then optimizes the ANFIS tunable parameters through an improved SNS algorithm to enhance the accuracy of SDEE. The proposed TSoptEE model is compared against existing estimation models and evaluated using seven performance measures over nine software datasets. The obtained results are promising in terms of accuracy and statistical significance tests. This implies that the proposed model can significantly enhance the accuracy of effort estimation.

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
Algorithm 1
Algorithm 2
Algorithm 3
Fig. 2
Fig. 3
Fig. 4

Similar content being viewed by others

Data availability

The datasets used during and/or analyzed during the current study are available in the SDEE repository, https://github.com/pravaliManchala/SDEE.git.

References

  1. Wen, J., Li, S., Lin, Z., Hu, Y., Huang, C.: Systematic literature review of machine learning based software development effort estimation models. Inf. Softw. Technol. 54(1), 41–59 (2012)

    Article  Google Scholar 

  2. Brooks, F.P., Jr.: The Mythical Man-Month: Essays on Software Engineering. Pearson Education, Hoboken (1995)

    Google Scholar 

  3. Sharma, A., Kushwaha, D.S.: Estimation of software development effort from requirements based complexity. Procedia Technol. 4, 716–722 (2012)

    Article  Google Scholar 

  4. Huang, J., Li, Y.-F., Xie, M.: An empirical analysis of data preprocessing for machine learning-based software cost estimation. Inf. Softw. Technol. 67, 108–127 (2015)

    Article  Google Scholar 

  5. Govil, N., Sharma, A.: Estimation of cost and development effort in scrum-based software projects considering dimensional success factors. Adv. Eng. Softw. 172, 103209 (2022)

    Article  Google Scholar 

  6. El Emam, K., Koru, A.G.: A replicated survey of it software project failures. IEEE Softw. 25(5), 84–90 (2008)

    Article  Google Scholar 

  7. de A. Cabral, J.T.H., Oliveira, A.L., Silva, F.Q.: Ensemble effort estimation: an updated and extended systematic literature review. J. Syst. Softw. 195, 111542 (2023)

    Article  Google Scholar 

  8. Molokken, K., Jorgensen, M.: A review of software surveys on software effort estimation. In: 2003 International Symposium on Empirical Software Engineering, 2003. ISESE 2003. Proceedings. pp. 223–230. IEEE (2003)

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

    Article  Google Scholar 

  10. Barry, B.: Software Engineering Economics, vol. 197, p. 40. Prentice-Hall, New York (1981)

  11. Putnam, L.H.: A general empirical solution to the macro software sizing and estimating problem. IEEE Trans. Softw. Eng. 4, 345–361 (1978)

    Article  Google Scholar 

  12. Albrecht, A.J., Gaffney, J.E.: Software function, source lines of code, and development effort prediction: a software science validation. IEEE Trans. Softw. Eng. 6, 639–648 (1983)

    Article  Google Scholar 

  13. Best, R.J.: An experiment in Delphi estimation in marketing decision making. J. Mark. Res. 11(4), 447–452 (1974)

    Article  Google Scholar 

  14. Riggs, W.E.: The Delphi technique: an experimental evaluation. Technol. Forecast. Soc. Change 23(1), 89–94 (1983)

    Article  Google Scholar 

  15. Lee, W.-T., Hsu, K.-H., Lee, J., Kuo, J.Y.: Applying software effort estimation model based on work breakdown structure. In: 2012 Sixth International Conference on Genetic and Evolutionary Computing, pp. 192–195. IEEE (2012)

  16. Srinivasan, K., Fisher, D.: Machine learning approaches to estimating software development effort. IEEE Trans. Softw. Eng. 21(2), 126–137 (1995)

    Article  Google Scholar 

  17. Sinha, R.R., Gora, R.K.: Software effort estimation using machine learning techniques. In: Advances in Information Communication Technology and Computing: Proceedings of AICTC 2019, pp. 65–79 (2021)

  18. Tayyab, M.R., Usman, M., Ahmad, W.: A machine learning based model for software cost estimation. In: Proceedings of SAI Intelligent Systems Conference (IntelliSys) 2016: Volume 2, pp. 402–414. Springer (2018)

  19. Mustafa, E.I., Osman, R.: A random forest model for early-stage software effort estimation for the SEERA dataset. Inf. Softw. Technol. 169, 107413 (2024)

    Article  Google Scholar 

  20. Bibi, S., Stamelos, I.: Selecting the appropriate machine learning techniques for the prediction of software development costs. In: Artificial Intelligence Applications and Innovations: 3rd IFIP Conference on Artificial Intelligence Applications and Innovations (AIAI) 2006, June 7–9, 2006, Athens, Greece 3, pp. 533–540. Springer (2006)

  21. Jadhav, A., Shandilya, S.K.: Reliable machine learning models for estimating effective software development efforts: a comparative analysis. J. Eng. Res. 11, 362–376 (2023)

    Article  Google Scholar 

  22. Hameed, S., Elsheikh, Y., Azzeh, M.: An optimized case-based software project effort estimation using genetic algorithm. Inf. Softw. Technol. 153, 107088 (2023)

    Article  Google Scholar 

  23. Manchala, P., Bisi, M.: Ensembling teaching-learning-based optimization algorithm with analogy-based estimation to predict software development effort. In: 2022 13th International Conference on Computing Communication and Networking Technologies (ICCCNT), pp. 1–7. IEEE (2022)

  24. Shah, M.A., Jawawi, D.N.A., Isa, M.A., Younas, M., Abdelmaboud, A., Sholichin, F.: Ensembling artificial bee colony with analogy-based estimation to improve software development effort prediction. IEEE Access 8, 58402–58415 (2020)

    Article  Google Scholar 

  25. Azzeh, M., Neagu, D., Cowling, P.I.: Analogy-based software effort estimation using fuzzy numbers. J. Syst. Softw. 84(2), 270–284 (2011)

    Article  Google Scholar 

  26. AlMutlaq, A.J., Jawawi, D.N., Arbain, A.F.B.: Weight optimization based on firefly algorithm for analogy-based effort estimation. Int. J. Adv. Comput. Sci. Appl. (2023). https://doi.org/10.14569/IJACSA.2023.0140666

    Article  Google Scholar 

  27. Kumar, P.S., Behera, H.S., Kumari, A., Nayak, J., Naik, B.: Advancement from neural networks to deep learning in software effort estimation: perspective of two decades. Comput. Sci. Rev. 38, 100288 (2020)

    Article  MathSciNet  Google Scholar 

  28. Moradbeiky, A., Khatibi, V., Jafari Shahbazzadeh, M.: 3LEE: a 3-layer effort estimator for software projects. Int. J. Ind. Electron. Control Optim. 5(1), 31–42 (2022)

    Google Scholar 

  29. Agrawal, V., Shrivastava, V.: Performance evaluation of software development effort estimation using neurofuzzy model. Comput. Sci. Rev. 4, 193–199 (2015)

  30. Idri, A., Hosni, M., Abran, A.: Improved estimation of software development effort using classical and fuzzy analogy ensembles. Appl. Soft Comput. 49, 990–1019 (2016)

    Article  Google Scholar 

  31. Sharma, A., Ranjan, R.: Software effort estimation using neuro fuzzy inference system: past and present. arXiv Preprint. arXiv:1912.11855 (2019)

  32. Nanda, S., Soewito, B.: Modeling software effort estimation using hybrid PSO-ANFIS. In: 2016 International Seminar on Intelligent Technology and Its Applications (ISITIA), pp. 219–224. IEEE (2016)

  33. Moosavi, S.H.S., Bardsiri, V.K.: Satin bowerbird optimizer: a new optimization algorithm to optimize ANFIS for software development effort estimation. Eng. Appl. Artif. Intell. 60, 1–15 (2017)

    Article  Google Scholar 

  34. Karimi, A., Gandomani, T.J.: Software development effort estimation modeling using a combination of fuzzy-neural network and differential evolution algorithm. Int. J. Electr. Comput. Eng. 11(1), 707 (2021)

    Google Scholar 

  35. De Carvalho, H.D.P., Fagundes, R., Santos, W.: Extreme learning machine applied to software development effort estimation. IEEE Access 9, 92676–92687 (2021)

    Article  Google Scholar 

  36. Rao, K.E., Pydi, B., Naidu, P.A., Prasann, U., Anjaneyulu, P.: Ensemble learning approach for effective software development effort estimation with future ranking. Adv. Distrib. Comput. Artif. Intell. J. 12, 31206–31206 (2023)

    Google Scholar 

  37. Suresh Kumar, P., Behera, H., Nayak, J., Naik, B.: A pragmatic ensemble learning approach for effective software effort estimation. Innov. Syst. Softw. Eng. 18(2), 283–299 (2022)

    Article  Google Scholar 

  38. de A. Cabral, J.T.H., Oliveira, A.L.: Ensemble effort estimation using dynamic selection. J. Syst. Softw. 175, 110904 (2021)

    Article  Google Scholar 

  39. Benala, T.R., Mall, R.: DABE: differential evolution in analogy-based software development effort estimation. Swarm Evol. Comput. 38, 158–172 (2018)

    Article  Google Scholar 

  40. Jang, J.-S.: ANFIS: adaptive-network-based fuzzy inference system. IEEE Trans. Syst. Man Cybern. 23(3), 665–685 (1993)

    Article  Google Scholar 

  41. Salleh, M.N.M., Talpur, N., Hussain, K.: Adaptive neuro-fuzzy inference system: overview, strengths, limitations, and solutions. In: Data Mining and Big Data: Second International Conference, DMBD 2017, Fukuoka, Japan, July 27–August 1, 2017, Proceedings 2, pp. 527–535. Springer (2017)

  42. Galorath, D.D., Evans, M.W.: Software Sizing, Estimation, and Risk Management: When Performance is Measured Performance Improves. CRC Press, Boca Raton (2006)

    Book  Google Scholar 

  43. Azzeh, M., Nassif, A.B., Minku, L.L.: An empirical evaluation of ensemble adjustment methods for analogy-based effort estimation. J. Syst. Softw. 103, 36–52 (2015)

    Article  Google Scholar 

  44. Khatibi Bardsiri, V., Jawawi, D.N.A., Hashim, S.Z.M., Khatibi, E.: A PSO-based model to increase the accuracy of software development effort estimation. Softw. Qual. J. 21, 501–526 (2013)

    Article  Google Scholar 

  45. Manchala, P., Bisi, M., Agrawal, S.: BAFS: binary artificial bee colony based feature selection approach to estimate software development effort. Int. J. Inf. Technol. 15, 2975–2986 (2023)

    Google Scholar 

  46. AG, P.V., K, A.K., Varadarajan, V.: Estimating software development efforts using a random forest-based stacked ensemble approach. Electronics 10(10), 1195 (2021)

  47. Khan, M.S., Jabeen, F., Ghouzali, S., Rehman, Z., Naz, S., Abdul, W.: Metaheuristic algorithms in optimizing deep neural network model for software effort estimation. IEEE Access 9, 60309–60327 (2021)

    Article  Google Scholar 

  48. Sharma, S., Vijayvargiya, S.: An optimized neuro-fuzzy network for software project effort estimation. IETE J. Res. 69, 6855–6866 (2022)

    Article  Google Scholar 

  49. Mewada, K.M., Sinhal, A., Verma, B.: Adaptive neuro-fuzzy inference system (ANFIS) based software evaluation. IJCSI Int. J. Comput. Sci. 10(1), 244–250 (2013)

    Google Scholar 

  50. Edinson, P., Muthuraj, L.: Performance analysis of FCM based ANFIS and ELMAN neural network in software effort estimation. Int. Arab J. Inf. Technol. 15(1), 94–102 (2018)

    Google Scholar 

  51. Ali, A., Gravino, C.: Improving software effort estimation using bio-inspired algorithms to select relevant features: an empirical study. Sci. Comput. Program. 205, 102621 (2021)

    Article  Google Scholar 

  52. Zamli, K.Z., Alhadawi, H.S., Din, F.: Utilizing the roulette wheel based social network search algorithm for substitution box construction and optimization. Neural Comput. Appl. 35(5), 4051–4071 (2023)

    Article  Google Scholar 

  53. Sharma, A., Chaudhary, N.: Prediction of software effort by using non-linear power regression for heterogeneous projects based on use case points and lines of code. Procedia Comput. Sci. 218, 1601–1611 (2023)

    Article  Google Scholar 

  54. Talatahari, S., Bayzidi, H., Saraee, M.: Social network search for global optimization. IEEE Access 9, 92815–92863 (2021)

    Article  Google Scholar 

  55. Marler, R.T., Arora, J.S.: The weighted sum method for multi-objective optimization: new insights. Struct. Multidiscip. Optim. 41, 853–862 (2010)

    Article  MathSciNet  Google Scholar 

  56. Mensah, S., Keung, J., Bosu, M.F., Bennin, K.E.: Duplex output software effort estimation model with self-guided interpretation. Inf. Softw. Technol. 94, 1–13 (2018)

    Article  Google Scholar 

  57. Rahman, M., Goncalves, T., Sarwar, H.: Review of existing datasets used for software effort estimation. Int. J. Adv. Comput. Sci. Appl. (2023). https://doi.org/10.14569/IJACSA.2023.01407100

    Article  Google Scholar 

  58. Myrtveit, I., Stensrud, E.: Validity and reliability of evaluation procedures in comparative studies of effort prediction models. Empir. Softw. Eng. 17, 23–33 (2012)

    Article  Google Scholar 

  59. Shepperd, M., MacDonell, S.: Evaluating prediction systems in software project estimation. Inf. Softw. Technol. 54(8), 820–827 (2012)

    Article  Google Scholar 

  60. Wilcoxon, F.: Individual comparisons by ranking methods. Biom. Bull. 1(6), 80–83 (1945)

    Article  Google Scholar 

  61. Nagpal, G., Uddin, M., Kaur, A.: Analyzing software effort estimation using k means clustered regression approach. ACM SIGSOFT Soft. Eng. Notes 38(1), 1–9 (2013)

    Article  Google Scholar 

  62. Tomczak, M., Tomczak, E.: The need to report effect size estimates revisited. An overview of some recommended measures of effect size. Trends Sport Sci. 1(21), 19–25 (2014)

    Google Scholar 

  63. Manchala, P., Bisi, M.: Diversity based imbalance learning approach for software fault prediction using machine learning models. Appl. Soft Comput. 124, 109069 (2022)

    Article  Google Scholar 

  64. Jørgensen, M.: Regression models of software development effort estimation accuracy and bias. Empir. Softw. Eng. 9(4), 297–314 (2004)

    Article  Google Scholar 

  65. Mittlböck, M.: Calculating adjusted r2 measures for Poisson regression models. Comput. Methods Progr. Biomed. 68(3), 205–214 (2002)

    Article  MathSciNet  Google Scholar 

Download references

Funding

The authors have not disclosed any funding.

Author information

Authors and Affiliations

Authors

Contributions

Pravali Manchala: conceptualization, methodology/study design, software, validation, formal analysis, investigation, resources, data curation, writing—original draft, writing—review & editing, visualization. Manjubala Bisi: conceptualization, validation, formal analysis, data curation, writing—review & editing, visualization, supervision.

Corresponding author

Correspondence to Pravali Manchala.

Ethics declarations

Conflict of interest

The authors declared that they have no conflicts of interest.

Additional information

Publisher's Note

Springer Nature remains neutral with regard to jurisdictional claims in published maps and institutional affiliations.

Rights and permissions

Springer Nature or its licensor (e.g. a society or other partner) holds exclusive rights to this article under a publishing agreement with the author(s) or other rightsholder(s); author self-archiving of the accepted manuscript version of this article is solely governed by the terms of such publishing agreement and applicable law.

Reprints and permissions

About this article

Check for updates. Verify currency and authenticity via CrossMark

Cite this article

Manchala, P., Bisi, M. TSoptEE: two-stage optimization technique for software development effort estimation. Cluster Comput (2024). https://doi.org/10.1007/s10586-024-04418-2

Download citation

  • Received:

  • Revised:

  • Accepted:

  • Published:

  • DOI: https://doi.org/10.1007/s10586-024-04418-2

Keywords

Navigation