Human-Oriented Improvement in the Software Process

By doing any task repeatedly, individuals can usually improve continuously due to the experience gained (called autonomous first-order learning). In addition, they can improve due to the injection of software development technology by the organization (called second-order learning). Organizations have studied such learning curves to make decisions regarding cost estimation and budgeting, production and labor scheduling, product pricing, etc. Such progress behavior was studied in a laboratory setting in an experiment involving a sample of 12 student software developers, who completed one small-sized project every week for ten weeks. A within-subject, repeated-measure, time-series quasi-experimental design was used as the research method. This also included the Goal/Question/Metric (GQM) paradigm with some additional validation techniques from Social Sciences/MIS/Software Engineering. Statistical tests showed that on average, progress takes place at a rate of about 20%, with technology injection (i.e., second-order learning) amounting to 13% improvement over autonomous learning alone. Such a distinction is useful for making personal decisions in software development and managerial decisions regarding training programs and making engineering technology changes. The study was replicated, twice, with samples of size 30 and 12. The average progress rate for the 54 subjects (in the three studies) was 18.51%.

[1]  Detmar W. Straub,et al.  Validating Instruments in MIS Research , 1989, MIS Q..

[2]  Glen W. Russell,et al.  Experience with inspection in ultralarge-scale development , 1991, IEEE Software.

[3]  G. David Ripley,et al.  A Statistical Analysis of Syntax Errors , 1978, Comput. Lang..

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

[5]  Victor R. Basili,et al.  Quantitative Evaluation of Software Methodology , 1985 .

[6]  Robert L. Glass,et al.  Science and substance: a challenge to software engineers , 1994, IEEE Software.

[7]  John J. Marciniak,et al.  Encyclopedia of Software Engineering , 1994, Encyclopedia of Software Engineering.

[8]  Victor R. Basili,et al.  Comparing the Effectiveness of Software Testing Strategies , 1987, IEEE Transactions on Software Engineering.

[9]  L. Argote,et al.  The persistence and transfer of learning in industrial settings , 1990 .

[10]  Martin Shepperd,et al.  An evaluation of software product metrics , 1988 .

[11]  Robert B. Grady,et al.  Software Metrics: Establishing a Company-Wide Program , 1987 .

[12]  Werner Z. Hirsch,et al.  Manufacturing Progress Functions , 1952 .

[13]  K. El Emam,et al.  Implementing concepts from the Personal Software Process in an industrial setting , 1996, Proceedings of Software Process 1996.

[14]  L. Rapping Learning and World War II Production Functions , 1965 .

[15]  Bill Curtis,et al.  Productivity factors and programming environments , 1984, ICSE '84.

[16]  A. R. Ilersic,et al.  Research methods in social relations , 1961 .

[17]  E. GaffneyJ.,et al.  Software Function, Source Lines of Code, and Development Effort Prediction , 1983 .

[18]  Khalid Sherdil,et al.  Personal 'progress functions' in the software process , 1994, Proceedings. Ninth International Software Process Workshop.

[19]  Chris F. Kemerer,et al.  Improving the Reliability of Function Point Measurement: An Empirical Study , 1992, IEEE Trans. Software Eng..

[20]  Watts S. Humphrey,et al.  A discipline for software engineering , 2012, Series in software engineering.

[21]  J. E. Butler,et al.  The History of Progress Functions as a Managerial Technology , 1984, Business History Review.

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

[23]  Michael E. Fagan Advances in software inspections , 1986, IEEE Transactions on Software Engineering.

[24]  Howard B. Lee,et al.  Foundations of Behavioral Research , 1973 .

[25]  D. Kleinbaum,et al.  Applied Regression Analysis and Other Multivariate Methods , 1978 .

[26]  Chris F. Kemerer,et al.  Now the learning curve affects CASE tool adoption , 1992, IEEE Software.

[27]  Victor R. Basili,et al.  A Methodology for Collecting Valid Software Engineering Data , 1984, IEEE Transactions on Software Engineering.

[28]  Ralph L. Rosnow,et al.  Essentials of Behavioral Research: Methods and Data Analysis , 1984 .

[29]  Louis E. Yelle THE LEARNING CURVE: HISTORICAL REVIEW AND COMPREHENSIVE SURVEY , 1979 .

[30]  R E Miles,et al.  Organizational strategy, structure, and process. , 1978, Academy of management review. Academy of Management.

[31]  Kim B. Clark,et al.  Behind the learning curve: a sketch of the learning process , 1991 .

[32]  F. Lévy Adaptation in the Production Process , 1965 .