Skip to main content

Coordination Technologies

  • Chapter
  • First Online:
Handbook of Software Engineering
  • 3434 Accesses

Abstract

Coordination technologies improve the ability of individuals and groups to coordinate their efforts in the context of the broader, overall goal of completing one or more software development projects. Different coordination technologies have emerged over time with the objective of reducing both the number of occurrences of coordination problems as well as the impact of any occurrences that remain. This chapter introduces the Coordination Pyramid, a framework that provides an overarching perspective on the state of the art in coordination technology. The Coordination Pyramid explicitly recognizes several paradigm shifts that have taken place to date, as prompted by technological advancements and changes in organizational and product structure. These paradigm shifts have strongly driven the development of new generations of coordination technology, each enabling new forms of coordination practices to emerge and bringing with it increasingly effective tools through which developers coordinate their day-to-day activities.

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

Access this chapter

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD 169.00
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
Hardcover Book
USD 219.99
Price excludes VAT (USA)
  • Durable hardcover edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. Acharya, M.P., Parnin, C., Kraft, N.A., Dagnino, A., Qu, X.: Code drones. In: 2016 IEEE/ACM 38th International Conference on Software Engineering Companion (ICSE-C), pp. 785–788 (2016)

    Google Scholar 

  2. Allen, L., Fernandez, G., Kane, K., Leblang, D., Minard, D., Posner, J.: Clearcase multisite: supporting geographically-distributed software development. In: International Workshop on Software Configuration Management: ICSE SCM-4 and SCM-5 Workshops Selected Papers, pp. 194–214 (1995)

    Google Scholar 

  3. Amann, S., Proksch, S., Nadi, S.: Feedbag: an interaction tracker for visual studio. In: 2016 IEEE 24th International Conference on Program Comprehension (ICPC), pp. 1–3 (2016)

    Google Scholar 

  4. Amazon Web Services, Inc: AWS Cloud9 (2017). https://c9.io

  5. Atlassian Pty Ltd: Atlassian BitBucket (2017). https://bitbucket.org/product

  6. Atlassian Pty Ltd: Atlassian Jira (2017). https://www.atlassian.com/software/jira

  7. Basecamp, LLC: Basecamp (2017). http://basecamp.com

  8. Berliner, B.: CVS II: parallelizing software development. In: USENIX Winter 1990 Technical Conference, pp. 341–352 (1990)

    Google Scholar 

  9. Biegel, B., Beck, F., Lesch, B., Diehl, S.: Code tagging as a social game. In: 2014 IEEE International Conference on Software Maintenance and Evolution, pp. 411–415 (2014)

    Google Scholar 

  10. Biehl, J.T., Czerwinski, M., Smith, G., Robertson, G.G.: FASTDash: a visual dashboard for fostering awareness in software teams. In: Proceedings of the SIGCHI Conference on Human Factors in Computing Systems, CHI ’07, pp. 1313–1322. ACM, New York (2007)

    Google Scholar 

  11. Bird, C., Nagappan, N., Devanbu, P., Gall, H., Murphy, B.: Does distributed development affect software quality? An empirical case study of Windows Vista. In: 2009 IEEE 31st International Conference on Software Engineering, pp. 518–528 (2009)

    Google Scholar 

  12. Bradley, N., Fritz, T., Holmes, R.: Context-aware conversational developer assistants. In: Proceedings of the 40th International Conference on Software Engineering (ICSE ’18), pp. 993–1003. ACM, New York (2018)

    Google Scholar 

  13. Bragdon, A., Zeleznik, R., Reiss, S.P., Karumuri, S., Cheung, W., Kaplan, J., Coleman, C., Adeputra, F., LaViola, J.J. Jr.: Code bubbles: a working set-based interface for code understanding and maintenance. In: Proceedings of the SIGCHI Conference on Human Factors in Computing Systems, pp. 2503–2512. ACM, New York (2010)

    Google Scholar 

  14. Brooks, F.P. Jr.: The Mythical Man-Month: Essays on Software Engineering, Anniversary Edition, 2/E. Pearson Education India, New Delhi (1995)

    Google Scholar 

  15. Brun, Y., Holmes, R., Ernst, M.D., Notkin, D.: Proactive detection of collaboration conflicts. In: Proceedings of the 19th ACM SIGSOFT Symposium and the 13th European Conference on Foundations of Software Engineering, pp. 168–178. ACM, New York (2011)

    Google Scholar 

  16. Bugzilla community: Bugzilla (2017). https://www.bugzilla.org

  17. Calefato, F., Lanubile, F.: SocialCDE: a social awareness tool for global software teams. In: Proceedings of the 2013 9th Joint Meeting on Foundations of Software Engineering, ESEC/FSE 2013, pp. 587–590. ACM, New York (2013)

    Google Scholar 

  18. Carmel, E.: Global Software Teams: Collaborating Across Borders and Time Zones. Prentice Hall PTR, Upper Saddle River (1999)

    Google Scholar 

  19. Cataldo, M., Mockus, A., Roberts, J., Herbsleb, J.: Software dependencies, work dependencies and their impact on failures. IEEE Trans. Softw. Eng. 35, 737–741 (2009)

    Article  Google Scholar 

  20. Cheng, L.T., De Souza, C.R.B., Hupfer, S., Ross, S., Patterson, J.: Building collaboration into IDEs. edit - compile - run - debug - collaborate? ACM Queue 1, 40–50 (2003)

    Article  Google Scholar 

  21. CollabNet, Inc: CollabNet TeamForge (2017). https://www.collab.net/products/teamforge-alm

  22. Costa, J.M., Cataldo, M., de Souza, C.R.: The scale and evolution of coordination needs in large-scale distributed projects: implications for the future generation of collaborative tools. In: Proceedings of the SIGCHI Conference on Human Factors in Computing Systems, CHI ’11, pp 3151–3160. ACM, New York (2011)

    Google Scholar 

  23. Costa, C., Figueiredo, J., Murta, L., Sarma, A.: TIPMerge: recommending experts for integrating changes across branches. In: Proceedings of the 2016 24th ACM SIGSOFT International Symposium on Foundations of Software Engineering, FSE 2016, pp. 523–534. ACM, New York (2016)

    Google Scholar 

  24. Cubranic, D., Murphy, G.C., Singer, J., Booth, K.S.: Hipikat: a project memory for software development. IEEE Trans. Softw. Eng. 31(6), 446–465 (2005)

    Article  Google Scholar 

  25. da Silva, J.R., Clua, E., Murta, L., Sarma, A.: Multi-perspective exploratory analysis of software development data. Int. J. Softw. Eng. Knowl. Eng. 25(1), 51–68 (2015)

    Article  Google Scholar 

  26. de Souza, C.R.B., Redmiles, D.: An empirical study of software developers’ management of dependencies and changes. In: Thirteeth International Conference on Software Engineering, Leipzig, pp. 241–250 (2008)

    Google Scholar 

  27. de Souza, C.R.B., Redmiles, D.F.: The awareness network, to whom should i display my actions? and, whose actions should i monitor? IEEE Trans. Softw. Eng. 37(3), 325–340 (2011)

    Google Scholar 

  28. Defense Advanced Research Projects Agency: ARPANET (2017). https://www.darpa.mil/about-us/timeline/arpanet

  29. DeLine, R., Czerwinski, M., Robertson, G.: Easing program comprehension by sharing navigation data. In: 2005 IEEE Symposium on Visual Languages and Human-Centric Computing (VL/HCC’05), pp. 241–248 (2005)

    Google Scholar 

  30. Dewan, P., Hegde, R.: Semi-synchronous conflict detection and resolution in asynchronous software development. In: ECSCW 2007, pp. 159–178. Springer, London (2007)

    Google Scholar 

  31. Dewan, P., Riedl, J.: Toward computer-supported concurrent software engineering. IEEE Comput. 26, 17–27 (1993)

    Article  Google Scholar 

  32. Eick, S.G., Steffen, J.L., Sumner, E.E. Jr.: Seesoft-a tool for visualizing line oriented software statistics. IEEE Trans. Softw. Eng. 18(11), 957–968 (1992)

    Article  Google Scholar 

  33. Ellis, C., Wainer, J.: A conceptual model of groupware. In: Proceedings of the 1994 ACM Conference on Computer Supported Cooperative Work, CSCW ’94, pp. 79–88. ACM, New York (1994)

    Google Scholar 

  34. Estublier, J.: The adele configuration manager. In: Configuration Management, pp. 99–133. Wiley, New York (1995)

    Google Scholar 

  35. Estublier, J., Leblang, D., van der Hoek, A., Conradi, R., Clemm, G., Tichy, W.F., Weber, D.: Impact of software engineering research on the practice of software configuration management. ACM Trans. Softw. Eng. Methodol. 14, 1–48 (2005)

    Article  Google Scholar 

  36. Fitzpatrick, G., Kaplan, S., Mansfield, T., Arnold, D., Segall, B.: Supporting public availability and accessibility with Elvin: experiences and reflections. In: ACM Conference on Computer Supported Cooperative Work, vol. 11, pp. 447–474 (2002)

    Google Scholar 

  37. Fogarty, J., Ko, A.J., Aung, H.H., Golden, E., Tang, K.P., Hudson, S.E.: Examining task engagement in sensor-based statistical models of human interruptibility. In: Proceedings of CHI 2005, pp. 331–340 (2005)

    Google Scholar 

  38. Fritz, T., Murphy, G.C.: Using information fragments to answer the questions developers ask. In: Proceedings of the International Conference on Software Engineering (ICSE), pp. 175–184 (2010)

    Google Scholar 

  39. Froehlich, J., Dourish, P.: Unifying artifacts and activities in a visual tool for distributed software development teams. In: Proceedings of the 26th International Conference on Software Engineering, ICSE ’04, pp. 387–396. IEEE Computer Society, Washington (2004)

    Google Scholar 

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

    Article  Google Scholar 

  41. Git Project: Git (2017). https://www.git-scm.org

  42. GitHub, Inc: GitHub (2017). https://github.com/

  43. Goldmann, S., Münch, J., Holz, H.: MILOS: a model of interleaved planning, scheduling, and enactment. In: Web-Proceedings of the 2nd Workshop on Software Engineering Over the Internet, Los Angeles (1999)

    Google Scholar 

  44. Google LLC: GMail (2017). https://www.google.com/gmail/about/

  45. Google LLC: Google Hangouts (2017). https://hangouts.google.com

  46. Grudin, J.: Computer-supported cooperative work: history and focus. Computer 27(5), 19–26 (1994)

    Article  Google Scholar 

  47. Hattori, L., Lanza, M.: Syde: a tool for collaborative software development. In: Proceedings of the 32Nd ACM/IEEE International Conference on Software Engineering - Volume 2, ICSE ’10, pp. 235–238. ACM, New York (2010)

    Google Scholar 

  48. Herbsleb, J., Mockus, A.: An empirical study of speed and communication in globally-distributed software development. IEEE Trans. Softw. Eng. 29, 1–14 (2003)

    Article  Google Scholar 

  49. International Business Machines Corporation: IBM Small Blue (2017). http://systemg.research.ibm.com/solution-smallblue.html

  50. Iqbal, S.T., Bailey, B.P.: Investigating the effectiveness of mental workload as a predictor of opportune moments for interruption. In: CHI’05 Extended Abstracts on Human Factors in Computing Systems, pp. 1489–1492. ACM, New York (2005)

    Google Scholar 

  51. Johnson, P., Zhang, S.: We need more coverage, stat! classroom experience with the software ICU. In: 2009 3rd International Symposium on Empirical Software Engineering and Measurement, pp. 168–178 (2009)

    Google Scholar 

  52. Johnson-Laird, P.N.: Mental Models: Towards a Cognitive Science of Language, Inference, and Consciousness. Harvard University Press, Cambridge (1983)

    Google Scholar 

  53. Jones, J.A., Harrold, M.J., Stasko, J.: Visualization of test information to assist fault localization. In: Proceedings of the 24th International Conference on Software Engineering, ICSE ’02, pp. 467–477. ACM, New York (2002)

    Google Scholar 

  54. Kersten, M., Murphy, G.C.: Using task context to improve programmer productivity. In: Proceedings of the 14th ACM SIGSOFT International Symposium on Foundations of Software Engineering, SIGSOFT ’06/FSE-14, pp. 1–11. ACM, New York (2006)

    Google Scholar 

  55. Kittur, A., Smus, B., Khamkar, S., Kraut, R.E.: CrowdForge: crowdsourcing complex work. In: Proceedings of the 24th Annual ACM Symposium on User Interface Software and Technology, UIST ’11. pp. 43–52. ACM, New York (2011)

    Google Scholar 

  56. Lanza, M.: The evolution matrix: recovering software evolution using software visualization techniques. In: Proceedings of the 4th International Workshop on Principles of Software Evolution, IWPSE’01, pp. 37–42. ACM, New York (2001)

    Google Scholar 

  57. LaToza, T.D., Towne, W.B., Adriano, C.M., Van Der Hoek, A.: Microtask programming: building software with a crowd. In: Proceedings of the 27th Annual ACM Symposium on User Interface Software and Technology, pp. 43–54. ACM, New York (2014)

    Google Scholar 

  58. Lebeuf, C., Storey, M.A., Zagalsky, A.: How software developers mitigate collaboration friction with chatbots (2017). arXiv:170207011 [cs]

    Google Scholar 

  59. Leblang, D., McLean, G.: Configuration management for large-scale software development efforts. In: Proceedings of Workshop Software Engingeering Environments for Programming-in-the-Large, pp. 122–127 (1985)

    Google Scholar 

  60. Malone, T.W., Crowston, K.: The interdisciplinary study of coordination. ACM Comput. Surv. 26(1), 87–119 (1994)

    Article  Google Scholar 

  61. McCarthy, D., Sarin, S.: Workflow and transactions in inconcert. IEEE Data Eng. 16, 53–56 (1993)

    Google Scholar 

  62. McGuffin, L., Olson, G.: ShrEdit: a shared electronic workspace. Tech. Rep., Cognitive Science and Machine Intelligence Laboratory, Tech report #45, University of Michigan, Ann Arbor (1992)

    Google Scholar 

  63. Mens, T.: A state-of-the-art survey on software merging. IEEE Trans. Softw. Eng. 28, 449–462 (2002)

    Article  Google Scholar 

  64. Mercurial Community: Mercurial (2017). https://www.mercurial-scm.org

  65. Microsoft Corporation: Microsoft Exchange (2017). https://products.office.com/en-us/exchange/email

  66. Microsoft Corporation: Microsoft Project (2017). https://products.office.com/en-us/project/project-and-portfolio-management-software

  67. Minto, S., Murphy, G.C.: Recommending emergent teams. In: Proceedings of the Fourth International Workshop on Mining Software Repositories, MSR ’07, 5 pp. IEEE Computer Society, Washington (2007)

    Google Scholar 

  68. Mockus, A., Herbsleb, J.: Expertise browser: a quantitative approach to identifying expertise. In: International Conference on Software Engineering, Orlando, pp. 503–512 (2002)

    Google Scholar 

  69. Mockus, A., Fielding, R.T., Herbsleb, J.D.: Two case studies of open source software development: apache and mozilla. ACM Trans. Softw. Eng. Methodol. 11(3), 309–346 (2002)

    Article  Google Scholar 

  70. Mohan, C.: State of the art in workflow management research and products. In: Proceedings of the 1996 ACM SIGMOD International Conference on Management of Data, SIGMOD’96, 544 pp. ACM, New York (1996)

    Article  Google Scholar 

  71. Narayan, S., Cheshire, C.: Not too long to read: the tldr interface for exploring and navigating large-scale discussion spaces. In: 2010 43rd Hawaii International Conference on System Sciences, pp. 1–10 (2010)

    Google Scholar 

  72. North, K.J., Bolan, S., Sarma, A., Cohen, M.B.: Gitsonifier: using sound to portray developer conflict history. In: Proceedings of the 2015 10th Joint Meeting on Foundations of Software Engineering, ESEC/FSE 2015, pp. 886–889. ACM, New York (2015)

    Google Scholar 

  73. Nutt, G.: The Evolution towards flexible workflow systems. Distrib. Syst Eng. 3(4), 276–294 (1996)

    Article  MathSciNet  Google Scholar 

  74. Ogawa, M., Ma, K.L.: Code_swarm: a design study in organic software visualization. IEEE Trans. Vis. Comput. Graph. 15(6), 1097–1104 (2009)

    Article  Google Scholar 

  75. Oikarinen, J., Reed, D.: Internet relay chat protocol. RFC 1459, Internet Engineering Task Force (1993). https://tools.ietf.org/html/rfc1459

  76. Olson, J.S., Olson, G.M.: Working together apart: collaboration over the internet. Synth. Lect. Human-Centered Inform. 6(5), 1–151 (2013)

    Article  Google Scholar 

  77. Oracle Corporation: Hudson CI (2017). http://hudson-ci.org

  78. Perry, D.E., Siy, H.P., Votta, L.G.: Parallel changes in large-scale software development: an observational case study. ACM Trans. Softw. Eng. Methodol. 10(3), 308–337 (2001)

    Article  Google Scholar 

  79. Plutora, Inc: Plutora (2017). http://www.plutora.com

  80. Rochkind, M.J.: The source code control system. IEEE Trans. Softw. Eng. SE-1(4), 364–370 (1975)

    Article  Google Scholar 

  81. Sarma, A., Maccherone, L., Wagstrom, P., Herbsleb, J.: Tesseract: interactive visual exploration of socio-technical relationships in software development. In: 31st International Conference on Software Engineering, pp. 23–33. IEEE Computer Society, Washington (2009)

    Google Scholar 

  82. Sarma, A., Al-Ani, B., Trainer, E.H., Silva Filho, R.S., da Silva, I.A., Redmiles, D.F., van der Hoek, A.: Continuous coordination tools and their evaluation. In: Collaborative Software Engineering, pp. 153–178. Springer, Berlin (2010). https://link.springer.com/chapter/10.1007%2F978-3-642-10294-3_8

    Chapter  Google Scholar 

  83. Sarma, A., Redmiles, D.F., van der Hoek, A.: Categorizing the spectrum of coordination technology. IEEE Comput. 43(6), 61–67 (2010)

    Article  Google Scholar 

  84. Sarma, A., Redmiles, D.F., van der Hoek, A.: Palantír: early detection of development conflicts arising from parallel code changes. IEEE Trans. Softw. Eng. 38(4), 889–908 (2012)

    Article  Google Scholar 

  85. Sarma, A., Chen, X., Kuttal, S., Dabbish, L., Wang, Z.: Hiring in the global stage: profiles of online contributions. In: 2016 IEEE 11th International Conference on Global Software Engineering (ICGSE), pp. 1–10 (2016)

    Google Scholar 

  86. Slack Technologies, Inc: Slack (2017). http://slack.com

  87. Software in the Public Interest, Inc: Jenkins (2017). https://jenkins.io/

  88. Stack Exchange Inc: StackOverflow (2018). https://stackoverflow.com

  89. Storey, M.A., Cubranic, D., German, D.: On the use of visualization to support awareness of human activities in software development: a survey and a framework. In: ACM Symposium on Software Visualization, St. Louis, pp. 193–202 (2005)

    Google Scholar 

  90. Tate, A., Wade, K.: Simplifying development through activity-based change management. Tech. rep., IBM Software Group

    Google Scholar 

  91. The Apache Software Foundation: Apache Subversion (2017). https://subversion.apache.org/

  92. Thompson, K., Richie, D.M.: UNIX Programmer’s Manual. Bell Telephone Laboratories, Incorporate, New Jersey (1971)

    Google Scholar 

  93. Tichy, W.F.: RCS — system for version control. Softw. Pract. Exp. 15(7), 637–654 (1985)

    Article  Google Scholar 

  94. Trainer, E., Quirk, S., de Souza, C.R.B., Redmiles, D.F.: Bridging the gap between technical and social dependencies with ariadne. In: OOPSLA Workshop on Eclipse Technology eXchange, San Diego, pp. 26–30 (2005)

    Google Scholar 

  95. Trello, Inc: Trello (2017). https://trello.com

  96. Wettel, R., Lanza, M.: CodeCity: 3D visualization of large-scale software. In: Companion of the 30th International Conference on Software Engineering, pp. 921–922. ACM, Leipzig (2008)

    Google Scholar 

  97. Ye, Y., Yamamoto, Y., Nakakoji, K.: A socio-technical framework for supporting programmers. In: Proceedings of the the 6th joint meeting of the European software engineering conference and the ACM SIGSOFT symposium on the foundations of software engineering, ESEC-FSE’07, pp. 351–360. ACM, New York (2007)

    Google Scholar 

  98. Zimmermann, T., Weisgerber, P., Diehl, S., Zeller, A.: Mining version histories to guide software changes. In: Proceedings of the 26th International Conference on Software Engineering, ICSE ’04, pp. 563–572. IEEE Computer Society, Washington (2004)

    Google Scholar 

  99. Züger, M., Snipes, W., Corley, C., Meyer, A.N., Li, B., Fritz, T., Shepherd, D., Augustine, V., Francis, P., Kraft, N.: Reducing Interruptions at Work: A Large-Scale Field Study of FlowLight, pp. 61–72. ACM Press, New York (2017)

    Google Scholar 

Download references

Acknowledgements

I would like to thank André van der Hoek and David Redmiles who had contributed to a previous version of the classification framework. A special thank you to Souti Chattopadhyay and Caius Brindescu for their help in reviewing and providing feedback on this chapter.

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Anita Sarma .

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2019 Springer Nature Switzerland AG

About this chapter

Check for updates. Verify currency and authenticity via CrossMark

Cite this chapter

Sarma, A. (2019). Coordination Technologies. In: Cha, S., Taylor, R., Kang, K. (eds) Handbook of Software Engineering. Springer, Cham. https://doi.org/10.1007/978-3-030-00262-6_10

Download citation

  • DOI: https://doi.org/10.1007/978-3-030-00262-6_10

  • Published:

  • Publisher Name: Springer, Cham

  • Print ISBN: 978-3-030-00261-9

  • Online ISBN: 978-3-030-00262-6

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics