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.
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
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)
Brooks, F.P., Jr.: The Mythical Man-Month: Essays on Software Engineering. Pearson Education, Hoboken (1995)
Sharma, A., Kushwaha, D.S.: Estimation of software development effort from requirements based complexity. Procedia Technol. 4, 716–722 (2012)
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)
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)
El Emam, K., Koru, A.G.: A replicated survey of it software project failures. IEEE Softw. 25(5), 84–90 (2008)
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)
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)
Boehm, B., Abts, C., Chulani, S.: Software development cost estimation approaches—a survey. Ann. Softw. Eng. 10(1–4), 177–205 (2000)
Barry, B.: Software Engineering Economics, vol. 197, p. 40. Prentice-Hall, New York (1981)
Putnam, L.H.: A general empirical solution to the macro software sizing and estimating problem. IEEE Trans. Softw. Eng. 4, 345–361 (1978)
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)
Best, R.J.: An experiment in Delphi estimation in marketing decision making. J. Mark. Res. 11(4), 447–452 (1974)
Riggs, W.E.: The Delphi technique: an experimental evaluation. Technol. Forecast. Soc. Change 23(1), 89–94 (1983)
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)
Srinivasan, K., Fisher, D.: Machine learning approaches to estimating software development effort. IEEE Trans. Softw. Eng. 21(2), 126–137 (1995)
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)
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)
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)
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)
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)
Hameed, S., Elsheikh, Y., Azzeh, M.: An optimized case-based software project effort estimation using genetic algorithm. Inf. Softw. Technol. 153, 107088 (2023)
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)
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)
Azzeh, M., Neagu, D., Cowling, P.I.: Analogy-based software effort estimation using fuzzy numbers. J. Syst. Softw. 84(2), 270–284 (2011)
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
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)
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)
Agrawal, V., Shrivastava, V.: Performance evaluation of software development effort estimation using neurofuzzy model. Comput. Sci. Rev. 4, 193–199 (2015)
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)
Sharma, A., Ranjan, R.: Software effort estimation using neuro fuzzy inference system: past and present. arXiv Preprint. arXiv:1912.11855 (2019)
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)
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)
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)
De Carvalho, H.D.P., Fagundes, R., Santos, W.: Extreme learning machine applied to software development effort estimation. IEEE Access 9, 92676–92687 (2021)
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)
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)
de A. Cabral, J.T.H., Oliveira, A.L.: Ensemble effort estimation using dynamic selection. J. Syst. Softw. 175, 110904 (2021)
Benala, T.R., Mall, R.: DABE: differential evolution in analogy-based software development effort estimation. Swarm Evol. Comput. 38, 158–172 (2018)
Jang, J.-S.: ANFIS: adaptive-network-based fuzzy inference system. IEEE Trans. Syst. Man Cybern. 23(3), 665–685 (1993)
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)
Galorath, D.D., Evans, M.W.: Software Sizing, Estimation, and Risk Management: When Performance is Measured Performance Improves. CRC Press, Boca Raton (2006)
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)
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)
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)
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)
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)
Sharma, S., Vijayvargiya, S.: An optimized neuro-fuzzy network for software project effort estimation. IETE J. Res. 69, 6855–6866 (2022)
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)
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)
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)
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)
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)
Talatahari, S., Bayzidi, H., Saraee, M.: Social network search for global optimization. IEEE Access 9, 92815–92863 (2021)
Marler, R.T., Arora, J.S.: The weighted sum method for multi-objective optimization: new insights. Struct. Multidiscip. Optim. 41, 853–862 (2010)
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)
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
Myrtveit, I., Stensrud, E.: Validity and reliability of evaluation procedures in comparative studies of effort prediction models. Empir. Softw. Eng. 17, 23–33 (2012)
Shepperd, M., MacDonell, S.: Evaluating prediction systems in software project estimation. Inf. Softw. Technol. 54(8), 820–827 (2012)
Wilcoxon, F.: Individual comparisons by ranking methods. Biom. Bull. 1(6), 80–83 (1945)
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)
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)
Manchala, P., Bisi, M.: Diversity based imbalance learning approach for software fault prediction using machine learning models. Appl. Soft Comput. 124, 109069 (2022)
Jørgensen, M.: Regression models of software development effort estimation accuracy and bias. Empir. Softw. Eng. 9(4), 297–314 (2004)
Mittlböck, M.: Calculating adjusted r2 measures for Poisson regression models. Comput. Methods Progr. Biomed. 68(3), 205–214 (2002)
Funding
The authors have not disclosed any funding.
Author information
Authors and Affiliations
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
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.
About this article
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
Received:
Revised:
Accepted:
Published:
DOI: https://doi.org/10.1007/s10586-024-04418-2