Abstract

Software development effort estimation is a critical activity of the project management process. In this study, machine learning algorithms were investigated in conjunction with feature transformation, feature selection, and parameter tuning techniques to estimate the development effort accurately and a new model was proposed as part of an expert system. We preferred the most general-purpose algorithms, applied parameter optimization technique (Grid- Search), feature transformation techniques (binning and one-hot-encoding), and feature selection algorithm (principal component analysis). All the models were trained on the ISBSG datasets and implemented by using the scikit-learn package in the Python language. The proposed model uses a multilayer perceptron as its underlying algorithm, applies binning of the features to transform continuous features and one-hot-encoding technique to transform categorical data into numerical values as feature transformation techniques, does feature selection based on the principal component analysis method, and performs parameter tuning based on the GridSearch algorithm. We demonstrate that our effort prediction model mostly outperforms the other existing models in terms of prediction accuracy based on the mean absolute residual parameter.

Highlights

  • The effort required for the development of a software project can change with many factors in the development

  • We aimed to develop a novel machine learning-based software effort estimation model by using feature transformation and feature selection techniques and parameter tuning techniques on datasets created based on real software development projects

  • RQ3: Can we build better machine learning-based models in terms of prediction accuracy by applying feature transformation, feature selection, and parameter tuning techniques? We demonstrated that better machine learning-based effort estimation models can be built with the help of feature engineering and parameter optimization techniques

Read more

Summary

Introduction

The effort required for the development of a software project can change with many factors in the development. The total project effort and the associated cost needed for the development should be estimated accurately before the software project is carried out. This is one of the most important main tasks of the software project manager. If the effort required for the project development is predicted incorrectly, the cost of the software development process might be underestimated or overestimated, both having negative effects by causing the company to lose profit or visibility. Software development effort estimation (SDEE) is a crucial step in the early stages of the software development life cycle to avoid unexpected situations that might arise

Objectives
Methods
Results
Conclusion
Full Text
Published version (Free)

Talk to us

Join us for a 30 min session where you can share your feedback and ask us any queries you have

Schedule a call