To talk or not to talk: factors that influence communication around changesets

Building tools to help software developers communicate effectively requires a deep understanding of their communication dynamics. To date we do not have good comprehension of why developers talk to each other as a result of some events in the life of their projects, and not of others. This lack of knowledge makes it difficult to design useful communication models and support systems. In this paper, we narrow down the study of communication behaviour to focus on interactions that occur as a result of a particular kind of project event: the submission of a changeset to the project repository. In a case study with the IBM® Rational® Team Concert™ development team we investigate which factors influence developers to request information about a changeset to their product. We identify several such factors, including the development mode in which the team is operating, the background and recent performance of the author of the changeset, and the risk that the changeset poses to the stability of the product. Incorporating these factors into recommender systems may lead to improvements in their performance.

[1]  Yunwen Ye,et al.  Supporting Expertise Communication in Developer-Centered Collaborative Software Development Environments , 2010, Collaborative Software Engineering.

[2]  Li-Te Cheng,et al.  Sometimes you need to see through walls: a field study of application programming interfaces , 2004, CSCW.

[3]  Jonathan J. Cadiz,et al.  Coordination, overload and team performance: effects of team communication strategies , 1998, CSCW '98.

[4]  Daniela Damian,et al.  Does distance still matter , 2008 .

[5]  Bill Curtis,et al.  A field study of the software design process for large systems , 1988, CACM.

[6]  M. E. Conway HOW DO COMMITTEES INVENT , 1967 .

[7]  Pamela J. Hinds,et al.  Structures that work: social structure, work structure and coordination ease in geographically distributed teams , 2006, CSCW '06.

[8]  Robert E. Kraut,et al.  Coordination in software development , 1995, CACM.

[9]  Daniela E. Damian,et al.  Predicting build failures using social network analysis on developer communication , 2009, 2009 IEEE 31st International Conference on Software Engineering.

[10]  Daniela E. Damian,et al.  Chat to succeed , 2008, RSSE '08.

[11]  James D. Herbsleb,et al.  Identification of coordination requirements: implications for the Design of collaboration and awareness tools , 2006, CSCW '06.

[12]  Robert DeLine,et al.  Information Needs in Collocated Software Development Teams , 2007, 29th International Conference on Software Engineering (ICSE'07).

[13]  Emerson R. Murphy-Hill,et al.  What is trust in a recommender for software development? , 2010, RSSE '10.

[14]  Li-Te Cheng,et al.  How a good software practice thwarts collaboration: the multiple roles of APIs in software development , 2004, SIGSOFT '04/FSE-12.

[15]  Randall Frost,et al.  Jazz and the Eclipse Way of Collaboration , 2007, IEEE Software.

[16]  Audris Mockus,et al.  An empirical study of global software development: distance and speed , 2001, Proceedings of the 23rd International Conference on Software Engineering. ICSE 2001.

[17]  Mary E. Helander,et al.  Ensemble: a recommendation tool for promoting communication in software teams , 2008, RSSE '08.

[18]  Andrew Begel,et al.  Struggles of new college graduates in their first software development job , 2008, SIGCSE '08.

[19]  Andrew Begel,et al.  Codebook: discovering and exploiting relationships in software repositories , 2010, 2010 ACM/IEEE 32nd International Conference on Software Engineering.

[20]  David F. Redmiles,et al.  The Awareness Network, To Whom Should I Display My Actions? And, Whose Actions Should I Monitor? , 2011, IEEE Transactions on Software Engineering.

[21]  Gina Venolia,et al.  The secret life of bugs: Going past the errors and omissions in software repositories , 2009, 2009 IEEE 31st International Conference on Software Engineering.

[22]  James D. Herbsleb,et al.  Socio-technical congruence: a framework for assessing the impact of technical and work dependencies on software development productivity , 2008, ESEM '08.

[23]  Wayne G. Lutters,et al.  Revealing actual documentation usage in software maintenance through war stories , 2007, Inf. Softw. Technol..