Evaluating the impact of process improvements quantitatively using process modeling

The concept of continuous process improvement, although familiar in the manufacturing arena, is just starting to be implemented in the software industry. Currently, software development organizations have identified potential process improvements and are working to implement results from ISO 9000 audits and Capability Maturity Model (CMM) Software Process Assessments. Quantitative methods are needed to prioritize process changes and to justify resources for proposed improvements based on overall process performance. However, these methods have not yet been developed.This work uses software process modeling to predict the impact of potential process changes on quantitative performance measures before a substantial commitment of time and resources is made. The work addresses the performance measures of development cost, source code quality, and project schedule. This analysis can be used to prioritize process improvements based on their potential performance impact and to obtain management support for the proposed change.The proposed modeling approach is applied to a realistic example process and potential process change with assumed task durations and outcomes. This example process and potential process change are analyzed using a stochastic simulation approach which was developed by Marc Kellner et al. at SEI using the STATEMATE modeling tool.

[1]  Myron Lipow,et al.  Software reliability : a study of large project reality , 1978 .

[2]  Volker Gruhn,et al.  Software process simulation on arbitrary levels of abstraction , 1992 .

[3]  Leon J. Osterweil,et al.  ISPW-6 Software Process Example , 1991, Proceedings. First International Conference on the Software Process,.

[4]  Walt Scacchi,et al.  Modeling Articulation Work in Software Engineering Processes , 1991, Proceedings. First International Conference on the Software Process,.

[5]  Lawrence H. Putnam,et al.  Tutorial, software cost estimating and life-cycle control : getting the software numbers , 1980 .

[6]  Walt Scacchi,et al.  A Knowledge-Based Environment for Modeling and Simulating Software Engineering Processes , 1990, IEEE Trans. Knowl. Data Eng..

[7]  Meir M. Lehman,et al.  Software engineering, the software process and their support , 1991, Softw. Eng. J..

[8]  Bill Curtis,et al.  Process modeling , 1992, CACM.

[9]  Bill Curtis,et al.  A field study of the software design process for large systems , 1988, CACM.

[10]  Stuart E. Madnick,et al.  Software Project Dynamics: An Integrated Approach , 1991 .

[11]  Trevor D. Crossman Some experiences in the use of inspection teams , 1977, SIGCPR '77.

[12]  Gregory A. Hansen,et al.  Software Process Modeling , 1988 .

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

[14]  Barry W. Boehm An Experiment in Small-Scale Application Software Engineering , 1981, IEEE Transactions on Software Engineering.

[15]  Marc I. Kellner,et al.  Practical Technology for Process Assets , 1993, ISPW.

[16]  Mark C. Paulk,et al.  Capability Maturity Model for Software, Version 1.1 , 1993 .

[17]  W. Deiters,et al.  Software process model analysis based on FUNSOFT nets , 1991 .

[18]  Elwood Spencer Buffa,et al.  Modern production/ operations management , 1961 .

[19]  Keith H. Bennett,et al.  Developing a model to manage the software maintenance process , 1992, Proceedings Conference on Software Maintenance 1992.

[20]  Suzanne Garcia,et al.  Key Practices of the Capability Maturity Model, Version 1.1 , 1993 .

[21]  Glenford J. Myers,et al.  A controlled experiment in program testing and code walkthroughs/inspections , 1978, CACM.

[22]  Watts S. Humphrey,et al.  Managing the software process , 1989, The SEI series in software engineering.

[23]  Carl-Axel S. Staël von Holstein,et al.  Exceptional Paper---Probability Encoding in Decision Analysis , 1975 .

[24]  Wilhelm Schäfer,et al.  Prism-Methodology and Process-Oriented Environment , 1991, IEEE Trans. Software Eng..

[25]  Marc I. Kellner,et al.  Position Paper: Software Process Modeling at SEI , 1988 .

[26]  Thomas E. Morton,et al.  Heuristic scheduling systems : with applications to production systems and project management , 1993 .

[27]  J. D. Wiest,et al.  Management Guide to PERT/CPM , 1969 .

[28]  M. I. Kellner,et al.  Software process modeling: a case study , 1989, [1989] Proceedings of the Twenty-Second Annual Hawaii International Conference on System Sciences. Volume II: Software Track.

[29]  Michael Fagan Design and Code Inspections to Reduce Errors in Program Development , 1976, IBM Syst. J..

[30]  Watts S. Humphrey,et al.  Software process modeling: principles of entity process models , 1989, ICSE '89.

[31]  Averill M. Law,et al.  Simulation Modeling and Analysis , 1982 .

[32]  R. Keeney Decision analysis: an overview. , 1982, Operations research.

[33]  Ralph L. Keeney,et al.  Feature Article - Decision Analysis: An Overview , 1982, Oper. Res..

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

[35]  M. L. Kellner,et al.  Software Process Modeling Support for Management Planning and Control , 1991, Proceedings. First International Conference on the Software Process,.

[36]  Marc I. Kellner,et al.  Software Process Modeling Example , 1989, [1989] Proceedings of the 5th International Software Process Workshop.

[37]  Barry W. Boehm,et al.  Understanding and Controlling Software Costs , 1988, IEEE Trans. Software Eng..