Estimating function points: Using machine learning and regression models
Geeta Sikka, Arvinder Kaur, Moin Uddin · 2010
Function Point Analysis (FPA) is one of the most reliable methods for measuring the size of computer software. It is extensively being used as Industry standard for sizing. It is also tremendously useful in estimating projects, managing change in requirements, measuring efficiency and communicating functional requirements. International Standard bodies like International Function Point User Group (IFPUG) has been maintaining a repository of data based projects with measures like data functions, transactional functions, function size, work effort, delivery date, project duration, max team size, development technique and platform etc. This paper presents the results of analysis that were performed on IFPUG data using a Statistical Package. Modelling techniques like Multivariate Adaptive Regression Splines (MAR Splines), Support Vector Machine (SVM), Automated Neural Network (ANN), k-Nearest Neighborhood (kNN) were used to estimate the function points from the IFPUG data set repository The training and validation data was randomly selected from the data repository. The performance of the various models was analyzed by comparing the observed and predicted function points. The comparison of results on the validation data set of 100 projects indicate that MAR Splines gives the best predicted values for function points as it has the lowest Mean Relative Error (MRE) and highest correlation coefficient. SVM and ANN also gave good results as compared to kNN. MAR Splines is thus a competitive predictive model for estimating function points. Thus, these machine learning and regression models can be used as approximation tool for function point metric.