Capturing communication and context in the software project lifecycle
Research in Engineering Design (2003)
- ISSN: 09349839
- ISBN: 0001401106
- DOI: 10.1007/s00163-002-0027-8
Available from Research in Engineering Design
or
Author-supplied keywords
Available from Research in Engineering Design
Page 1
Capturing communication and context in the software project lifecycle
For submission to Research in Engineering Design.
Capturing Communication and Context in the Software
Project Lifecycle
Vera Zaychik
William C. Regli
†
Geometric and Intelligent Computing Laboratory
Department of Mathematics and Computer Science
Drexel University
3201 Chestnut Street
Philadelphia, PA USA
November 14, 2002
Abstract
Capturing design process knowledge is a complex, multi-disciplinary problem. With the
advent and increased acceptance of digital computer supported cooperative work tools this
project studied how engineering collaboration might be captured and archived to support engi-
neering lifecycle activities. To improve project communications among software engineers and
create structured email archives, we developed an environment called CodeLink. CodeLink is a
design rationale support tool, integrating email-based collaboration with the software develop-
ment process, providing teams of developers with a means to automatically associate specific
code elements with email messages. In this paper we describe CodeLink’s architecture, user
interface, and the results of an informal user study. We believe that by integrating collabora-
tive work tools with development tools, we can enrich the communication within engineering
teams and build repositories that detail collaborative decisions made in the development pro-
cess. These repositories can then be used to facilitate software maintenance and extract design
rationale.
Keywords: Collaborative Design, Computer Supported Cooperative Work, Software Design,
Software Project Management, Software Maintenance.
Author’s present address: Lockheed Martin, Advanced Technology Laboratory, Embedded Processing Labora-
tory, A&E Building, 2 West , 1 Federal Street, Camden, NJ 08102.
†
Email: ; Tel: 215.895.6827; Fax: 215.895.1582.
1
Capturing Communication and Context in the Software
Project Lifecycle
Vera Zaychik
William C. Regli
†
Geometric and Intelligent Computing Laboratory
Department of Mathematics and Computer Science
Drexel University
3201 Chestnut Street
Philadelphia, PA USA
November 14, 2002
Abstract
Capturing design process knowledge is a complex, multi-disciplinary problem. With the
advent and increased acceptance of digital computer supported cooperative work tools this
project studied how engineering collaboration might be captured and archived to support engi-
neering lifecycle activities. To improve project communications among software engineers and
create structured email archives, we developed an environment called CodeLink. CodeLink is a
design rationale support tool, integrating email-based collaboration with the software develop-
ment process, providing teams of developers with a means to automatically associate specific
code elements with email messages. In this paper we describe CodeLink’s architecture, user
interface, and the results of an informal user study. We believe that by integrating collabora-
tive work tools with development tools, we can enrich the communication within engineering
teams and build repositories that detail collaborative decisions made in the development pro-
cess. These repositories can then be used to facilitate software maintenance and extract design
rationale.
Keywords: Collaborative Design, Computer Supported Cooperative Work, Software Design,
Software Project Management, Software Maintenance.
Author’s present address: Lockheed Martin, Advanced Technology Laboratory, Embedded Processing Labora-
tory, A&E Building, 2 West , 1 Federal Street, Camden, NJ 08102.
†
Email: ; Tel: 215.895.6827; Fax: 215.895.1582.
1
Page 2
For submission to Research in Engineering Design.
1 Introduction
Software Engineering project knowledge is contained within source code, documentation, require-
ments and design documents, bug databases, communications between developers, and the memo-
ries of individual developers. Project communication and collaborative exchanges contain a great
deal of knowledge about design intent, rationale and decision-making that could be harvested to
improve project management and facilitate software maintenance. However, it is very difficult
to extract what is useful from informal communications because these media (i.e., email, voice
conversations, etc.) are often poorly structured or not captured.
While electronic means of communication between software engineers (e.g., email, instant
messaging, computer supported cooperative work tools) have become widely used, they still lack
support for certain important factors of the software development process. For example, in open-
source projects, where participation is open to developers around the world and is not restricted to
any geographic area, email is the dominant communication medium. This is part of a fundamen-
tal trend toward increased use of asynchronous communication instead of face-to-face, in person,
meetings: rather than walk to the next cubicle, we place a request for information at our conve-
nience and it does not have to be satisfied immediately by the recipient. While email tools have
improved significantly over the years, they still lack the ability to provide the kind of context-based
support to the collaborative work process found in a face-to-face meeting.
This paper presents an approach to enable context-aware email collaboration among software
developers. Informally, context is the sum of information we readily obtain from the participants by
paying attention to our surroundings and non-verbal cues: the exact subject of conversation, turn-
taking, etc. It is the collection of circumstances or conditions under which the communication act
occurs. For example, in face-to-face conversations, when we want to specify something, we can
often point. Such facilities are not available in email. For the most basic example in email, when
the need arises to specify a point in a referenced document, the sender is often forced to describe
the location (e.g. third paragraph, second line or class oo, function ar, line 154).
Informal communication contains a great deal of project-related information, often information
not found anywhere else [40]. The more developers rely on electronic communications, the greater
the quantity of data that can be available from the communications to be accessed in the future.
Organizations often maintain email archives of mailing lists and email discussions, in parallel to
the software project files and documentation. Unfortunately, they provide insufficient search capa-
bilities: the information might be there, but most people are not willing to sift through hundreds of
messages for the relevant few that deal with a particular part of the project.
Our approach provides developers with the ability to create anchored conversations [8] about
their software project by automatically including context hyperlinks to specific places in a software
project source file or document. This, in turn, stems the loss of vital project information: a message
is archived based on the developers’ context at the time it is sent. Our research aims to study the
following questions: Can we automatically extract useful project information from email communications be-
tween designers with minimal interference and avoiding text parsing and analysis, instead
using context extraction at the time of composition of the message?
2
1 Introduction
Software Engineering project knowledge is contained within source code, documentation, require-
ments and design documents, bug databases, communications between developers, and the memo-
ries of individual developers. Project communication and collaborative exchanges contain a great
deal of knowledge about design intent, rationale and decision-making that could be harvested to
improve project management and facilitate software maintenance. However, it is very difficult
to extract what is useful from informal communications because these media (i.e., email, voice
conversations, etc.) are often poorly structured or not captured.
While electronic means of communication between software engineers (e.g., email, instant
messaging, computer supported cooperative work tools) have become widely used, they still lack
support for certain important factors of the software development process. For example, in open-
source projects, where participation is open to developers around the world and is not restricted to
any geographic area, email is the dominant communication medium. This is part of a fundamen-
tal trend toward increased use of asynchronous communication instead of face-to-face, in person,
meetings: rather than walk to the next cubicle, we place a request for information at our conve-
nience and it does not have to be satisfied immediately by the recipient. While email tools have
improved significantly over the years, they still lack the ability to provide the kind of context-based
support to the collaborative work process found in a face-to-face meeting.
This paper presents an approach to enable context-aware email collaboration among software
developers. Informally, context is the sum of information we readily obtain from the participants by
paying attention to our surroundings and non-verbal cues: the exact subject of conversation, turn-
taking, etc. It is the collection of circumstances or conditions under which the communication act
occurs. For example, in face-to-face conversations, when we want to specify something, we can
often point. Such facilities are not available in email. For the most basic example in email, when
the need arises to specify a point in a referenced document, the sender is often forced to describe
the location (e.g. third paragraph, second line or class oo, function ar, line 154).
Informal communication contains a great deal of project-related information, often information
not found anywhere else [40]. The more developers rely on electronic communications, the greater
the quantity of data that can be available from the communications to be accessed in the future.
Organizations often maintain email archives of mailing lists and email discussions, in parallel to
the software project files and documentation. Unfortunately, they provide insufficient search capa-
bilities: the information might be there, but most people are not willing to sift through hundreds of
messages for the relevant few that deal with a particular part of the project.
Our approach provides developers with the ability to create anchored conversations [8] about
their software project by automatically including context hyperlinks to specific places in a software
project source file or document. This, in turn, stems the loss of vital project information: a message
is archived based on the developers’ context at the time it is sent. Our research aims to study the
following questions: Can we automatically extract useful project information from email communications be-
tween designers with minimal interference and avoiding text parsing and analysis, instead
using context extraction at the time of composition of the message?
2
Sign up today - FREE
Mendeley saves you time finding and organizing research. Learn more
- All your research in one place
- Add and import papers easily
- Access it anywhere, anytime
Start using Mendeley in seconds!
Readership Statistics
3 Readers on Mendeley
by Discipline
by Academic Status
67% Ph.D. Student
33% Student (Master)
by Country
67% Germany
33% Malaysia


