Predicting and Explaining Variations in Software Effort Estimation Using Adaptive Fuzzy-Neural Networks with Clustering
摘要
Software effort estimation is a significant and critical step in software development; an accurate estimate is vital to a software project’s planning, scheduling, budgeting, and successful completion. This paper investigates the effect on prediction accuracy of introducing an initial clustering phase before applying an Adaptive Neuro-Fuzzy Inference System to estimate software efforts. Also, we explore the most significant determinants of variations in software efforts. The China dataset shows that dividing projects into groups using a clustering algorithm has reduced the root mean square error by 34%. Also, neural network sensitivity analysis has revealed that the resources required to complete the project are the most influential factor determining variations in software efforts for small-sized projects, followed by the product delivery rate. However, for medium and large-sized projects, the effect of resources is more significant than the delivery rate. Project duration comes third in importance for medium and large-sized projects; however, the number of function points is more important than project duration for small projects. Other metrics have little influence on software effort variations, with the number of deleted functional requirements having the slightest effect. These findings can significantly affect the accuracy of software effort estimation through proper analysis and computation of the factors that influence software efforts most. Future work will investigate model performance using different attributes, such as project type, for clustering large heterogeneous datasets.