Towards a Rigorous Approach for Managing Process Evolution

Most software development projects are delivering late and over budget due to the fact that they are performing in an evolutionary and dynamic world. It has also recognized that unforeseen evolution is hard and costly but necessary to manage. This paper therefore describes the evolutionary nature of software systems and associated processes. In addition, we propose a framework for categorizing process evolution focusing on typical aspects such as origin, cause and type of process evolution, as well as how, when and by whom the change is performed. Evolution being classified by the framework is called evolution pattern. A set of typical project and product properties are identified to have major influence on evolution profile. An evolution pattern is recorded with detailed information on project context in which it occurs, product profile it develops and impacts on progress it implies. An approach is then presented guiding how to learn and reuse evolution experiences from previous and in future similar projects respectively. Together, they constitute a quantitative foundation for improving project estimates and process planning which is inspired by Quality Improvement Paradigm (QIP) and its Experience Factory [BCR94]. We are also conducting a case study at a banking software house to validate our hypotheses on improving estimates accuracy, productivity and product quality by application of the framework and approach. Realistic data on evolution, project and product profile are collected and systematically recorded for future usage in a local experience database.

[1]  Maurice H. Halstead,et al.  An experiment comparing Fortran programming times with the software physics hypothesis , 1899, AFIPS '76.

[2]  Nazim H. Madhavji Environment Evolution: The Prism Model of Changes , 1992, IEEE Trans. Software Eng..

[3]  Reidar Conradi,et al.  Automatic Replanning of Task Networks for Process Model Evolution in EPOS , 1993, ESEC.

[4]  Reidar Conradi,et al.  SPELL: A Logic Programming Language for Process Modelling , 1994, ICLP Workshop: Applications of Logic Programming to Software Engineering.

[5]  Bashar Nuseibeh,et al.  Software process modelling and technology , 1994 .

[6]  Victor R. Basili,et al.  Support for comprehensive reuse , 1991, Softw. Eng. J..

[7]  Ian Sommerville,et al.  Software Engineering — ESEC '93 , 1993, Lecture Notes in Computer Science.

[8]  Enrique Ivan Oviedo Control flow, data flow and program complexity , 1984 .

[9]  Reidar Conradi,et al.  Planning Support for Cooperating Transactions in EPOS , 1994, CAiSE.

[10]  Nazim H. Madhavji,et al.  The process cycle [software engineering] , 1991, Softw. Eng. J..

[11]  Carlo Ghezzi,et al.  Process Model Evolution in the SPADE Environment , 1993, IEEE Trans. Software Eng..

[12]  Reidar Conradi,et al.  Techniques for Process Model Evolution in EPOS , 1993, IEEE Trans. Software Eng..

[13]  Bjørn P. Munch,et al.  Versioning in a Software Engineering Database — the Change Oriented Way , 1993 .

[14]  Victor R. Basili,et al.  The Experimental Paradigm in Software Engineering , 1992, Experimental Software Engineering Issues.

[15]  M. N. Nguyen,et al.  Classification of meta-processes and their models , 1994, Proceedings of the Third International Conference on the Software Process. Applying the Software Process.

[16]  Norman E. Fenton,et al.  Software Metrics: A Rigorous Approach , 1991 .

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

[18]  Meir M. Lehman,et al.  Program evolution: processes of software change , 1985 .

[19]  Reidar Conradi,et al.  Concepts for evolving software processes , 1994 .

[20]  Reidar Conradi,et al.  EPOS: object-oriented cooperative process modelling , 1994 .

[21]  Anas N. Al-Rabadi,et al.  A comparison of modified reconstructability analysis and Ashenhurst‐Curtis decomposition of Boolean functions , 2004 .

[22]  Jean-Claude Derniame Software Process Technology , 1992, Lecture Notes in Computer Science.

[23]  Capers Jones,et al.  Applied software measurement: assuring productivity and quality , 1991 .

[24]  Reidar Conradi,et al.  Integrated Product and Process Management in EPOS , 1996 .

[25]  Tom DeMarco,et al.  Controlling Software Projects: Management, Measurement, and Estimates , 1986 .

[26]  Reidar Conradi,et al.  Design, Use and Implementation of SPELL, a language for Software Process Modelling and Evolution , 1992, EWSPT.