Conference PaperPDF Available

Tracing Latent Dependencies Across Software Teams Through Error-handling Graphs

Authors:

Abstract

It is important to identify and act upon coordination problems within and across distributed software development teams in the context of global software development (GSD). Such problems jeopardize the quality of the system under development, and their identification is paramount to mitigate quality related risks. In this paper, we introduce a visualization tool, namely error-handling graph, that shows the interactions of development teams in terms of the reported and fixed errors during software development, and guides project managers to focus their efforts towards locating root problem causes. We present an example based on the data collected from the issue repository of an industrial project and discuss error-handling graph's potential implications. The initial feedback from the piloting industrial team is positive, though a thorough evaluation is still needed. In practice, error graphs could be helpful in identifying the sources of problems and the opportunities for improvement, by creating awareness through data-driven insights for enhancing the way of working within and across software development teams.
A preview of the PDF is not available
... B. Turhan and K. Kuutti [13] propose Error-handling Graph tool to visualize the interactions between developer team based on the reported error and fix error. The graph contains two nodes for development and/or testing team and the second nodes, and the edges to represent who fixed and/or reported the error. ...
Article
Full-text available
This paper presents an approach to visualize communication among developers during development. The proposed approach analyzes and visualizes various types of communication flows between developers. The main focus of this approach is on emails, chat archives, bugs and common files extracted from version histories and public communication archives. A tool is developed to realize the approach, VCSD, (Visualizing Communication between Software Developers). The tool provides three views that present the overall different and useful aspects for collaborations. Project managers can get a comprehensive understanding about collaborations between developers as well as contributions of each developer and how they are involved in the development process. The main components are menu bar, three graphical views and the timeline. First view presents the communication evolution. Second view presents system's evolution and third view presents the modification history.
Conference Paper
Full-text available
http://www.xp2013.org/wp-content/uploads/2013/06/4_xp2013-large-scale-smite_turhan_abstract.pdf In this extended abstract we introduce and briefly discuss key challenges that possess threats to validity of empirical studies conducted within the context of distributed agile software development in the large scale. These challenges are based on our own ...
Article
Full-text available
The guest editors of this special issue of IEEE Software invited submissions that reflected the benefits (and drawbacks) of software analytics, an area of explosive growth. They had so many excellent submissions that they had to split this special issue into two volumes--you'll see even more content in the September/October issue. They divided the articles on conceptual grounds, so both volumes will feature equally excellent work. The Web extra at http://youtu.be/nO6X0azR0nw is a video interview in which IEEE Software editor in chief Forrest Shull speaks with Tim Menzies about the growing importance of software analytics.
Conference Paper
Full-text available
In global software projects, informal communication across sites is severely hampered, making it difficult to disseminate implicit knowledge. Participants have a partial view of the overall organization, do not have access to the complete rationale behind decisions, and when changes arise, participants from other sites are surprised. Consequently, issues that could be clarified almost immediately require days until the relevant stakeholders are identified, the issues are understood, and a resolution is agreed upon. We focus on the specific problem of externalizing issues with their context, stakeholders, and organizational roles in distributed settings. The challenge is to capture sufficient knowledge as a side effect of development, while structuring it for long-term use. We describe Sysiphus, a distributed environment providing a uniform framework for system models, collaboration artifacts, and organizational models. Sysiphus encourages participants to make communication and issues explicit in the context of system models and become aware of relevant stakeholders
Conference Paper
Full-text available
Software development tools primarily focus on supporting the technical work. Yet no matter the tools employed, the process followed, or the size of the team, important aspects of development are non-technical, and largely unsupported. For example, increasing distribution of development teams highlights the issues of coordination and cooperation. This paper focuses on one area: managing change requests. Interviews with industry and open-source programmers were used to create designs for the visual inspection of change requests. This paper presents fieldwork findings and two designs. We conclude by reflecting on the issues that task visualizations that support social inferences address in software development.
Conference Paper
Full-text available
One of the reasons large-scale software development is difficult is the number of dependencies that software engineers face. These dependencies create a need for communication and coordination that requires continuous effort by developers. Empirical studies, including our own, suggest that technical dependencies among software components create social dependencies among the software developers implementing those components. Based on this observation, we developed Ariadne, a plug-in for Eclipse. Ariadne analyzes software projects for dependencies and collects authorship information about projects relying on configuration management repositories. Ariadne can "translate" technical dependencies among components into social dependencies among developers. We have created visualizations to convey dependency information and the presence of coordination problems identified in our previous work. We believe the information conveyed in the visualizations will prove useful for software developers.
Conference Paper
Open-source software development projects are almost always collaborative and distributed. Despite the difficulties imposed by distance, these projects have managed to produce large, complex, and successful systems. However, there is still little known about how open-source teams manage their collaboration. In this paper we look at one aspect of this issue: how distributed developers maintain group awareness. We interviewed developers, read project communication, and looked at project artifacts from three successful open source projects. We found that distributed developers do need to maintain awareness of one another, and that they maintain both a general awareness of the entire team and more detailed knowledge of people that they plan to work with. Although there are several sources of information, this awareness is maintained primarily through text-based communication (mailing lists and chat systems). These textual channels have several characteristics that help to support the maintenance of awareness, as long as developers are committed to reading the lists and to making their project communication public.
Article
This paper reports on results from a long-term field study of globally distributed software development projects within a multinational organization. The research explores the issues involved in performing global software development, utilizing a perspective informed by CSCW research concerning the local organization of work practices and the key role of workers in being able to intervene in the ‘flow of work’ where necessary. The paper also raises some more general questions concerning the field of Global Software Development (GSD), in terms of the concepts and methods being used in the area. Our contribution is in the form of a CSCW-informed empirical study of the use of defect (or ‘bug’) tracking systems—systems which support the identification, classification and resolution of defects in the emerging software. In one case, the team persisted with a defect tracking system that they had used for years and maintained it in parallel with a system used by co-workers in other countries—all the while attempting to implement a bridge between the two. In the other, we report on how local software patches were created to allow for local work to proceed while not interfering with the existing coordination mechanisms between the local site and remote co-workers who were responsible for creating daily builds according to the overall project plan. In both cases, local practices were shaped by the necessity to keep work flowing across the whole project, even if this involved what might, at first sight, seem to go against project-wide practice. We discuss implications of these findings in terms of a key distinction between externally-prescribed ‘workflow’ and internally-managed ‘flow of work’ activities. We also explore how a heterogeneous ‘assembly’ of variably coupled systems may be the most appropriate image for technological support of distributed teams as they keep the work flowing in an orderly fashion. Overall, our work suggests that studies of global software development can profit from the CSCW tradition of workplace studies both conceptually and methodologically.
The awareness network: To whom should I display my action? And, whose actions should I monitor
  • C D Souza
  • D Redmiles
Souza, C. D. and Redmiles, D. The awareness network: To whom should I display my action? And, whose actions should I monitor. In Proceedings of the European Conference on Computer Supported Cooperative Work (ECSCW) (Limerick, Ireland, 2007). Kluwer Academic.