An extensible framework for collaborative software engineering

The size, complexity and duration of typical software engineering projects means that teams of developers will work on them. However, with the exception of version control systems, the editors, diagrammers and other tools used will generally support only a single user. We present an architecture for bringing to software engineering development environments the advantages of awareness of the presence, intentions, and actions of others. Thus far, the applications of such facilities have been primarily in simple computer supported cooperative work (CSCW) tools, such as shared whiteboards, where the corresponding artifacts, unlike those of software engineering, are typically both simple and transient. We describe our implementation of the architecture and prototype tools and illustrate the benefits of providing support for real-time collaboration between developers located anywhere on the Internet. We also describe how our architecture, which is based on a parse tree representation of artifacts, may be extended readily to include new tools, languages, and notations or be customised to provide new awareness mechanisms.

[1]  Jonathan J. Cadiz,et al.  Does continuous visual feedback aid debugging in direct-manipulation programming systems? , 1997, CHI.

[2]  Brian Berliner,et al.  CVS II: Parallelizing Software Dev elopment , 1998 .

[3]  Neville Churcher,et al.  Object oriented metrics: precision tools and configurable visualisations , 2003, Proceedings. 5th International Workshop on Enterprise Networking and Computing in Healthcare Industry (IEEE Cat. No.03EX717).

[4]  S. Greenberg The 1988 CSCW: trip report , 1989, SGCH.

[5]  John Vlissides,et al.  Pattern hatching: design patterns applied , 1998 .

[6]  Jonathan Grudin,et al.  Why CSCW applications fail: problems in the design and evaluationof organizational interfaces , 1988, CSCW '88.

[7]  Saul Greenberg,et al.  Building real-time groupware with GroupKit, a groupware toolkit , 1996, TCHI.

[8]  Kouichi Kishida,et al.  Toward an understanding of the motivation of open source software developers , 2003, 25th International Conference on Software Engineering, 2003. Proceedings..

[9]  Kent L. Beck,et al.  Extreme programming explained - embrace change , 1990 .

[10]  John Vlissides Pattern hatching , 1996 .

[11]  Geoffrey Bock,et al.  Groupware - software for computer-supported cooperative work , 1992 .

[12]  Arthur G. Ryman,et al.  A World-Wide-Web architecture for collaborative software design , 1999, STEP '99. Proceedings Ninth International Workshop Software Technology and Engineering Practice.

[13]  Jane N. Mosier,et al.  Collaborative virtual workspace , 1997, GROUP.

[14]  Jonathan Grudin,et al.  Why CSCW Applications Fail: Problems in the Design and Evaluation of Organization of Organizational Interfaces. , 1988 .

[15]  Russell Beale,et al.  Remote Cooperation: CSCW Issues for Mobile and Teleworkers , 1996, Computer Supported Cooperative Work.

[16]  Neville Churcher,et al.  A Pure-Java Group Communication Framework , 2003 .

[17]  Dave Thomas,et al.  Orwell—a configuration management system for team programming , 1988, OOPSLA 1988.

[18]  Till Schümmer,et al.  Lost and Found in Software Space , 2001, HICSS.

[19]  Neville Churcher,et al.  GROUPCRC: exploring CSCW support for software engineering , 1996, Proceedings Sixth Australian Conference on Computer-Human Interaction.

[20]  Ralph Johnson,et al.  design patterns elements of reusable object oriented software , 2019 .

[21]  Bonnie A. Nardi,et al.  An ethnographic study of distributed problem solving in spreadsheet development , 1990, CSCW '90.

[22]  William Phillips Architectures for Synchronous Groupware , 1999 .

[23]  U. Busbach Activity Coordination in Decentralized Working Environments , 1996 .