Collaboration and coordination in process-centered software development environments: a review of the literature

Process-Centered Software Development Environments are systems that provide automated support for software development activities. Such environments mediate the eorts of potentially large groups of developers working on a common project. This mediation is based on runtime support for actual work performance based on formal representations of work. In the present work, we survey and assess the contributions of the software pro- cess literature under the perspective of support for collaboration and coordination. A broad range of alternative approaches to various aspects of representation and runtime support are identified, based on the analysis of an expressive number of systems. The identified functionality can serve both as a guide for the evaluation and selection of systems of this kind as well as a roadmap for the development of new, improved systems.

[1]  Gail E. Kaiser,et al.  A bi-level language for software process modeling , 1993, Proceedings of 1993 15th International Conference on Software Engineering.

[2]  Frederick P. Brooks,et al.  The Mythical Man-Month: Essays on Softw , 1978 .

[3]  Bashar Nuseibeh,et al.  To be and not to be: on managing inconsistency in software development , 1996, Proceedings of the 8th International Workshop on Software Specification and Design.

[4]  Gail E. Kaiser,et al.  Concurrency control in advanced database applications , 1991, CSUR.

[5]  Simon M. Kaplan,et al.  Supporting collaborative software development with ConversationBuilder , 1992, SDE.

[6]  Dennis Heimbigner,et al.  Proscription versus Prescription in Process-Centered Environments , 1990, 'Support for the Software Process'.,Proceedings of the 6th International Software Process Workshop.

[7]  Vincenzo Ambriola,et al.  OIKOS: constructing process-centred SDEs , 1994 .

[8]  John Grundy,et al.  Serendipity: integrated environment support for process modelling , 1996 .

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

[10]  R. Kadia,et al.  Issues encountered in building a flexible software development environment: lessons from the Arcadia project , 1992, SDE 5.

[11]  Reidar Conradi,et al.  Assessing process-centered software engineering environments , 1997, TSEM.

[12]  Ian Robertson,et al.  PADM: towards a total process modelling system , 1994 .

[13]  Gregor Engels,et al.  SOCCA: Specifications of Coordinated and Cooperative Activities , 1994 .

[14]  Mehdi Jazayeri,et al.  Process-centered Software Engineering Environments , 1995 .

[15]  Dennis Heimbigner,et al.  Software process modeling and execution within virtual environments , 1998, TSEM.

[16]  Wilhelm Schäfer,et al.  Concepts and implementation of a rule-based process engine/sup +/ , 1992, International Conference on Software Engineering.

[17]  Dewayne E. Perry,et al.  Proceedings of the 27th international conference on Software engineering , 1995, ICSE 1995.

[18]  Gail E. Kaiser,et al.  A paradigm for decentralized process modeling and its realization in the OZ environment , 1994, Proceedings of 16th International Conference on Software Engineering.

[19]  D. Bronisz,et al.  Process support in practice: A case study , 1993, 1993 Software Engineering Environments.

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

[21]  Lucy A. Suchman,et al.  Plans and Situated Actions: The Problem of Human-Machine Communication (Learning in Doing: Social, , 1987 .

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

[23]  Balachander Krishnamurthy,et al.  Provence: A Process Visualisation and Enactment Environment , 1993, ESEC.

[24]  Dennis Heimbigner,et al.  Language constructs for managing change in process-centered environments , 1990, SDE.

[25]  Alexander Borgida,et al.  Tolerating exceptions in workflows: a unified framework for data and processes , 1999, WACC '99.

[26]  J. Smellie,et al.  Introduction and summary of the workshop , 1986 .

[27]  Khaled Narayanaswamy,et al.  “Lazy” consistency: a basis for cooperative software development , 1992, CSCW '92.

[28]  Dewayne E. Perry Issues in process architecture , 1994, Proceedings. Ninth International Software Process Workshop.

[29]  Sergio Bandinelli,et al.  Supporting Cooperation in the SPADE-1 Environment , 1996, IEEE Trans. Software Eng..

[30]  Sergio Bandinelli,et al.  Cooperation Support in the SPADE Environment: a Case Study , 1993 .

[31]  Carlo Ghezzi,et al.  Software processes representation languages: survey and assessment , 1992, Proceedings Fourth International Conference on Software Engineering and Knowledge Engineering.

[32]  Claude Godart,et al.  ALF: a framework for building process-centred software engineering environments , 1994 .

[33]  Mark C. Paulk,et al.  The Capability Maturity Model , 1991 .

[34]  Naser S. Barghouti Separating process model enactment from process execution in Provence , 1994, Proceedings. Ninth International Software Process Workshop.

[35]  Liam J. Bannon,et al.  Questioning Representations , 1991, ECSCW.

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

[37]  Andreas Geppert,et al.  A Survey of Database Support for Process-Centered SoftwareDevelopment Environments. , 1995 .

[38]  Dennis Heimbigner The ProcessWall: a process state server approach to process programming , 1992, SDE.

[39]  Reidar Conradi,et al.  Total Software Process Model Evolution in EPOS Experience Report , 1997, Proceedings of the (19th) International Conference on Software Engineering.

[40]  Jakob E. Bardram,et al.  Designing for the dynamics of cooperative work activities , 1998, CSCW '98.

[41]  Jacky Estublier,et al.  ADELE-TEMPO: an environment to support process modelling and enaction , 1994 .

[42]  P. Kidwell,et al.  The mythical man-month: Essays on software engineering , 1996, IEEE Annals of the History of Computing.

[43]  Reidar Conradi,et al.  Workspace management: supporting cooperative work , 1993 .

[44]  Simon M. Kaplan,et al.  Process, space and software development support , 1994, Proceedings. Ninth International Software Process Workshop.

[45]  J. E. Arnold Toward collaborative software processes , 1994, Proceedings. Ninth International Software Process Workshop.

[46]  Wilhelm Schäfer,et al.  MERLIN: supporting cooperation in software development through a knowledge-based environment , 1994 .

[47]  Paul Dourish,et al.  Taking the work out of workflow: Mechanisms for document-centered collaboration , 1999, ECSCW.

[48]  Simon M. Kaplan,et al.  Process, space, & software development suppport. , 1994 .

[49]  David S. Munro,et al.  Collaboration and composition: issues for a second generation process language , 1999, ESEC/FSE-7.

[50]  I.Z. Ben-Shaul,et al.  Integrating groupware activities into workflow management systems , 1996, Proceedings of the Seventh Israeli Conference on Computer Systems and Software Engineering.

[51]  Gail E. Kaiser,et al.  Rule chaining in Marvel: dynamic binding of parameters , 1991, IEEE Expert.

[52]  Leon J. Osterweil,et al.  Software processes are software too , 1987, ISPW.

[53]  Ahmed K. Elmagarmid,et al.  Transaction Models for Advanced Database Applications , 1991 .

[54]  H. Dieter Rombach Proceedings of the 18th international conference on Software engineering , 1996, ICSE 1996.

[55]  James Coplien,et al.  A role-based empirical process modeling environment , 1993, [1993] Proceedings of the Second International Conference on the Software Process-Continuous Software Process Improvement.

[56]  Paolo Ciancarini,et al.  Software process enactment in Oikos , 1990, SDE.

[57]  Alfonso Fuggetta,et al.  Integrating Process Technology and CSCW , 1995, EWSPT.

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

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

[60]  Naser S. Barghouti,et al.  Supporting cooperation in the Marvel process-centered SDE , 1992, SDE 5.

[61]  Mark Klein,et al.  Introduction to the Special Issue on Adaptive Workflow Systems , 2000, Computer Supported Cooperative Work (CSCW).

[62]  David R. Barstow,et al.  Proceedings of the 25th International Conference on Software Engineering , 1978, ICSE.

[63]  Brian Warboys,et al.  The Software Process: Modelling and Technology , 1999, Software Process: Principles, Methodology, Technology.

[64]  J. Harvey,et al.  MultiView-Merlin: An experiment in tool integration , 1993, 1993 Software Engineering Environments.

[65]  John C. Grundy,et al.  Serendipity: Integrated Environment Support for Process Modelling, Enactment and Work Coordination , 2004, Automated Software Engineering.

[66]  Mark C. Paulk,et al.  Capability Maturity Model , 1991 .

[67]  E HuffKaren,et al.  A plan-based intelligent assistant that supports the software development , 1988 .

[68]  Carlo Ghezzi,et al.  SPADE: an environment for software process analysis, design, and enactment , 1994 .

[69]  Volker Gruhn Communication support in a process-centered software engineering environment , 1994, Proceedings. Ninth International Software Process Workshop.

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

[71]  Richard N. Taylor,et al.  Flexible and customizable workflow execution on the www , 1998 .

[72]  Gail E. Kaiser,et al.  A framework for immigrating existing software to new software development environments , 1991, Softw. Eng. J..

[73]  Fred P. Brooks,et al.  The Mythical Man-Month , 1975, Reliable Software.

[74]  Gianpaolo Cugola,et al.  Tolerating Deviations in Process Support Systems via Flexible Enactment of Process Models , 1998, IEEE Trans. Software Eng..

[75]  David S. Rosenblum,et al.  Process-Centered Environment (Only) Support Environment-Centered Processes , 1993, ISPW.

[76]  Gail E. Kaiser,et al.  A Paradigm for Decentralized Process Modeling , 1995 .

[77]  Steven S. Popovich,et al.  Integrating groupware and process technologies in the Oz environment , 1994, Proceedings. Ninth International Software Process Workshop.

[78]  Sergio Bandinelli,et al.  Coupled vs decoupled user interaction environments in PSEEs , 1994, Proceedings. Ninth International Software Process Workshop.

[79]  Victor R. Basili,et al.  Characterizing and Assessing a Large-Scale Software Maintenance Organization , 1994, 1995 17th International Conference on Software Engineering.

[80]  Robert Balzer,et al.  Tolerating Inconsistency , 1991, [1989] Proceedings of the 5th International Software Process Workshop.

[81]  Carlo Ghezzi,et al.  How To Deal With Deviations During Process Model Enactment , 1995, 1995 17th International Conference on Software Engineering.

[82]  Noureddine Belkhatir,et al.  The need for a cooperative model: the Adele/Tempo experience , 1994, Proceedings. Ninth International Software Process Workshop.

[83]  Jacques Lonchamp An assessment exercise , 1994 .

[84]  Reidar Conradi,et al.  Total Software Process Model Evolution in EPOS , 1996 .

[85]  Carlo Ghezzi,et al.  Design and implementation of PROSYT: a distributed process support system , 1999, Proceedings. IEEE 8th International Workshops on Enabling Technologies: Infrastructure for Collaborative Enterprises (WET ICE'99).

[86]  John Mylopoulos,et al.  An actor dependency model of organizational work: with application to business process reengineering , 1993, COCS '93.