Simplifying effort estimation based on Use Case Points

Context: The Use Case Points (UCP) method can be used to estimate software development effort based on a use-case model and two sets of adjustment factors relating to the environmental and technical complexity of a project. The question arises whether all of these components are important from the effort estimation point of view. Objective: This paper investigates the construction of UCP in order to find possible ways of simplifying it. Method: The cross-validation procedure was used to compare the accuracy of the different variants of UCP (with and without the investigated simplifications). The analysis was based on data derived from a set of 14 projects for which effort ranged from 277 to 3593 man-hours. In addition, the factor analysis was performed to investigate the possibility of reducing the number of adjustment factors. Results: The two variants of UCP - with and without unadjusted actor weights (UAW) provided similar prediction accuracy. In addition, a minor influence of the adjustment factors on the accuracy of UCP was observed. The results of the factor analysis indicated that the number of adjustment factors could be reduced from 21 to 6 (2 environmental factors and 4 technical complexity factors). Another observation was made that the variants of UCP calculated based on steps were slightly more accurate than the variants calculated based on transactions. Finally, a recently proposed use-case-based size metric TTPoints provided better accuracy than any of the investigated variants of UCP. Conclusion: The observation in this study was that the UCP method could be simplified by rejecting UAW; calculating UCP based on steps instead of transactions; or just counting the total number of steps in use cases. Moreover, two recently proposed use-case-based size metrics Transactions and TTPoints could be used as an alternative to UCP to estimate effort at the early stages of software development.

[1]  R. Conradi,et al.  Effort estimation of use cases for incremental large-scale software development , 2005, Proceedings. 27th International Conference on Software Engineering, 2005. ICSE 2005..

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

[3]  Miroslaw Ochodek,et al.  Automatic Transactions Identification in Use Cases , 2008, CEE-SET.

[4]  Sergey Diev Use cases modeling and software estimation: applying use case points , 2006, SOEN.

[5]  Alistair Cockburn,et al.  Writing Effective Use Cases , 2000 .

[6]  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).

[7]  Jacob Cohen Statistical Power Analysis , 1992 .

[8]  Daniel Wright,et al.  Modern Regression Techniques Using R: A Practical Guide for Students and Researchers , 2009 .

[9]  Silvia Regina Vergilio,et al.  Software Effort Estimation Based on Use Cases , 2006, 30th Annual International Computer Software and Applications Conference (COMPSAC'06).

[10]  Jae-On Kim,et al.  Factor Analysis: Statistical Methods and Practical Issues , 1978 .

[11]  Manfred Bundschuh,et al.  The IT measurement compendium - estimating and benchmarking success with functional size measurement , 2008 .

[12]  Aleš Žiberna,et al.  comparison of different approaches to hierarchical clustering of ordinal data , 2004, Advances in Methodology and Statistics.

[13]  Ivar Jacobson,et al.  Object-oriented software engineering - a use case driven approach , 1993, TOOLS.

[14]  Edgar Erdfelder,et al.  G*Power 3: A flexible statistical power analysis program for the social, behavioral, and biomedical sciences , 2007, Behavior research methods.

[15]  Magne Jørgensen,et al.  Reasons for software effort estimation error: impact of respondent role, information collection approach, and data analysis method , 2004, IEEE Transactions on Software Engineering.

[16]  D. Ross Jeffery,et al.  A comparative study of two software development cost modeling techniques using multi-organizational and company-specific data , 2000, Inf. Softw. Technol..

[17]  J. H. Ward Hierarchical Grouping to Optimize an Objective Function , 1963 .

[18]  Bruno D. Zumbo,et al.  A note on misconceptions concerning prospective and retrospective power , 1998 .

[19]  J. R. Landis,et al.  The measurement of observer agreement for categorical data. , 1977, Biometrics.

[20]  Colin J. Neill,et al.  Requirements Engineering: The State of the Practice , 2003, IEEE Softw..

[21]  Jerzy Nawrocki,et al.  Enhancing Use-Case-Based Effort Estimation with Transaction Types , 2010 .

[22]  Shari Lawrence Pfleeger,et al.  Software Metrics : A Rigorous and Practical Approach , 1998 .

[23]  Gabriela Robiolo,et al.  Transactions and paths: Two use case based metrics which improve the early effort estimation , 2009, 2009 3rd International Symposium on Empirical Software Engineering and Measurement.

[24]  Ivar Jacobson,et al.  Object-Oriented Software Engineering , 1991, TOOLS.

[25]  Charles R. Symons,et al.  Software sizing and estimating - Mk II FPA, function point analysis , 1991, Wiley series in software engineering practice.

[26]  Magne Jørgensen,et al.  Estimating Software Development Effort Based on Use Cases-Experiences from Industry , 2001, UML.

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

[28]  Stephan Frohnhoff,et al.  Revised Use Case Point Method-Effort Estimation in Development Projects for Business Applications , 2008 .

[29]  Ellis Horowitz,et al.  Software Cost Estimation with COCOMO II , 2000 .

[30]  Christopher J. Lokan An empirical analysis of function point adjustment factors , 2000, Inf. Softw. Technol..

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

[32]  Edward R. Carroll Estimating software based on use case points , 2005, OOPSLA '05.

[33]  Alistair Cockburn,et al.  Patterns for Effective Use Cases , 2002 .

[34]  Forrest Shull,et al.  Using the ISO/IEC 9126 product quality model to classify defects: A controlled experiment , 2012, EASE.

[35]  Jacob Cohen,et al.  Weighted kappa: Nominal scale agreement provision for scaled disagreement or partial credit. , 1968 .

[36]  Barbara A. Kitchenham The Problem with Function Points , 1997, IEEE Software.

[37]  Sergey Diev,et al.  Software estimation in the maintenance context , 2006, SOEN.

[38]  Ethem Alpaydin,et al.  Introduction to Machine Learning (Adaptive Computation and Machine Learning) , 2004 .

[39]  Ivar Jacobson,et al.  Object-oriented development in an industrial environment , 1987, OOPSLA '87.

[40]  Alain Abran,et al.  An evaluation of the design of use case points (UCP) , 2006 .

[41]  H. E. Dunsmore,et al.  Software engineering metrics and models , 1986 .

[42]  S. T. Buckland,et al.  An Introduction to the Bootstrap. , 1994 .

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

[44]  Geri Schneider,et al.  Applying Use Cases: A Practical Guide , 1998 .

[45]  Martin Arnold,et al.  Software size measurement and productivity rating in a large-scale software development department , 1998, Proceedings of the 20th International Conference on Software Engineering.

[46]  J. Miles,et al.  Applying regression & correlation : a guide for students and researchers , 2001 .

[47]  Kirsten Ribu,et al.  Estimating Object-Oriented Software Projects with Use Cases , 2001 .