Results 1 - 10
of
18
Palantír: Raising Awareness among Configuration Management Workspaces
, 2003
"... Current configuration management systems promote workspaces that isolate developers from each other. This isolation is both good and bad. It is good, because developers make their changes without any interference from changes made concurrently by other developers. It is bad, because not knowing whic ..."
Abstract
-
Cited by 96 (19 self)
- Add to MetaCart
Current configuration management systems promote workspaces that isolate developers from each other. This isolation is both good and bad. It is good, because developers make their changes without any interference from changes made concurrently by other developers. It is bad, because not knowing which artifacts are changing in parallel regularly leads to problems when changes are promoted from workspaces into a central configuration management repository. Overcoming the bad isolation, while retaining the good isolation, is a matter of raising awareness among developers, an issue traditionally ignored by the discipline of configuration management. To fill this void, we have developed Palantr, a novel workspace awareness tool that complements existing configuration management systems by providing developers with insight into other workspaces. In particular, the tool informs a developer of which other developers change which other artifacts, calculates a simple measure of severity of those changes, and graphically displays the information in a configurable and generally non-obtrusive manner. To illustrate the use of Palantr, we demonstrate how it integrates with two representative configuration management systems.
Identification of Coordination Requirements: Implications for the Design of Collaboration and Awareness Tools
- In Proceedings of the Conference on Computer Supported Cooperative Work (CSCW’06
, 2006
"... Task dependencies drive the need to coordinate work activities. We describe a technique for using automatically generated archival data to compute coordination requirements, i.e., who must coordinate with whom to get the work done. Analysis of data from a large software development project revealed ..."
Abstract
-
Cited by 60 (12 self)
- Add to MetaCart
Task dependencies drive the need to coordinate work activities. We describe a technique for using automatically generated archival data to compute coordination requirements, i.e., who must coordinate with whom to get the work done. Analysis of data from a large software development project revealed that coordination requirements were highly volatile, and frequently extended beyond team boundaries. Congruence between coordination requirements and coordination activities shortened development time. Developers, particularly the most productive ones, changed their use of electronic communication media over time, achieving higher congruence. We discuss practical implications of our technique for the design of collaborative and awareness tools. Categories and Subject Descriptors H.5.3 [Information Interfaces and Presentation]: Groups and Organization Interfaces – collaborative computing, computersupported
On the use of visualization to support awareness of human activities in software development: a survey and a framework
- Proceedings of the 2005 ACM symposium on Software visualization
, 2005
"... This paper proposes a framework for describing, comparing and understanding visualization tools that provide awareness of human activities in software development. The framework has several purposes – it can act as a formative evaluation mechanism for tool designers; as an assessment tool for potent ..."
Abstract
-
Cited by 28 (4 self)
- Add to MetaCart
This paper proposes a framework for describing, comparing and understanding visualization tools that provide awareness of human activities in software development. The framework has several purposes – it can act as a formative evaluation mechanism for tool designers; as an assessment tool for potential tool users; and as a comparison tool so that tool researchers can compare and understand the differences between various tools and identify potential new research areas. We use this framework to structure a survey of visualization tools for activity awareness in software development. Based on this survey we suggest directions for future research.
Software Dependencies, Work Dependencies and their Impact on Failures. Forthcoming
- in IEEE Transactions on Software Engineering
, 2009
"... Abstract—Prior research has shown that customer-reported software faults are often the result of violated dependencies that are not recognized by developers implementing software. Many types of dependencies and corresponding measures have been proposed to help address this problem. The objective of ..."
Abstract
-
Cited by 12 (3 self)
- Add to MetaCart
Abstract—Prior research has shown that customer-reported software faults are often the result of violated dependencies that are not recognized by developers implementing software. Many types of dependencies and corresponding measures have been proposed to help address this problem. The objective of this research is to compare the relative performance of several of these dependency measures as they relate to customer-reported defects. Our analysis is based on data collected from two projects from two independent companies. Combined, our data set encompasses eight years of development activity involving 154 developers. The principal contribution of this study is the examination of the relative impact that syntactic, logical, and work dependencies have on the failure proneness of a software system. While all dependencies increase the fault proneness, the logical dependencies explained most of the variance in fault proneness, while workflow dependencies had more impact than syntactic dependencies. These results suggest that practices such as rearchitecting, guided by the network structure of logical dependencies, hold promise for reducing defects. Index Terms—Distribution/maintenance/enhancement, metrics/measurement, organizational management and coordination, quality analysis and evaluation. Ç 1
Towards Supporting Awareness of Indirect Conflicts across Software Configuration Management Workspaces
- In Proc. Conference on Automated Software Engineering
, 2007
"... Workspace awareness techniques have been proposed to enhance the effectiveness of software configuration management systems in coordinating parallel work. These techniques share information regarding ongoing changes, so potential conflicts can be detected during development, instead of when changes ..."
Abstract
-
Cited by 8 (2 self)
- Add to MetaCart
Workspace awareness techniques have been proposed to enhance the effectiveness of software configuration management systems in coordinating parallel work. These techniques share information regarding ongoing changes, so potential conflicts can be detected during development, instead of when changes are completed and committed to a repository. To date, however, workspace awareness techniques only address direct conflicts, which arise due to concurrent changes to the same artifact, but are unable to support indirect conflicts, which arise due to ongoing changes in one artifact affecting concurrent changes in another artifact. In this paper, we present a new, cross-workspace awareness technique that supports one particular kind of indirect conflict, namely those indirect conflicts caused by changes to class signatures. We introduce our approach, discuss its implementation in our workspace awareness tool Palantír, illustrate its potential through two pilot studies, and lay out how to generalize the technique to a broader set of indirect conflicts.
Palantír: Coordinating Distributed Workspaces
- In 26th Annual International Computer Software and Applications Conference
, 2002
"... Distributed software development suffers from limited collaboration capabilities, as developers are unable to easily coordinate their efforts across physical boundaries. Different fields, such as CSCW and groupware, have attempted to bridge this gap, but few of the approaches developed so far have b ..."
Abstract
-
Cited by 7 (0 self)
- Add to MetaCart
Distributed software development suffers from limited collaboration capabilities, as developers are unable to easily coordinate their efforts across physical boundaries. Different fields, such as CSCW and groupware, have attempted to bridge this gap, but few of the approaches developed so far have been incorporated in current software development environments. Configuration Management (CM) systems are vital to any software development process, support distributed development, and are in widespread use. Unfortunately, they have only limited support for distributed collaboration. In this paper we describe Palantír, a system that is aimed at bringing collaborative capabilities to distributed development. Palantír builds upon existing CM systems to introduce project awareness to the developer workspace. In particular, Palantír supports close collaboration among developers by visualizing concurrent changes and showing, in real time, the severity and impact of those changes on the developer’s workspace. 1.
Tesseract: Interactive visual exploration of socio-technical relationships in software development
- in Proceedings of the 31st International Conference on Software Engineering, 2009
"... Software developers have long known that project success requires a robust understanding of both technical and social linkages. However, research has largely considered these independently. Research on networks of technical artifacts focuses on techniques like code analysis or mining project archive ..."
Abstract
-
Cited by 7 (0 self)
- Add to MetaCart
Software developers have long known that project success requires a robust understanding of both technical and social linkages. However, research has largely considered these independently. Research on networks of technical artifacts focuses on techniques like code analysis or mining project archives. Social network analysis has been used to capture information about relations among people. Yet, each type of information is often far more useful when combined, as when the “goodness ” of social networks is judged by the patterns of dependencies in the technical artifacts. To bring such information together, we have developed Tesseract, an interactive exploratory environment that utilizes cross-linked displays to visualize the myriad relationships between artifacts, developers, bugs, and communications. We evaluated Tesseract by (1) demonstrating its feasibility with GNOME project data (2) assessing its usability via informal user evaluations, and (3) verifying its suitability for the open source community via semi-structured interviews. 1.
Empirical Evidence of the Benefits of Workspace Awareness in Software Configuration Management
"... In this paper, we present results from our empirical evaluations of a workspace awareness tool that we designed and implemented to augment the functionality of software configuration management systems. Particularly, we performed two user experiments directed at understanding the effectiveness of a ..."
Abstract
-
Cited by 6 (1 self)
- Add to MetaCart
In this paper, we present results from our empirical evaluations of a workspace awareness tool that we designed and implemented to augment the functionality of software configuration management systems. Particularly, we performed two user experiments directed at understanding the effectiveness of a workspace awareness tool in improving coordination and reducing conflicts. In the first experiment, we evaluated the tool through text-based assignments to avoid interference from the well-documented impact of individual differences among participants, as these differences are known to lessen the observable effect of proposed tools or to lead to them having no observable effect at all. This strategy of evaluating an application in a domain that is known to have less individual differences is novel and in our case particularly helpful in providing baseline quantifiable results. Upon this baseline, we performed a second experiment, with code-based assignments, to validate that the tool’s beneficial effects also occur in the case of programming. Together, our results provide quantitative evidence of the benefits of workspace awareness in software configuration management, as we demonstrate that it improves coordination and conflict resolution without inducing significant overhead in monitoring awareness cues.
Remixing visualization to support collaboration in software maintenance
- In Proceedings of the Frontiers of Software Maintenance (FoSM). IEEE
, 2008
"... We propose that collaborative software visualization can improve team software maintenance. We first review how visualization can support software maintenance from the perspectives of system understanding, process understanding and software evolution. From this, we conclude that visualization tools ..."
Abstract
-
Cited by 4 (0 self)
- Add to MetaCart
We propose that collaborative software visualization can improve team software maintenance. We first review how visualization can support software maintenance from the perspectives of system understanding, process understanding and software evolution. From this, we conclude that visualization tools are rarely designed to provide explicit support for collaborative authoring and sharing of views. We then provide an overview of research from a Computer Supported Cooperative Work perspective, and propose that this research should be applied to software visualization. We explore the opportunities and challenges this research focus presents and conclude that more attention paid to the social aspects of software visualization should improve both individual and team processes in software maintenance. 1.
Palantír: Increasing Awareness in Distributed Software Development
- International Workshop in Global Software Development at ICSE'2002
, 2002
"... Distributed software development, just like regular software development, typically involves developers working in parallel on the same set of artifacts. Unlike regular software development, however, distributed software development is limited since developers are unable to easily coordinate their e ..."
Abstract
-
Cited by 3 (0 self)
- Add to MetaCart
Distributed software development, just like regular software development, typically involves developers working in parallel on the same set of artifacts. Unlike regular software development, however, distributed software development is limited since developers are unable to easily coordinate their efforts in person due to the presence of physical boundaries. While configuration management systems provide some automated coordination support in the form of locking and merging, the high cost of conflict resolution in distributed software development requires even higher levels of support to ensure as few integration problems as possible. In this paper, we introduce Palantr, a system that complements existing configuration management systems by providing distributed awareness of project progress. In particular, Palantr provides each developer with a graphical display that not only shows which remote artifacts are changing, but also presents them with a measure of both the severity and the impact of the changes. As a result, developers are provided with an increased level of awareness that allows them to detect and resolve problems much earlier.

