Connecting the Rationale for Changes to the Evolution of a Process

In dynamic and constantly changing business environments, the need to rapidly modify and extend the software process arises as an important issue. Reasons include redistribution of tasks, technology changes, or required adherence to new standards. Changing processes ad-hoc without considering the underlying rationale of the process design can lead to various risks. Therefore, software organizations need suitable techniques and tools for storing and visualizing the rationale behind process model design decisions in order to optimally introduce future changes into their processes. We have developed a technique that support us in systematically identifying the differences between versions of a process model, and in connecting the rationale that motivated such differences. This results in a comprehensive process evolution repository that can be used, for instance, to support process compliance management, to learn from process evolution, or to identify and understand process variations in different development environments. In this article, we explain the underlying concepts of the technique, describe a supporting tool, and discuss our initial validation in the context of the German V-Modell XT process standard. We close the paper with related work and directions for future research.

[1]  Frank Maurer,et al.  Integrating software process models and design rationales , 1996, Proceedings of the 11th Knowledge-Based Software Engineering Conference.

[2]  Martin Verlage,et al.  A Synthesis of Two Process Support Approaches , 1996, SEKE.

[3]  Mark Lutz,et al.  Programming Python , 1996 .

[4]  Vasant Dhar,et al.  Supporting Systems Development by Capturing Deliberations During Requirements Engineering , 1992, IEEE Trans. Software Eng..

[5]  Dietmar Pfahl,et al.  Software Process Change, International Software Process Workshop and International Workshop on Software Process Simulation and Modeling, SPW/ProSim 2006, Shanghai, China, May 20-21, 2006, Proceedings , 2006, SPW/ProSim.

[6]  Richard M. Young,et al.  Options and Criteria: Elements of design space analysis , 1991 .

[7]  Barry W. Boehm,et al.  Using the WinWin Spiral Model: A Case Study , 1998, Computer.

[8]  Dieter Rombach,et al.  People-oriented capture, display, and use of process information , 2009 .

[9]  Raymond McCall,et al.  Rationale Management in Software Engineering , 2006 .

[10]  Barbara Paech,et al.  Rationale-Based Use Case Specification , 2002, Requirements Engineering.

[11]  Jacobo Torán,et al.  The graph isomorphism problem , 2020, Commun. ACM.

[12]  Jürgen Münch,et al.  Process Evolution Supported by Rationale: An Empirical Investigation of Process Changes , 2006, SPW/ProSim.

[13]  Atanas Kiryakov,et al.  Tracking Changes in RDF(S) Repositories , 2002, EKAW.

[14]  J. Köbler,et al.  The Graph Isomorphism Problem: Its Structural Complexity , 1993 .

[15]  Silvia T. Acuna,et al.  New Trends in Software Process Modelling , 2006 .

[16]  Tim Berners-Lee,et al.  Delta: an ontology for the distribution of differences between RDF graphs , 2004 .

[17]  Alistair G. Sutcliffe,et al.  Experience with SCRAM, a SCenario Requirements Analysis Method , 1998, Proceedings of IEEE International Symposium on Requirements Engineering: RE '98.

[18]  Ivan Porres,et al.  Difference and Union of Models , 2003, UML.

[19]  Martin Verlage,et al.  MVP-L Language Report Version 2 , 1995 .

[20]  Mark Klein An Exception Handling Approach to Enhancing Consistency, Completeness, and Correctness in Collaborative Requirements Capture , 1997 .

[21]  Sergio Tessaris,et al.  SemVersion - Versioning RDF and Ontologies , 2005 .

[22]  Patrick Henry Winston,et al.  Artificial intelligence at MIT: expanding frontiers , 1991 .

[23]  Colin Potts,et al.  Recording the reasons for design decisions , 1988, Proceedings. [1989] 11th International Conference on Software Engineering.

[24]  Jürgen Münch,et al.  The REMIS Approach for Rationale-Driven Process Model Evolution , 2007, ICSP.

[25]  Mark Lutz,et al.  Programming Python: Object-Oriented Scripting , 2001 .

[26]  Tom Mens,et al.  A State-of-the-Art Survey on Software Merging , 2002, IEEE Trans. Software Eng..

[27]  Feniosky Peña-Mora,et al.  Augmenting design patterns with design rationale , 1997, Artificial Intelligence for Engineering Design, Analysis and Manufacturing.

[28]  Jürgen Münch,et al.  Process Model Difference Analysis for Supporting Process Evolution , 2006, EuroSPI.