A Framework for Supporting Shared Interaction in Distributed Product Development Projects

Geographically distributed software development projects are becoming commonplace due to the wide-spread use of network technologies. Software development is an activity that is based on intensive cooperation among groups of developers. Therefore, network technologies used to support such projects have to provide proper support for this cooperation.It is shown in this thesis that the (software) product being developed by a group of developers plays an essential role as a resource for cooperation. The product is used for externalizing knowledge, for resolving misunderstandings, and for coordinating the daily activities of the developers. Continuous, flexible and customized access to the product is shown to be a necessary prerequisite for using the product as a resource for cooperation. It is also shown, through a case study of a geographically distributed project, that geographical distribution hampers continuous, flexible, and customized access to the product. This often leads to break-downs in coordination and cooperative learning in product development projects.A product-based shared interaction model is proposed as a suitable approach for supporting distributed product development projects in using the product as a resource for cooperation. The model emphasizes the uncertain nature of product development processes, and therefore does not impose any predefined patterns of cooperation. Instead, the model simulates some of the properties of the physical space. Awareness mechanisms are used to provide the developers with continuous information about the modifications to the shared product. A flexible interface to the product allows the developers to modify and annotate the product according to their emerging needs. Local customization mechanisms are used to allow the product to be used as a boundary object.The product-based shared interaction model is formalized in form of a generic framework. The framework consists of three service layers, each with a well-defined set of services. The lower layers of the framework are concerned with cooperation in large groups, and use a shared product space for supporting shared interaction involving the product. The higher layers of the framework emphasize close and dynamic cooperation among the developers in smaller groups, and use centers of interaction for supporting cooperation in shared workspaces. The framework is implemented in form of a generic shared interaction platform that can be used to construct a range of cooperation support environments for product development projects. One such environment is described in details and demonstrates how the framework can solve some of the problems of geographically distributed product development projects.

[1]  Hsinchun Chen,et al.  Collaborative systems: solving the vocabulary problem , 1994, Computer.

[2]  Susan R. Fussell,et al.  Mutual knowledge and communicative effectiveness , 1990 .

[3]  Daniela E. Herlea User participation in requirements negotiation , 1999, SIGG.

[4]  Tom Rodden,et al.  Exploring the design space for notification servers , 1998, CSCW '98.

[5]  Edsger W. Dijkstra,et al.  Go to Statement Considered Harmful (Reprint) , 2002, Software Pioneers.

[6]  Sara A. Bly,et al.  A use of drawing surfaces in different collaborative settings , 1988, CSCW '88.

[7]  Babak A. Farshchian ICE: A Highly Tailorable System for Building Collaboration Spaces on the WWW , 1997 .

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

[9]  M. E. Conway HOW DO COMMITTEES INVENT , 1967 .

[10]  Simon M. Kaplan,et al.  Issues in the Design of Collaborative Systems: Lessons from ConversationBuilder , 1993 .

[11]  Stan Jarzabek,et al.  The case for user-centered CASE tools , 1998, CACM.

[12]  Ivar Jacobson,et al.  The Unified Modeling Language User Guide , 1998, J. Database Manag..

[13]  Babak A. Farshchian IGLOO: A Framework for Developing Product-Oriented Shared Workspace Applications , 2000, COOP.

[14]  Volker Wulf Negotiability: a metafunction to tailor access to data in groupware , 1995, Behav. Inf. Technol..

[15]  Wanda J. Orlikowski,et al.  CASE Tools as Organizational Change: Investigating Incremental and Radical Changes in Systems Development , 1993, MIS Q..

[16]  Atul Prakash,et al.  Data Management Issues and Trade-Offs in CSCW Systems , 1999, IEEE Trans. Knowl. Data Eng..

[17]  Richard Bentley,et al.  Distributed authoring on the Web with the BSCW shared workspace system , 1997, STAN.

[18]  Arne Sølvberg,et al.  Conflict Management in Systems Development Groups , 1993, Information System Development Process.

[19]  David Sharon,et al.  Tools That Bind: Creating Integrated Environments , 1995, IEEE Softw..

[20]  Matthias Jarke,et al.  Sharing Processes: Team Coordination in Design Repositories , 1992, Int. J. Cooperative Inf. Syst..

[21]  Christopher Fry,et al.  Experiments with Oval: a radically tailorable tool for cooperative work , 1992, CSCW '92.

[22]  Joyce J. Elam,et al.  Inside a software design team: knowledge acquisition, sharing, and integration , 1993, CACM.

[23]  Jay F. Nunamaker,et al.  Electronic meeting systems , 1991, CACM.

[24]  Yngve Sundblad,et al.  An Analysis of Design and Collaboration in a Distributed Environment , 1991, ECSCW.

[25]  Wendy E. Mackay,et al.  Patterns of sharing customizable software , 1990, CSCW '90.

[26]  Jonathan Grudin,et al.  Groupware and social dynamics: eight challenges for developers , 1994, CACM.

[27]  Wayne A. Babich,et al.  Software Configuration Management: Coordination for Team Productivity , 1986 .

[28]  Paul Dourish,et al.  Re-place-ing space: the roles of place and space in collaborative systems , 1996, CSCW '96.

[29]  Claude Faucheux,et al.  How virtual organizing is transforming management science , 1997, CACM.

[30]  Judith S. Olson,et al.  User‐centered design of collaboration technology , 1991 .

[31]  David C. Kung,et al.  Information Systems Engineering: An Introduction , 1993 .

[32]  Reinhard Keil-Slawik Artifacts in Software Design , 1992 .

[33]  Paul Dourish,et al.  Awareness and coordination in shared workspaces , 1992, CSCW '92.

[34]  Saul Greenberg,et al.  Using a Room Metaphor to Ease Transitions in Groupware , 1998 .

[35]  Geraldine Fitzpatrick,et al.  Work, Locales and Distributed Social Worlds , 1995, ECSCW.

[36]  Iris Vessey,et al.  CASE tools as collaborative support technologies , 1995, CACM.

[37]  Mica R. Endsley,et al.  Toward a Theory of Situation Awareness in Dynamic Systems , 1995, Hum. Factors.

[38]  Judith S. Olson,et al.  A Room of Your Own: What Do We Learn about Support of Teamwork from Assessing Teams in Dedicated Project Rooms? , 1998, CoBuild.

[39]  Tom Rodden,et al.  A Survey of CSCW Systems , 1991, Interact. Comput..

[40]  Richard Bentley,et al.  Basic support for cooperative work on the World Wide Web , 1997, Int. J. Hum. Comput. Stud..

[41]  Carl Gutwin,et al.  Workspace Awareness in Real-Time Distributed Groupware: Framework, Widgets, and Evaluation , 1996, BCS HCI.

[42]  M. Iansiti,et al.  Developing products on Internet time. , 1997, Harvard business review.

[43]  Susan Leigh Star,et al.  Institutional Ecology, `Translations' and Boundary Objects: Amateurs and Professionals in Berkeley's Museum of Vertebrate Zoology, 1907-39 , 1989 .

[44]  H. Rittel Structure and Usefulness of Planning Information Systems , 1982 .

[45]  Walter F. Tichy,et al.  Rcs — a system for version control , 1985, Softw. Pract. Exp..

[46]  Tom Rodden,et al.  Chapter 11 Putting it all together: Requirements for a CSCW platform , 1996 .

[47]  Antero Taivalsaari,et al.  TDE: Supporting Geographically Distributed Software Design with Shared, Collaborative Workspaces , 1997, CAiSE.

[48]  Atul Prakash,et al.  Supporting multi-user, multi-applet workspaces in CBE , 1996, CSCW '96.

[49]  Jonathan Trevor,et al.  MetaWeb: Bringing synchronous groupware to the World Wide Web , 1997, ECSCW.

[50]  Atul Prakash,et al.  The upper atmospheric research collaboratory , 1994, CHI '94.

[51]  D. Schoen,et al.  The Reflective Practitioner: How Professionals Think in Action , 1985 .

[52]  Ronald J. Norman,et al.  A self-assessment by the software engineering community , 1992, CACM.

[53]  Erran Carmel,et al.  Customer-developer links in software development , 1995, CACM.

[54]  Mike Robinson,et al.  Design for Unanticipated Use , 1993, ECSCW.

[55]  John C. Tang,et al.  A framework for understanding the workspace activity of design teams , 1988, CSCW '88.

[56]  Geraldine Fitzpatrick,et al.  Muddling Through , 1997, Cosmopolitan Conservatisms.

[57]  Clarence A. Ellis,et al.  Groupware: some issues and experiences , 1991, CACM.

[58]  Steve Benford,et al.  Supporting Cooperative Work in Virtual Environments , 1994, Comput. J..

[59]  Austin Henderson,et al.  Rooms: the use of multiple virtual workspaces to reduce space contention in a window-based graphical user interface , 1986, TOGS.

[60]  John A. McDermid,et al.  Software Engineering Environments: Automated Support for Software Engineering , 1993 .

[61]  Giorgio De Michelis,et al.  Weakly augmented reality: observing and designing the work-place of creative designers , 2000, DARE '00.

[62]  D. L. Parnas,et al.  On the criteria to be used in decomposing systems into modules , 1972, Software Pioneers.

[63]  Jonathan Gray,et al.  Applying the CDIF standard in the construction of CASE design tools , 1997, Proceedings of Australian Software Engineering Conference ASWEC 97.

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

[65]  Feng-Jian Wang,et al.  A multi-user visual object-oriented programming environment , 1998, Proceedings. The Twenty-Second Annual International Computer Software and Applications Conference (Compsac '98) (Cat. No.98CB 36241).

[66]  Juhani Iivari,et al.  Why are CASE tools not used? , 1996, CACM.

[67]  Clarence A. Ellis,et al.  rIBIS: A Real-Time Group Hypertext System , 1991, Int. J. Man Mach. Stud..

[68]  L. Suchman Centers of coordination : a case and some themes. , 1997 .

[69]  Gerardine DeSanctis,et al.  A foundation for the study of group decision support systems , 1987 .

[70]  Babak A. Farshchian,et al.  Gossip: An Awareness Engine for Increasing Product Awareness in Distributed Development Projects , 2000, CAiSE.

[71]  Herbert H. Clark,et al.  Grounding in communication , 1991, Perspectives on socially shared cognition.

[72]  Geraldine Fitzpatrick,et al.  Evolving Orbit: a process report on building locales , 1997, GROUP.

[73]  Peter F. Drucker,et al.  The Coming of the New Organization , 2001 .

[74]  Carl Gutwin,et al.  Effects of awareness support on groupware usability , 1998, CHI.

[75]  Mark Day What synchronous groupware needs: notification services , 1997, Proceedings. The Sixth Workshop on Hot Topics in Operating Systems (Cat. No.97TB100133).

[76]  Steve Benford,et al.  User embodiment in collaborative virtual environments , 1995, CHI '95.

[77]  Saul Greenberg,et al.  TeamRooms: network places for collaboration , 1996, CSCW '96.

[78]  Tom Rodden,et al.  Populating the application: a model of awareness for cooperative applications , 1996, CSCW '96.

[79]  I. Nonaka,et al.  The Knowledge Creating Company , 2008 .

[80]  Arne Sølvberg,et al.  Understanding quality in conceptual modeling , 1994, IEEE Software.

[81]  Saul Greenberg,et al.  GROUPWARE TOOLKITS FOR SYNCHRONOUS WORK , 1996 .

[82]  Jonathan Grudin,et al.  Computer-supported cooperative work: history and focus , 1994, Computer.

[83]  Beat Signer,et al.  A Personal Assistant for Web Database Caching , 2000, CAiSE.

[84]  Klaas Sikkel A Group-based Authorization Model for Cooperative Systems , 1997, ECSCW.

[85]  Thomas W. Malone,et al.  The Information Lens: An Intelligent System for Information Sharing and Coordination , 1989 .

[86]  Wolfgang Prinz,et al.  NESSIE: An awareness environment for cooperative settings , 1999, ECSCW.

[87]  Thomas P. Moran,et al.  The workaday world as a paradigm for CSCW design , 1990, CSCW '90.

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

[89]  Steve Benford,et al.  A Spatial Model of Interaction in Large Virtual Environments , 1993, ECSCW.

[90]  Mark Pendergast,et al.  Supporting the group creation of formal and informal graphics during business process modeling , 1999, Interact. Comput..

[91]  Donald A. Sch The reflective practitioner: how professionals think in action , 1983 .

[92]  Chris W. Clegg,et al.  The dynamics of work organization, knowledge and technology during software development , 1997, Int. J. Hum. Comput. Stud..

[93]  Alfonso Fuggetta,et al.  A classification of CASE technology , 1993, Computer.

[94]  Daniela E. Damian,et al.  Using a groupware space for distributed requirements engineering , 1998, Proceedings Seventh IEEE International Workshop on Enabling Technologies: Infrastucture for Collaborative Enterprises (WET ICE '98) (Cat. No.98TB100253).

[95]  James D. Herbsleb,et al.  Splitting the organization and integrating the code: Conway's law revisited , 1999, Proceedings of the 1999 International Conference on Software Engineering (IEEE Cat. No.99CB37002).

[96]  Leonard J. Bass,et al.  Engineering for Human-Computer Interaction, Proceedings of the IFIP TC2/WG2.7 Working Conference on Engineering for Human-Computer Interaction, Yellowstone Park, USA, August 1995 , 1996, EHCI.

[97]  Kjeld Schmidt,et al.  Taking CSCW Seriously: Supporting Articulation Work * , 1992 .

[98]  Wes Sharrock,et al.  PRACTICES IN THE WORK OF ORDERING SOFTWARE DEVELOPMENT , 1995 .

[99]  Terry Winograd,et al.  Understanding computers and cognition - a new foundation for design , 1987 .

[100]  D. G. Wastell,et al.  The Social Dynamics of Systems Development: Conflict, Change and Organizational Politics , 1993 .

[101]  Susanne Bødker,et al.  From implementation to design: tailoring and the emergence of systematization in CSCW , 1994, CSCW '94.

[102]  Atul Prakash,et al.  Providing Flexible Services for Managing Shared State in Collaborative Systems , 1997, ECSCW.

[103]  David B. Leblang,et al.  ClearCase MultiSite: Supporting Geographically-Distributed Software Development , 1995, SCM.

[104]  Ramez Elmasri,et al.  Fundamentals of Database Systems , 1989 .

[105]  Richard Bentley,et al.  An architecture for tailoring cooperative multi-user displays , 1992, CSCW '92.

[106]  Atul Prakash,et al.  DistView: support for building efficient collaborative applications using replicated objects , 1994, CSCW '94.

[107]  Liam J. Bannon,et al.  Constructing Common Information Spaces , 1997, ECSCW.

[108]  James D. Herbsleb,et al.  The Structure of Activity During Design Meetings , 1996 .

[109]  Julie E. Kendall,et al.  Systems analysis and design , 1981 .

[110]  John C. Tang Findings from Observational Studies of Collaborative Work , 1991, Int. J. Man Mach. Stud..

[111]  J. Brown,et al.  Organizational Learning and Communities-of-Practice: Toward a Unified View of Working, Learning, and Innovation , 1991 .

[112]  Keith A. Lantz,et al.  Collaboration awareness in support of collaboration transparency: requirements for the next generation of shared window systems , 1990, CHI '90.