Skip to main content
Log in

Extracting communication structure of a development organization from a software repository

  • Original Article
  • Published:
Personal and Ubiquitous Computing Aims and scope Submit manuscript

Abstract

Researchers have found that communication cost is one of the major overheads affecting the overall cost of software development. Actually, there could be communication problems caused by cultural difference, language barrier, different time zone, and, etc. in geographically distributed software development. Thus, extracting potential communication structural information is very useful in understanding and optimizing the development organization. Analyzing the communication structure is also crucial in order to resolve cost issues. While this is already true for general development organizations, geographically distributed software development organizations are especially sensitive to these issues because they are forced to rely on costly mediums. Therefore, this paper suggests a way to extract the development organization from software repositories with respect to the temporal locality. The temporal locality is important for when the project is prolonged for a lengthy period of time. In order to evaluate these issues, we define two metrics which measure contribution of the individual developer and communication need between developers. We also provide a tool to extract a communication structure using these two metrics. The extracted communication structure is visualized to give insight into managers and developers. Finally, we provide statistical results of empirical research to prove the soundness of our approach. The result shows that our approach reflects the real-world relationship between developers well.

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

Similar content being viewed by others

Notes

  1. https://github.com/elvenwhite/arch-org.

References

  1. Barakova EI, Spink AS, Ruyter B, Noldus LP (2013) Trends in measuring human behavior and interaction. Pers Ubiquit Comput 17(1):1–2

    Article  Google Scholar 

  2. Bowman IT, Holt RC (1998) Software architecture recovery using Conway’s law. In: CASCON ’98: proceedings of the 1998 conference of the centre for advanced studies on collaborative research, IBM Press, p 6

  3. Brooks F (1995) The mythical man-month: essays on software engineering. Addison-Wesley Pub. Co, Reading

    Google Scholar 

  4. Carmel E (1997) Thirteen assertions for globally dispersed software development research. In: Proceedings of the thirtieth Hawaii international conference on system sciences, vol 3, pp 445–452. doi:10.1109/HICSS.1997.661670

  5. Carmel E, Agarwal R (2001) Tactical approaches for alleviating distance in global software development. Softw IEEE 18(2):22–29. doi:10.1109/52.914734

    Article  Google Scholar 

  6. Carstensen PH, Schmidt K (1999) Computer supported cooperative work: new challenges to systems design. In: Itoh K (ed) Handbook of Human Factors, pp 619–636

  7. Cataldo M, Wagstrom PA, Herbsleb JD, Carley KM (2006) Identification of coordination requirements: implications for the design of collaboration and awareness tools, pp 353–362

  8. 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, ACM, New York, pp 2–11

  9. Chau PYK, Tam KY (1997) Factors affecting the adoption of open systems: an exploratory study. MIS Q 21(1):1–24. doi:10.2307/249740

    Article  Google Scholar 

  10. Conway ME (1968) How do committees invent? Datamation URL http://www.melconway.com/research/committees.html

  11. Coplien JO, Harrison NB (2004) Organizational patterns of agile software development. Prentice Hall PTR, Upper Saddle River

    Google Scholar 

  12. CVS (1986) CVS—concurrent versions system. http://cvs.nongnu.org

  13. Ding X, Erickson T, Kellogg WA, Patterson DJ (2012) Informing and performing: investigating how mediated sociality becomes visible. Pers Ubiquit Comput 16(8):1095–1117

    Article  Google Scholar 

  14. DOT (2000) The dot language. URL http://www.graphviz.org/content/dot-language

  15. Fritz T, Murphy GC, Hill E (2007) Does a programmer’s activity indicate knowledge of code? In: Proceedings of the 6th joint meeting of the European software engineering conference and the ACM SIGSOFT symposium on The foundations of software engineering, ESEC-FSE ’07. ACM, New York, pp 341–350. doi:10.1145/1287624.1287673

  16. GIT (2005) Git—fast version system. http://git-scm.com

  17. Glynn E, Fitzgerald B, Exton C (2005) Commercial adoption of open source software: an empirical study. In: Proceedings of the international symposium on empirical software engineering, 2005, p 10. doi:10.1109/ISESE.2005.1541831

  18. Guo B, Zhang D, Sun L, Yu Z, Zhou X (2012) iCROSS: toward a scalable infrastructure for cross-domain context management. Pers Ubiquit Comput 17(3):591–602

    Article  Google Scholar 

  19. Han J, Wu C, Lee B (2009) Extracting development organization from open source software. In: Proceedings of the 2009 Asia-Pacific software engineering conference, pp 441–448

  20. Hattori L, Lanza M (2009) Mining the history of synchronous changes to refine code ownership. In: 6th IEEE international working conference on mining software repositories, 2009. MSR ’09, pp 141–150. doi:10.1109/MSR.2009.5069492

  21. Herbsleb J, Grinter R (1999) Architectures, coordination, and distance: Conway’s law and beyond. Softw IEEE 16(5):63–70. doi:10.1109/52.795103

    Article  Google Scholar 

  22. Herbsleb J, Mockus A (2003a) An empirical study of speed and communication in globally distributed software development. IEEE Trans Softw Eng 29(6):481–494. doi:10.1109/TSE.2003.1205177

    Article  Google Scholar 

  23. Herbsleb J, Moitra D (2001) Global software development. Softw IEEE 18(2):16–20. doi:10.1109/52.914732

    Article  Google Scholar 

  24. Herbsleb JD, Mockus A (2003b) Formulation and preliminary test of an empirical theory of coordination in software engineering. In: Proceedings of the 9th European software engineering conference held jointly with 11th ACM SIGSOFT international symposium on foundations of software engineering, ESEC/FSE-11. ACM, New York, pp 138–137. doi:10.1145/940071.940091

  25. Hvatum L, Kelly A (2005) What do I think about Conway’s Law now? Conclusions of a EuroPLoP 2005 focus group. Technical report, European conference on pattern languages of programs

  26. Ivonin L, Chang HM, Chen W, Rauterberg M (2013) Unconscious emotions: quantifying and logging something we are not aware of. Pers Ubiquit Comput 17(4):663–673

    Article  Google Scholar 

  27. Kamada T, Kawai S (1989) An algorithm for drawing general undirected graphs. Inf Process Lett 31(1):7–15. doi:10.1016/0020-0190(89)90102-6

    Article  MATH  MathSciNet  Google Scholar 

  28. Lavazza L (2007) Beyond total cost of ownership: applying balanced scorecards to open-source software. In: International conference on software engineering advances, 2007 ICSEA 2007, pp 74–74

  29. MacCormack A, Rusnak J (2008) Exploring the duality between product and organizational architectures: a test of the mirroring hypothesis. Harvard Business School Technology & Operations Mgt Unit Research Paper (08-039):08–039

  30. Minto S (2007) Using emergent team structure to focus collaboration. Master’s thesis, The University of British Columbia

  31. Mockus A, Herbsleb JD (2002) Expertise browser: a quantitative approach to identifying expertise. In: Proceedings of the 24th international conference on software engineering, ICSE ’02. ACM, New York, pp 503–512. doi:10.1145/581339.581401

  32. North SC (2004) Drawing graphs with NEATO. NEATO User Manual, p 11

  33. Prasad RV, Jacobsson M, de Groot SH, Lo A, Niemegeers I (2005) Architectures for intra-personal network communication. In: Proceedings of the 3rd ACM international workshop on wireless mobile applications and services on WLAN hotspots. ACM, pp 115–118

  34. Schuler D, Zimmermann T (2008) Mining usage expertise from version archives. In: Proceedings of the 2008 international working conference on mining software repositories, MSR ’08. ACM

  35. Sommerville I (2007) Software engineering. Addison-Wesley, Harlow

    MATH  Google Scholar 

  36. SVN (2000) Apache subversion. URL http://subversion.apache.org

  37. Taylor J (2006) A survival guide for project managers. American Management Association, New York

    Google Scholar 

  38. Zachary W, Hoffman RR, Neville K, Fowlkes J (2007) Human total cost of ownership: the penny foolish principle at work. Intell Syst IEEE 22(2):88–92

    Article  Google Scholar 

  39. Zhou N, Ma Q, Ratakonda K (2009) Quantitative modeling of communication cost for global service delivery. In: IEEE international conference on services computing, 2009. SCC ’09, pp 388–395. doi:10.1109/SCC.2009.79

Download references

Acknowledgments

This research was supported by Basic Science Research Program through the National Research Foundation of Korea(NRF) funded by the Ministry of Science, ICT & Future Planning(NRF-2012R1A1A1043769, No. 2012-007149).

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Woosung Jung.

Rights and permissions

Reprints and permissions

About this article

Cite this article

Han, J., Jung, W. Extracting communication structure of a development organization from a software repository. Pers Ubiquit Comput 18, 1413–1421 (2014). https://doi.org/10.1007/s00779-013-0742-3

Download citation

  • Received:

  • Accepted:

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s00779-013-0742-3

Keywords

Navigation