A Framework for Supporting Shared Interaction in Distributed Product Development Projects
MetadataShow full item record
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.