Erik Trainer

Learn More
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(More)
English) Along with the rapid globalization of companies, the globalization of software development has become a reality. Many software projects are now distributed in diverse sites across the globe. The distance between these sites creates several problems that did not exist for previously collocated teams. Problems with the coordination of the activities,(More)
We have developed software tools that aim to support the cooperative software engineering tasks and promote an awareness of social dependencies that is essential to successful coordination. The tools share common characteristics that can be traced back to the principles of the Continuous Coordination (CC) paradigm. However, the development of each sprung(More)
Trust remains a challenge in globally distributed development teams. In order to investigate how trust plays out in this context, we conducted a qualitative study of 5 multi-national IT organizations. We interviewed 58 individuals across 10 countries and made two principal findings. First, study participants described trust in terms of their expectations of(More)
We seek to provide design principles for software tools intended to support the development of trust in distributed teams. As such, we present a "design space" for such tools that consists of three elements: trust factors, collaborative traces, and visual representations. Trust factors are aspects of work shown in the research literature to influence one's(More)
Collaboration tools support global software engineering (GSE) by providing relevant information and work context to developers, essentially seeking to provide a local context for developers working globally. Although many collaborative tools have been developed, we have insufficient knowledge of how they are used in practice. In this paper, we review the(More)
One of the reasons why large-scale software development is difficult is the number of dependencies that software engineers need to face; e.g., dependencies among the software components and among the development tasks. These dependencies create a need for communication and coordination that requires continuous effort by software developers. Empirical(More)
This paper describes Ariadne, a Java tool for the Eclipse IDE, that links technical and social dependencies. Ariadne is based on the observation that technical dependencies among software components create social dependencies among the software developers implementing these components. We describe our approach for creating technical, socio-technical and(More)
Ariadne is a novel visualization tool that allows end users to explore the socio-technical relationships in software development projects. Essentially the visualization is a variant of a social network graph. It is based on the observation that dependencies between software components create dependencies between the developers implementing those components.(More)
We sought to understand the role that Web 2.0 technologies play in supporting the development of trust in globally distributed development teams. We found the use of Web 2.0 technologies to be minimal, with less than 25% of our participants reporting using them and many reporting the disadvantages of adopting them. In response, we sought to understand the(More)