A review of awareness in distributed collaborative software engineering

Inah Omoronyia, John Ferguson, Marc Roper, Murray Wood

Research output: Contribution to journalArticle

39 Citations (Scopus)

Abstract

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.
Original languageEnglish
Pages (from-to)1107-1133
Number of pages27
JournalSoftware: Practice and Experience
Volume40
Issue number12
DOIs
Publication statusPublished - 2 Nov 2010

Fingerprint

Software engineering
Large scale systems
Communication

Keywords

  • global software development
  • context awareness
  • empirical studies
  • distributed teamwork

Cite this

@article{29e7f8ae863d4239afc6e222bd5d0b7a,
title = "A review of awareness in distributed collaborative software engineering",
abstract = "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.",
keywords = "global software development, context awareness, empirical studies, distributed teamwork",
author = "Inah Omoronyia and John Ferguson and Marc Roper and Murray Wood",
year = "2010",
month = "11",
day = "2",
doi = "10.1002/spe.1005",
language = "English",
volume = "40",
pages = "1107--1133",
journal = "Software: Practice and Experience",
issn = "0038-0644",
number = "12",

}

A review of awareness in distributed collaborative software engineering. / Omoronyia, Inah; Ferguson, John; Roper, Marc; Wood, Murray.

In: Software: Practice and Experience , Vol. 40, No. 12, 02.11.2010, p. 1107-1133.

Research output: Contribution to journalArticle

TY - JOUR

T1 - A review of awareness in distributed collaborative software engineering

AU - Omoronyia, Inah

AU - Ferguson, John

AU - Roper, Marc

AU - Wood, Murray

PY - 2010/11/2

Y1 - 2010/11/2

N2 - 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.

AB - 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.

KW - global software development

KW - context awareness

KW - empirical studies

KW - distributed teamwork

UR - http://onlinelibrary.wiley.com/doi/10.1002/spe.1005/abstract

U2 - 10.1002/spe.1005

DO - 10.1002/spe.1005

M3 - Article

VL - 40

SP - 1107

EP - 1133

JO - Software: Practice and Experience

JF - Software: Practice and Experience

SN - 0038-0644

IS - 12

ER -