A Method to Measure Productivity Trends during Software Evolution

Better measures of productivity are needed to support software process improvements. We propose and evaluate indicators of productivity trends that are based on the premise that productivity is closely related to the effort required to complete change tasks. Three indicators use change management data, while a fourth compares effort estimates of benchmarking tasks. We evaluated the indicators using data from 18 months of evolution in two commercial software projects. The productivity trend in the two projects had opposite directions according to the indicators. The evaluation showed that productivity trends can be quantified with little measurement overhead. We expect the methodology to be a step towards making quantitative self-assessment practices feasible even in low ceremony projects.

[1]  Alain Abran,et al.  Measuring the Size of Small Functional Enhancements to Software , 1997 .

[2]  Alain Abran,et al.  Measurement of the maintenance process from a demand-based perspective , 1993, J. Softw. Maintenance Res. Pract..

[3]  Tom DeMarco An algorithm for sizing software products , 1984, PERV.

[4]  Audris Mockus,et al.  Inferring change effort from configuration management databases , 1998, Proceedings Fifth International Software Metrics Symposium. Metrics (Cat. No.98TB100262).

[5]  H. Dieter Rombach,et al.  Toward full life cycle control: Adding maintenance measurement to the SEL , 1992, J. Syst. Softw..

[6]  J F Ramil,et al.  Cost Estimation and Evolvability Monitoring for Software Evolution Processes , 2000 .

[7]  Audris Mockus,et al.  Does Code Decay? Assessing the Evidence from Change Management Data , 2001, IEEE Trans. Software Eng..

[8]  Alain Abran,et al.  A sizing measure for adaptive maintenance work products , 1995, Proceedings of International Conference on Software Maintenance.

[9]  Bente Anda,et al.  Understanding cost drivers of software evolution: a quantitative and qualitative investigation of change effort in two evolving software systems , 2010, Empirical Software Engineering.

[10]  Ken Schwaber,et al.  SCRUM Development Process , 1997 .

[11]  Dag I. K. Sjøberg,et al.  Towards a framework for empirical assessment of changeability decay , 2000, J. Syst. Softw..

[12]  George E. Stark,et al.  Measurements for managing software maintenance , 1996, 1996 Proceedings of International Conference on Software Maintenance.

[13]  Emilia Mendes,et al.  Software productivity measurement using multiple size measures , 2004, IEEE Transactions on Software Engineering.

[14]  Tom Mens,et al.  A survey of software refactoring , 2004, IEEE Transactions on Software Engineering.

[15]  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.

[16]  Magne Jørgensen,et al.  Inconsistency of expert judgment-based estimates of software development effort , 2007, J. Syst. Softw..

[17]  Meir M. Lehman,et al.  Defining and applying metrics in the context of continuing software evolution , 2001, Proceedings Seventh International Software Metrics Symposium.

[18]  Forrest Shull,et al.  Are Two Heads Better than One? On the Effectiveness of Pair Programming , 2007, IEEE Software.