Continuous software process improvement through statistical process control

Measurement based software process improvement is nowadays a mandatory activity. This implies continuous process monitoring in order to predict its behaviour, highlight its performance variations and, if necessary, quickly react to it. Process variations are due to common causes or assignable ones. The former are part of the process itself while the latter are due to exceptional events that result in an unstable process behaviour and thus in less predictability. Statistical process control (SPC) is a statistical based approach able to determine whether a process is stable or not by discriminating between the presence of common cause variation and assignable cause variation. It is a well-established technique, which has shown to be effective in manufacturing processes but not yet in software process contexts. Experience in using SPC is not mature yet. Therefore a clear understanding of the SPC outcomes still lacks. Although many authors have used it in software, they have often not considered the primary differences between manufacturing and software process characteristics. Due to such differences SPC cannot be adopted "as is" but it must be tailored. In this sense, the author proposes an SPC-based approach that reinterprets SPC, and applies it from a software process point of view.

[1]  Donald J. Wheeler,et al.  Understanding Statistical Process Control , 1986 .

[2]  Ioana Rus,et al.  Process diversity , 2003, J. Softw. Maintenance Res. Pract..

[3]  Edward F. Weller Practical Applications of Statistical Process Control , 2000, IEEE Softw..

[4]  Douglas C. Montgomery,et al.  Using statistical control charts for software quality control , 1987 .

[5]  Larry E. Shirland Statistical Quality Control with Microcomputer Applications , 1993 .

[6]  William A. Florac,et al.  Statistical Process Control: Analyzing a Space Shuttle Onboard Software Process , 2000, IEEE Softw..

[7]  Ed Weller Applying Quantitative Methods to Software Maintenance , 2000 .

[8]  Giuseppe Visaggio,et al.  Analyzing empirical data from a reverse engineering project , 1995, Proceedings of 2nd Working Conference on Reverse Engineering.

[9]  Marvin V. Zelkowitz,et al.  Experimental Models for Validating Technology , 1998, Computer.

[10]  H. D. Rombach,et al.  THE EXPERIENCE FACTORY , 1999 .

[11]  S. K. Pillai,et al.  Statistical Process Control to Improve Coding and Code Review , 2003, IEEE Softw..

[12]  Pankaj Jalote,et al.  CMM in Practice: Processes for Executing Software Projects at Infosys , 1999 .

[13]  William A. Florac,et al.  Measuring the Software Process: Statistical Process Control for Software Process Improvement , 1999 .

[14]  A. R. Crathorne,et al.  Economic Control of Quality of Manufactured Product. , 1933 .

[15]  D. N. Card,et al.  An industrial engineering approach to software development , 1989, J. Syst. Softw..

[16]  Giuseppe Visaggio,et al.  Analyzing the application of a reverse engineering process to a real situation , 1994, Proceedings 1994 IEEE 3rd Workshop on Program Comprehension- WPC '94.

[17]  Mitre Corp CMM Level 4 Quantitative Analysis and Defect Prevention Al Florence , 2001 .

[18]  Udo W. Pooch,et al.  Translation of Decision Tables , 1974, ACM Comput. Surv..

[19]  Lloyd S. Nelson,et al.  Column: Technical Aids: The Shewhart Control Chart--Tests for Special Causes , 1984 .

[20]  Robert L. Glass,et al.  Measuring software design quality , 1990 .

[21]  Lloyd S. Nelson,et al.  Interpreting Shewhart X̄ Control Charts , 1985 .

[22]  Eugene L. Grant,et al.  Statistical Quality Control , 1946 .

[23]  Maria Teresa Baldassarre,et al.  Managing Software Process Improvement (SPI) through Statistical Process Control (SPC) , 2004, PROFES.

[24]  Mark C. Paulk APPLYING SPC TO THE PERSONAL SOFTWARE PROCESS , 2000 .

[25]  Pedro Manuel Moreira Vaz Antunes de Sousa,et al.  Proceedings of the Fifth European Conference on Software Maintenance and Reengineering , 2000 .

[26]  W. A. Shewhart,et al.  Statistical method from the viewpoint of quality control , 1939 .

[27]  Pankaj Jalote,et al.  Optimum Control Limits for Employing Statistical Process Control in Software Process , 2002, IEEE Trans. Software Eng..