Software development projects are inherently cooperative, requiring many developers to coordinate their efforts to produce complex systems. An integral part of this process is the development and maintenance of a shared understanding concerning the state of software project tasks, artefacts, and the activities and expertise of developers working on the project. In co-located settings, this vital awareness information that concerns developers, either directly or tangentially, is typically acquired using formal, regular meetings, informal personal interruptions and electronic communication. Developing and maintaining such an awareness are far more difficult in distributed teams where developers are separated by time and space. The goal of this review is to help bridge the gap between the theoretical benefits of distributed collaborative software development and the practical impediments to successful implementation, and more specifically, achieving similar levels of awareness in distributed settings to those available in co-located settings. The review starts with a detailed discussion of awareness and awareness types with particular relevance to collaboration. This is followed by a discussion of how awareness information is disseminated during collaborative processes. Awareness information needs and dissemination mechanisms in software development teams are then presented. The main contribution of the review, derived from a comparison of awareness needs in distributed collaborative software engineering and current support from tools and techniques, is that more support is required for the type of awareness known as context awareness. Context awareness crosscuts other (more basic) forms of awareness and arises because, over time, individual collaborators work on different sets of tasks and artefacts and form different perceptions of their colleagues; their colleagues' work, roles, and relationships; and, the workspace. This awareness is highly contextual and therefore cannot be generalized across individuals, entities or activities that are found in a collaboration space.
- global software development
- context awareness
- empirical studies
- distributed teamwork
Omoronyia, I., Ferguson, J., Roper, M., & Wood, M. (2010). A review of awareness in distributed collaborative software engineering. Software: Practice and Experience , 40(12), 1107-1133. https://doi.org/10.1002/spe.1005