Estimation of total Effort and Effort Elapsed in Each Step of Software Development Using Optimal Bayesian Belief Network

Document Type: Research Paper

Authors

1 Ph.D. Candidate Industrial Engineering, Yazd University, Yazd, Iran

2 Associate Prof., Dep. of Industrial Engineering, Yazd University, Yazd, Iran

3 Assistant Prof., Dep. of Computer Engineering, Yazd University, Yazd, Iran

Abstract

Accuracy in estimating the needed effort for software development caused software effort estimation to be a challenging issue. Beside estimation of total effort, determining the effort elapsed in each software development step is very important because any mistakes in enterprise resource planning can lead to project failure. In this paper, a Bayesian belief network was proposed based on effective components and software development process. In this model, the feedback loops are considered between development steps provided that the return rates are different for each project. Different return rates help us determine the percentages of the elapsed effort in each software development step, distinctively. Moreover, the error measurement resulted from optimized effort estimation and the optimal coefficients to modify the model are sought. The results of the comparison between the proposed model and other models showed that the model has the capability to highly accurately estimate the total effort (with the marginal error of about 0.114) and to estimate the effort elapsed in each software development step.

Keywords

Main Subjects


خادمی زارع، ح.، زارع باقی­آباد، ف. (1390). یک الگوریتم ترکیبی برای تخمین زمان و هزینۀ پروژه­های تولید نرم‎افزار در شرایط فازی، هفتمین کنفرانس بین­المللی مدیریت پروژه، تهران، ایران
خانلری، ا.، کفائی، ا. (1393). بررسی تأثیر ابعاد ساختاری بر موفقیت سیستم برنامه­ریزی منابع سازمانی در شرکت‎های ایرانی دارندة این سیستم، نشریۀ مدیریت فناوری اطلاعات، 6 (1)، 70-47.
رئیسی وانانی، ا، گنجعلی­خان حاکمی، ف. (1394). طراحی سیستم استنتاج فازی ـ عصبی انطباقی برای ارزیابی استقرار سیستم هوشمندی کسب‎وکار در صنعت تولید نرم­افزار، نشریۀ مدیریت فناوری اطلاعات، 7(1)، 104-85.
گمنام سفیدداربنی، م.، ناصرزاده، م. ر.، روحانی، س.، قاهردوست، ع. ر. (1393). بررسی آثار متقابل عوامل بحرانی شکست پروژه­های پیاده­سازی ERP در صنایع ایران. نشریۀ مدیریت فناوری اطلاعات، 6(4)، 674- 649.
Akhtar, N. (2013). Perceptual Evolution for Software Project Cost Estimation using Ant Colony System. International Journal of Computer Applications, 81 (14), 23-30.
Bibi, S. & Stamelos, I. (2004, September). Software Process Modeling with Bayesian Belief Networks. Proceedings of the 10th International Software Metrics Symposium, Chicago, USA.
Fernández-Diego M. & Torralba-Martínez, J.M. (2012, September). Discretization Methods for NBC in Effort Estimation: An Empirical Comparison based on ISBSG Projects. Proceedings of the ACM-IEEE International Symposium on Empirical Software Engineering and Measurement (ESEM), ACM, Lund, 103-106.
Fuentetaja, R., Borrajo, D., López C. L. & Ocón, J. (2013). Multi-step Generation of Bayesian Networks Models for Software Projects Estimations. International Journal of Computational Intelligence Systems, 6 (5), 796-821.
Gomnam Sefiddarboni, M., Naserzadeh, S.M.R., Rouhani, S. & Ghaherdoost, A.R. (2015). Investigating mutual effects of critical failure factors of ERP implementation in Iranian industries with Grey-based DEMATEL method. Journal of Information Technology Management, 6(4), 649-674. (in Persian)
Hotle, M. (2008). Waterfalls, Products and Projects: A Primer to Software Development Methods. Available in: https://www.gartner.com/doc/611708/ waterfalls-products-projects-primer-software.
Idri, A., Amazal, F. A. & Abran, A. (2015). Analogy-based software development effort estimation: A systematic mapping and review. Information and Software Technology, 58, 206-230.
Khan, J., Shaikh, Z. A. & Nauman, A. B. (2011). Development of intelligent effort estimation model based on fuzzy logic using Bayesian networks. Software Engineering, Business Continuity, and Education, 257, 74-84.
Khanlari, A. & Kafaee, O. (2014). Investigating the impact of Organizational Structure on ERP post-implementation success, a study on Iranian Firms. Journal of Information Technology Management, 6(1), 47-70. (in Persian)
Lopez-Martin, C. (2015). Predictive accuracy comparison between neural networks and statistical regression for development effort of software projects. Applied Soft Computing, 27, 434-449.
Mehrabian A. R. & Lucas, C. (2006). A novel numerical optimization algorithm inspired from weed colonization. Ecological informatics, 1(4), 355-366.
Pendharkar, P. C., Subramanian G. H. & Rodger, J. A. (2005). A Probabilistic Model for Predicting Software Development Effort. IEEE Transactions on software engineering, 31 (7), 615-624.
Perkusich, M., Soares, G., Almeida H. & Perkusich, A. (2015). A procedure to detect problems of processes in software development projects using Bayesian networks. Expert Systems with Applications, 42 (1), 437-450.
Raeesi Vanani, I. & Ganjalikhan Hakemi, F. (2015). Designing an Adaptive Nuero-Fuzzy Inference System for Evaluating the Business Intelligence System Implementation in Software Industry. Journal of Information Technology Management, 7(1), 85-104. (in Persian)
Stamelos, I., Angelis, L., Dimou P. & Sakellaris, E. (2003). On the use of Bayesian belief networks for the prediction of software productivity. Information and Software Technology, 45 (1), 51–60.
Uusitalo, L. (2007). Advantages and challenges of Bayesian networks in environmental modelling. Ecological modelling, 203 (3/4), 312–318.
Zare, F., Zare H. K. & Fallahnezhad, M. S. (2016). Software effort estimation based on the optimal Bayesian belief network. Applied Soft Computing, 49, 968-980.
Zarebaghiabad, F. & Khademizare, H. (2012). Proceedings of the 7th International Project Management Conference, Tehran, Iran. (in Persian)
Zarebaghiabad, F. & Khademizare, H. (2015). A Three- Stage Algorithm for Software Cost and Time Estimation in Fuzzy Environment. International Journal of Industrial Engineering & Production Research, 26, (3), 193-211.