IEEE Access (Jan 2024)
Using Machine Learning and Simplified Functional Measures to Estimate Software Development Effort
Abstract
Functional size measures are often used as the basis for estimating development effort, because they are available in the early stages of software development. Several simplified measurement methods have also been proposed, both to decrease the cost of measurement and to make functional size measurement applicable when functional user requirements are not yet known in full detail. Lately, machine learning techniques have been successfully used for software development effort estimation, but the usage of machine learning techniques in combination with simplified functional size measures has not yet been empirically evaluated. This paper aims to fill this gap: it reports to what extent functional size measures can be simplified, without decreasing the accuracy of effort estimates obtained via machine learning techniques. The reported evaluation addresses separately the effort models concerning (i) new software developed from scratch, (ii) software extensions obtained by adding new functionality, and (iii) software modifications that required also changing and possibly removing functionalities. We carried out an empirical study, in which effort estimation models were built via multiple Machine Learning techniques, using both traditional full-fledged functional size measures and simplified measures. Our study shows that using simplified functional size measures in place of traditional functional size measures for effort estimation does not yield practically relevant differences in accuracy. Therefore, software project managers can consider analyzing only a small and specific part of functional user requirements to get measures that effectively support effort estimation.
Keywords