Abstract
Industrial software systems are being increasingly developed by large and distributed teams. Tools like collaborative development environments (CDE) are used to facilitate interaction between members of such teams, with the expectation that social factors around the interaction would facilitate team functioning. In this paper, we first identify typically social characteristics of interaction in a software development team: reachability, connection, association, and clustering. We then examine how these factors relate to the quality of software produced by a team, in terms of the number of defects, through an empirical study of 70+ teams, involving 900+ developers in total, spread across 30+ locations and 19 time-zones, working on 40,000+ units of work in the multi-version development of a major industrial product, spreading across more than five years. After controlling for known factors affecting large scale distributed development such as dependency, system age, developer expertise and experience, geographic dispersion, socio-technical congruence, and the number of files changed, we find statistically significant effects of connection and clustering on software quality. Higher levels of intra-team connection are found to relate to higher defect count, whereas more clustering relates to fewer defects. We examine the implications of these results for individual developers, project managers, and organizations.
Similar content being viewed by others
References
Agerfalk J, Fitzgerald B, In OP (2006) Flexible and distributed software processes: old petunias in new bowls. Commun ACM 49:27–34
Akaike H (1974) A new look at the statistical model identification. IEEE Trans Autom Control 19(6):716–723
Albert R, Barabasi A (2002) Statistical mechanics of complex networks. Rev Mod Phys 74:47. [Online]. Available: arXiv:cond-mat/0106096, Jun. 2001
Barabasi AL, Jeong H, Neda Z, Ravasz E, Schubert A, Vicsek T (2002) Evolution of the social network of scientific collaborations. Physica A 311(3-4):590–614. [Online]. Available: arXiv:cond-mat/0104162, Apr. 2001
Barron D (1992) The analysis of count data: overdispersion and autocorrelation. Sociol Methodol 22:179–220
Bird C, Nagappan N, Devanbu P, Gall H, Murphy B (2009) Does distributed development affect software quality? an empirical case study of windows vista. In: Proceedings of the 31st international conference on software engineering, ser. ICSE ’09. IEEE, Computer Society, Washington, DC, pp 518–528
Bird C, Nagappan N, Devanbu P, Gall H, Murphy B (2009) Putting it All together: using socio-technical networks to predict failures. In: Proceedings of the 17th international symposium on software reliability engineering IEEE computer society
Boh WF, Slaughter SA, Espinosa JA (2007) Learning from experience in software development: a multilevel analysis. Manag Sci 53(8):1315–1331
Booch G (2008) Tribal memory. IEEE Softw 25(2):16–17
Borgatti SP, Foster PC (2003) The network paradigm in organizational research: a review and typology. J Manag 29(6):991–1013
Brooks FP (1995) The mythical man-month: essays on software engineering, 20th anniversary edition. Addison-Wesley
Brooks FP (2010) The design of design: essays from a computer scientist. Addison-Wesley, Upper Saddle River, NJ
Brown SL, Eisenhardt KM (1995) Product development: past research, present findings, and future directions. Acad Manag Rev 20(2):343
Cataldo M (2010) Sources of errors in distributed development projects: implications for collaborative tools. In: Proceedings of the 2010 ACM conference on Computer supported cooperative work, ser. CSCW ’10. ACM, New York, pp 281–290
Cataldo M, Herbsleb J (2013) Coordination breakdowns and their impact on development productivity and software failures. IEEE Trans Softw Eng 39(3):343–360
Cataldo M, Herbsleb JD, Carley KM (2008) Socio-technical congruence: a framework for assessing the impact of technical and work dependencies on software development productivity. In: Proceedings of the Second ACM-IEEE international symposium on empirical software engineering and measurement, ser. ESEM ’08. ACM, New York, pp 2–11
Cataldo M, Mockus A, Roberts JA, Herbsleb JD (2009) Software dependencies, work dependencies, and their impact on failures. IEEE Trans Softw Eng 35(6):864–878
Cataldo M, Nambiar S (2009) Quality in global software development projects: a closer look at the role of distribution. In: Fourth IEEE international conference on global software engineering, 2009. ICGSE 2009, pp 163–172
Cataldo M, Wagstrom PA, Herbsleb JD, Carley KM (2006) dentification of coordination requirements: implications for the design of collaboration and awareness tools. In: Proceedings of the 2006 20th anniversary conference on computer supported cooperative work, ser. CSCW ’06. ACM, New York, pp 353– 362
Coleman J (1990) Foundations of social theory. Harvard University Press
Colfer L, Baldwin CY (2010) The mirroring hypothesis: theory, evidence and exceptions, social science research network, Rochester, NY SSRN Scholarly Paper ID 1539592
Contractor NS, Monge P, Leonardi P (2011) Multidimensional networks and the dynamics of sociomateriality: bringing technology inside the network. Int J Commun 5:682720
Conway M (1968) How do committees invent?. Datamation J, pp 28–31
Cringely RX (1996) Accidental empires: how the boys of silicon valley make their millions, battle foreign competition, and still can’t get a date. Collins
Crowston K, Osborn CS (1998) A Coordination theory approach to process description and redesign
Crowston K, Scozzi B (2002) Open source software projects as virtual organisations: competency rallying for software development. Softw IEE Proc 149(1):3–17
Curtis B, Krasner H, Iscoe N (1988) A field study of the software design process for large systems. Commun ACM 31:1268–1287
Datta JP (1998) Iso 9000: A roadmap for design, installation and implementation of quality management systems. Manuscript
Datta S, Sindhgatta R, Sengupta B (2012) Talk versus work: characteristics of developer collaboration on the jazz platform. In: Proceedings of the ACM international conference on object oriented programming systems languages and applications, ser. OOPSLA ’12. ACM, New York, pp 655–668
de Souza CRB, Redmiles DF (2008) An empirical study of software developers’ management of dependencies and changes. In: Proceedings of the 30th international conference on software engineering, ser. ICSE ’08. ACM, New York, pp 241–250
DeMarco T, Lister T (1987) Peopleware: Productive projects and teams. Dorset House Pub Co
Dorogovtsev SN, Goltsev AV, Mendes JFF (2002) Pseudofractal scale-free web. Phys Rev E, 65
Ehrlich K, Cataldo M (2012) All-for-one and one-for-all?: a multi-level analysis of communication patterns and individual performance in geographically distributed software development. In: Proceedings of the ACM 2012 conference on Computer Supported Cooperative Work, ser. CSCW ’12. ACM, New York, pp 945–954
Espinosa JA, Slaughter SA, Kraut RE, Herbsleb JD (2007) Familiarity, complexity, and team performance in geographically distributed software development. Organ Sci 18(4):613–630
Faraj S, Sproull L (2000) Coordinating expertise in software development teams. Manag Sci 46(12):1554–1568
Feld S (1991) Why your friends have more friends than you do. Am J Soc 96 (6):1464–1477
Frost R (2007) Jazz and the eclipse way of collaboration. IEEE, Softw 24 (6):114–117
Grewal R, Lilien GL, Mallapragada G (2006) Location, location, location: how network embeddedness affects project success in open source systems. Manage Sci 52(7):1043–1056
Herbsleb J, Mockus A (2003) An empirical study of speed and communication in globally distributed software development. IEEE Trans Softw Eng 29(6):481–494
Herzig K, Zeller A (2009) Mining the jazz repository: challenges and opportunities. In: 6th IEEE International Working Conference on Mining Software Repositories, 2009. MSR ’09, pp 159–162
Huckman RS, Staats BR, Upton DM (2009) Team familiarity, role experience, and performance: evidence from Indian software services. Manage Sci 55(1):85–100
Humphrey WS (1999) Introduction to the team software process. SEI series in software engineering
Jackson MO (2010) Social and economic networks. Princeton University Press, Princeton
Kilduff M, Tsai W, Hanke R (2006) A paradigm too far? a dynamic stability reconsideration of the social network research program. Acad Manag Rev 31 (4):1031–1048
Kleinberg J (2000) The Small-World phenomenon: an algorithmic perspective. In: Proceedings of the 32nd ACM Symposium on Theory of Computing, pp 163–170
Koru AG, Liu H (2005) Building defect prediction models in practice. IEEE Softw 22(6):23–29
Krackhardt D, Brass DJ (1992) Intraorganizational networks: the micro side. In: advances in social network analysis: research in the social and behavioral sciences. SAGE Publications, Inc., Thousand Oaks , pp 207–229
Kwan I, Schroter A, Damian D (2011) Does socio-technical congruence have an effect on software build success? a study of coordination in a software project. IEEE Trans Softw Eng 37(3):307–324
McDonough III EF, Kahn KB, Barczak G (2001) An investigation of the use of global, virtual, and colocated new product development teams. J Prod Innov Manag 18(2):110–120
Meneely A, Rotella P, Williams L (2011) Does adding manpower also affect quality?: an empirical, longitudinal analysis. In: Proceedings of the 19th ACM SIGSOFT symposium and the 13th European conference on Foundations of software engineering, ser. ESEC/FSE ’11. ACM, New York, pp 81–90
Meneely A, Williams L (2011) Socio-technical developer networks: should we trust our measurements?. In: Proceedings of the 33rd International Conference on Software Engineering, ser. ICSE ’11. ACM, New York, pp 281–290
Milgram S (1967) The small-world problem. Psychology Today 1:61–67
Monge P, Heise B, Margolin D (2008) Communication network evolution in organizational communities. Commun Theory 18:449–477
Newman MEJ (2002) Assortative mixing in networks. Phys Rev Lett 208701:89. arXiv:cond-mat/0205405
Newman MEJ (2003) Mixing patterns in networks. Phys Rev E 67:026126. arXiv:cond-mat/0209450, Sep. 2002
Newman MEJ (2003) The structure and function of complex networks. SIAM Rev 45:167–256. arXiv:cond-mat/0303516
Newman MEJ, Park J (2003) Why social networks are different from other types of networks. Phys Rev E 68:036122. [Online]. Available: arXiv:cond-mat/0305612
Olson GM, Olson JS (2000) Distance matters. Hum Comput Interact 15 (2):139–178
Olson GM, Olson JS (2002) Mitigating the effects of distance on collaborative intellectual work. Econ Innov New Technol, pp 27–42
Perlow L, Weeks J (2002) Who’s helping whom: A comparison of helping behavior among american and Indian software engineers. J Organ Behav 23(4):345361
Ravasz E, Barabási A-L (2003) Hierarchical organization in complex networks. Phys Rev E 67:026112. [Online]. Available. doi:10.1103/PhysRevE.67.026112
Raymond ES (2001) The cathedral and the bazaar: musings on linux and open source by an accidental revolutionary. O’Reilly
Sawyer S, Guinan PJ, Cooprider J (2010) Social interactions of information systems development teams: a performance perspective. Inf Syst J 20(1):81–107
Scacchi W (2004) Free and open source development practices in the game community. IEEE Softw 21(1):59–66
Smite D, Wohlin C, Gorschek T, Feldt R (2010) Empirical evidence in global software engineering: a systematic review. Empir Softw Eng 15(1):91–118
Sosa ME (2008) A structured approach to predicting and managing technical interactions in software development. Res Eng Des 19(1):47–70
Stroustrup B (2007) The problem with programming. http://www.technologyreview.com/InfoTech/17987/?a=f. Last accessed: December 12, 2013
Tabachnick B, Fidell L (2007) Using multivariate statistics. Pearson Education, Boston
Travers J, Milgram S (1969) An experimental study of the small world problem. Sociometry 32(4):425
Wagstrom P, Datta S (2014) Does latitude hurt while longitude kills? geographical and temporal separation in a large scale software development project. In: Proceedings of the 36th International Conference on Software Engineering, ser. ICSE 2014. ACM, New York, pp 199–210. [Online]. Available. doi:10.1145/2568225.2568279
Wagstrom P, Herbsleb JD, Carley KM (2010) Communication, team performance, and the individual: Bridging technical dependencies. Acad Manag Proc 2010(1):1–7
Watts D (1999) Networks, dynamics, and the Small-World phenomenon. Am J Soc 493(2):527
Watts DJ, Strogatz SH (1998) Collective dynamics of /‘small-world/’ networks. Nature 393(6684):440–442
Weinberg GM (1971) The psychology of computer programming. Van Nostrand Reinhold
Wolf T, Nguyen T, Damian D (2008) Does distance still matter? Softw Process 13(6):493–510
Wolf T, Schroter A, Damian D, Nguyen T (2009) Predicting build failures using social network analysis on developer communication. In: Proceedings of the 31st International Conference on Software Engineering, ser. ICSE ’09. IEEE Computer Society, Washington, DC, pp 1–11
Zimmermann T, Nagappan N (2009) Predicting defects with program dependencies. In: 3rd International Symposium on Empirical Software Engineering and Measurement, 2009. ESEM 2009, pp 435–438
Author information
Authors and Affiliations
Corresponding author
Additional information
Communicated by: Audris Mockus
Rights and permissions
About this article
Cite this article
Datta, S. How does developer interaction relate to software quality? an examination of product development data. Empir Software Eng 23, 1153–1187 (2018). https://doi.org/10.1007/s10664-017-9534-0
Published:
Issue Date:
DOI: https://doi.org/10.1007/s10664-017-9534-0