Skip to main content
Log in

How does developer interaction relate to software quality? an examination of product development data

  • Published:
Empirical Software Engineering Aims and scope Submit manuscript

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.

This is a preview of subscription content, log in via an institution to check access.

Access this article

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Fig. 1
Fig. 2
Fig. 3
Fig. 4
Fig. 5
Fig. 6

Similar content being viewed by others

Notes

  1. https://jazz.net/

  2. https://jazz.net/

  3. https://www.mysql.com/

  4. https://jazz.net/story/about/

References

  • Agerfalk J, Fitzgerald B, In OP (2006) Flexible and distributed software processes: old petunias in new bowls. Commun ACM 49:27–34

    Article  Google Scholar 

  • Akaike H (1974) A new look at the statistical model identification. IEEE Trans Autom Control 19(6):716–723

    Article  MathSciNet  MATH  Google Scholar 

  • Albert R, Barabasi A (2002) Statistical mechanics of complex networks. Rev Mod Phys 74:47. [Online]. Available: arXiv:cond-mat/0106096, Jun. 2001

    Article  MathSciNet  MATH  Google Scholar 

  • 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

    Article  MathSciNet  MATH  Google Scholar 

  • Barron D (1992) The analysis of count data: overdispersion and autocorrelation. Sociol Methodol 22:179–220

    Article  Google Scholar 

  • 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

    Google Scholar 

  • 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

    Google Scholar 

  • Boh WF, Slaughter SA, Espinosa JA (2007) Learning from experience in software development: a multilevel analysis. Manag Sci 53(8):1315–1331

    Article  Google Scholar 

  • Booch G (2008) Tribal memory. IEEE Softw 25(2):16–17

    Article  Google Scholar 

  • Borgatti SP, Foster PC (2003) The network paradigm in organizational research: a review and typology. J Manag 29(6):991–1013

    Google Scholar 

  • 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

    Google Scholar 

  • Brown SL, Eisenhardt KM (1995) Product development: past research, present findings, and future directions. Acad Manag Rev 20(2):343

    Article  Google Scholar 

  • 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

    Google Scholar 

  • Cataldo M, Herbsleb J (2013) Coordination breakdowns and their impact on development productivity and software failures. IEEE Trans Softw Eng 39(3):343–360

    Article  Google Scholar 

  • 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

    Google Scholar 

  • 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

    Article  Google Scholar 

  • 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

    Chapter  Google Scholar 

  • 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

    Google Scholar 

  • 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

    Google Scholar 

  • 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

    Article  Google Scholar 

  • Curtis B, Krasner H, Iscoe N (1988) A field study of the software design process for large systems. Commun ACM 31:1268–1287

    Article  Google Scholar 

  • 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

    Chapter  Google Scholar 

  • 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

    Chapter  Google Scholar 

  • 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

    Google Scholar 

  • 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

    Article  Google Scholar 

  • Faraj S, Sproull L (2000) Coordinating expertise in software development teams. Manag Sci 46(12):1554–1568

    Article  Google Scholar 

  • Feld S (1991) Why your friends have more friends than you do. Am J Soc 96 (6):1464–1477

    Article  Google Scholar 

  • Frost R (2007) Jazz and the eclipse way of collaboration. IEEE, Softw 24 (6):114–117

    Article  Google Scholar 

  • 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

    Article  Google Scholar 

  • 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

    Article  Google Scholar 

  • 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

    Chapter  Google Scholar 

  • Huckman RS, Staats BR, Upton DM (2009) Team familiarity, role experience, and performance: evidence from Indian software services. Manage Sci 55(1):85–100

    Article  Google Scholar 

  • 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

    Book  MATH  Google Scholar 

  • 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

    Article  Google Scholar 

  • Kleinberg J (2000) The Small-World phenomenon: an algorithmic perspective. In: Proceedings of the 32nd ACM Symposium on Theory of Computing, pp 163–170

    Google Scholar 

  • Koru AG, Liu H (2005) Building defect prediction models in practice. IEEE Softw 22(6):23–29

    Article  Google Scholar 

  • 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

    Google Scholar 

  • 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

    Article  Google Scholar 

  • 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

    Article  Google Scholar 

  • 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

    Google Scholar 

  • 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

    Chapter  Google Scholar 

  • Milgram S (1967) The small-world problem. Psychology Today 1:61–67

    Google Scholar 

  • Monge P, Heise B, Margolin D (2008) Communication network evolution in organizational communities. Commun Theory 18:449–477

    Article  Google Scholar 

  • Newman MEJ (2002) Assortative mixing in networks. Phys Rev Lett 208701:89. arXiv:cond-mat/0205405

    Google Scholar 

  • Newman MEJ (2003) Mixing patterns in networks. Phys Rev E 67:026126. arXiv:cond-mat/0209450, Sep. 2002

    Article  MathSciNet  Google Scholar 

  • Newman MEJ (2003) The structure and function of complex networks. SIAM Rev 45:167–256. arXiv:cond-mat/0303516

    Article  MathSciNet  MATH  Google Scholar 

  • 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

    Article  Google Scholar 

  • Olson GM, Olson JS (2000) Distance matters. Hum Comput Interact 15 (2):139–178

    Article  Google Scholar 

  • 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

    Article  Google Scholar 

  • 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

    Article  MATH  Google Scholar 

  • 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

    Article  Google Scholar 

  • Scacchi W (2004) Free and open source development practices in the game community. IEEE Softw 21(1):59–66

    Article  Google Scholar 

  • 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

    Article  Google Scholar 

  • Sosa ME (2008) A structured approach to predicting and managing technical interactions in software development. Res Eng Des 19(1):47–70

    Article  Google Scholar 

  • 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

    Google Scholar 

  • Travers J, Milgram S (1969) An experimental study of the small world problem. Sociometry 32(4):425

    Article  Google Scholar 

  • 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

    Chapter  Google Scholar 

  • Wagstrom P, Herbsleb JD, Carley KM (2010) Communication, team performance, and the individual: Bridging technical dependencies. Acad Manag Proc 2010(1):1–7

    Article  Google Scholar 

  • Watts D (1999) Networks, dynamics, and the Small-World phenomenon. Am J Soc 493(2):527

    Google Scholar 

  • Watts DJ, Strogatz SH (1998) Collective dynamics of /‘small-world/’ networks. Nature 393(6684):440–442

    Article  MATH  Google Scholar 

  • 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

    Article  Google Scholar 

  • 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

    Google Scholar 

  • 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

    Chapter  Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Subhajit Datta.

Additional information

Communicated by: Audris Mockus

Rights and permissions

Reprints and permissions

About this article

Check for updates. Verify currency and authenticity via CrossMark

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

Download citation

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s10664-017-9534-0

Keywords

Navigation