2012 28th IEEE International Conference on Software Maintenance (ICSM) (2012)
Trento, Italy Italy
Sept. 23, 2012 to Sept. 28, 2012
Anja Guzzi , Delft University of Technology, Delft, The Netherlands
Andrew Begel , Microsoft Research Redmond, WA USA
Jessica K. Miller , Microsoft Research Redmond, WA USA
Krishna Nareddy , Microsoft Research Redmond, WA USA
Enterprise software developers must regularly communicate with one another to obtain information and coordinate changes to legacy code, but find it cumbersome and complicated to determine the most relevant and expedient person to contact. This becomes especially difficult when the relevant person has transferred teams or changed their personal contact information since contributing to the project. We conducted a year-long series of surveys and interviews to help us learn how, why, and how often software developers discover and communicate with one another. In response to what we saw, we designed, deployed, and evaluated a domain-specific, IDE-embedded, photo-oriented, communication tool. We overcame a significant challenge found in long-lived projects: uniquely identifying individuals years after their contributions to the project. After deploying our tool, iteratively refining it, and deploying it again on a company-wide scale, most users reported that it simplified the process of finding and reaching out to other developers and offered them a sense of community with their colleagues, even if those colleagues did not currently work on their team. The lessons learned from our study and tool development should apply to other large, multi-team, legacy software projects.
Electronic mail, Interviews, Conferences, Software maintenance, Visualization, USA Councils, coordination, communication, software engineering, longitudinal empirical study
A. Guzzi, A. Begel, J. K. Miller and K. Nareddy, "Facilitating enterprise software developer communication with CARES," 2012 28th IEEE International Conference on Software Maintenance (ICSM), Trento, Italy Italy, 2012, pp. 527-536.