Towards a simplified definition of Function Points

Background: The measurement of Function Points is based on Base Functional Components. The process of identifying and weighting Base Functional Components is hardly automatable, due to the informality of both the Function Point method and the requirements documents being measured. So, Function Point measurement generally requires a lengthy and costly process. Objectives: We investigate whether it is possible to take into account only subsets of Base Functional Components so as to obtain functional size measures that simplify Function Points with the same effort estimation accuracy as the original Function Points measure. Simplifying the definition of Function Points would imply a reduction of measurement costs and may help spread the adoption of this type of measurement practices. Specifically, we empirically investigate the following issues: whether available data provide evidence that simplified software functionality measures can be defined in a way that is consistent with Function Point Analysis; whether simplified functional size measures by themselves can be used without any appreciable loss in software development effort prediction accuracy; whether simplified functional size measures can be used as software development effort predictors in models that also use other software requirements measures. Method: We analyze the relationships between Function Points and their Base Functional Components. We also analyze the relationships between Base Functional Components and development effort. Finally, we built effort prediction models that contain both the simplified functional measures and additional requirements measures. Results: Significant statistical models correlate Function Points with Base Functional Components. Basic Functional Components can be used to build models of effort that are equivalent, in terms of accuracy, to those based on Function Points. Finally, simplified Function Points measures can be used as software development effort predictors in models that also use other requirements measures. Conclusion: The definition and measurement processes of Function Points can be dramatically simplified by taking into account a subset of the Base Functional Components used in the original definition of the measure, thus allowing for substantial savings in measurement effort, without sacrificing the accuracy of software development effort estimates.

[1]  R. Meli,et al.  Q : An Early & Quick Approach to Functional Size Measurement Methods , 2004 .

[2]  Çigdem Gencel,et al.  Do Base Functional Component Types Affect the Relationship between Software Functional Size and Effort? , 2007, IWSM/Mensura.

[3]  John E. Gaffney,et al.  Software Function, Source Lines of Code, and Development Effort Prediction: A Software Science Validation , 1983, IEEE Transactions on Software Engineering.

[4]  Gabriela Robiolo,et al.  Employing use cases to early estimate effort with simpler metrics , 2007, Innovations in Systems and Software Engineering.

[5]  Alain Abran,et al.  Estimation models based on functional profiles , 2004 .

[6]  Ross Jeffery,et al.  Function point sizing: Structure, validity and applicability , 2004, Empirical Software Engineering.

[7]  Cigdem Gencel,et al.  Do Different Functionality Types Affect the Relationship between Software Functional Size and Effort , 2007 .

[8]  B. Kitchenham,et al.  Inter-item correlations among function points , 1993, Proceedings of 1993 15th International Conference on Software Engineering.

[9]  Luigi Lavazza,et al.  The role of the measure of functional complexity in effort estimation , 2010, PROMISE '10.

[10]  Stephen G. MacDonell,et al.  What accuracy statistics really measure , 2001, IEE Proc. Softw..

[11]  Sandro Morasca,et al.  On the use of weighted sums in the definition of measures , 2010, WETSoM '10.

[12]  Chris F. Kemerer,et al.  Reliability of function points measurement: a field experiment , 2015, CACM.

[13]  Stephen G. MacDonell,et al.  Assessing prediction systems , 1999 .

[14]  Jean-Marc Desharnais,et al.  A comparison of software effort estimation techniques: Using function points with neural networks, case-based reasoning and regression models , 1997, J. Syst. Softw..

[15]  Luciano Baresi,et al.  Three empirical studies on estimating the design effort of Web applications , 2007, TSEM.

[16]  Luigi Buglione,et al.  Estimation Tools and Techniques , 2011, IEEE Software.

[17]  S. Weisberg,et al.  Residuals and Influence in Regression , 1982 .

[18]  Emilia Mendes,et al.  Why comparative effort prediction studies may be invalid , 2009, PROMISE '09.

[19]  C. R. Symons The Performance of Real-Time, Business Application and Components Software Projects : an Analysis of COSMIC-Measured Projects in the ISBSG Database , 2011 .

[20]  Juan Jose Cuadrado-Gallego,et al.  Horizontal dispersion of software functional size with IFPUG and COSMIC units , 2010, Adv. Eng. Softw..

[21]  Çigdem Gencel,et al.  Impact of Base Functional Component Types on Software Functional Size Based Effort Estimation , 2008, PROFES.

[22]  Shari Lawrence Pfleeger,et al.  An empirical study of maintenance and development estimation accuracy , 2002, J. Syst. Softw..

[23]  D. Ross Jeffery,et al.  Using public domain metrics to estimate software development effort , 2001, Proceedings Seventh International Software Metrics Symposium.

[24]  Marjan Hericko,et al.  Automated software size estimation based on function points using UML models , 2005, Inf. Softw. Technol..

[25]  Emilia Mendes,et al.  A replicated comparison of cross-company and within-company effort estimation models using the ISBSG database , 2005, 11th IEEE International Software Metrics Symposium (METRICS'05).

[26]  Parag C. Pendharkar,et al.  The relationship between software development team size and software development cost , 2009, CACM.

[27]  Charles R. Symons,et al.  Function Point Analysis: Difficulties and Improvements , 1988, IEEE Trans. Software Eng..

[28]  Peter J. Rousseeuw,et al.  Robust Regression and Outlier Detection , 2005, Wiley Series in Probability and Statistics.

[29]  David J. Sheskin,et al.  Handbook of Parametric and Nonparametric Statistical Procedures , 1997 .

[30]  Sandro Morasca,et al.  Building statistically significant robust regression models in empirical software engineering , 2009, PROMISE '09.

[31]  Ingunn Myrtveit,et al.  Human performance estimating with analogy and regression models: an empirical validation , 1998, Proceedings Fifth International Software Metrics Symposium. Metrics (Cat. No.98TB100262).

[32]  Luigi Lavazza,et al.  Introducing the evaluation of complexity in functional size measurement: a UML-based approach , 2010, ESEM '10.

[33]  Filomena Ferrucci,et al.  Which COSMIC Base Functional Components are Significant in Estimating Web Application Development? - A Case Study , 2010 .

[34]  Marjan Hericko,et al.  The size and effort estimates in iterative development , 2008, Inf. Softw. Technol..

[35]  Christopher J. Lokan An empirical study of the correlations between function point elements [software metrics] , 1999, Proceedings Sixth International Software Metrics Symposium (Cat. No.PR00403).

[36]  Alain Abran,et al.  Function Points Analysis: An Empirical Study of Its Measurement Processes , 1996, IEEE Trans. Software Eng..

[37]  Alain Abran,et al.  Survey of automation tools supporting COSMIC FFP-ISO 19761 , 2011 .

[38]  D. Ross Jeffery,et al.  A Comparison of Function Point Counting Techniques , 1993, IEEE Trans. Software Eng..

[39]  Stephen G. MacDonell Establishing relationships between specification size and software process effort in CASE environments , 1997, Inf. Softw. Technol..

[40]  Barry W. Boehm,et al.  Software Engineering Economics , 1993, IEEE Transactions on Software Engineering.

[41]  Onur Demirörs,et al.  Functional size measurement revisited , 2008, TSEM.