[go: up one dir, main page]
More Web Proxy on the site http://driver.im/ skip to main content
10.1145/1316624.1316646acmconferencesArticle/Chapter ViewAbstractPublication PagesgroupConference Proceedingsconference-collections
research-article

Supporting collaborative software development through the visualization of socio-technical dependencies

Published: 04 November 2007 Publication History

Abstract

One of the reasons large-scale software development is difficult is the number of dependencies that software engineers face. These dependencies create a need for communication and coordination that requires continuous effort by developers. Empirical studies, including our own, suggest that technical dependencies among software components create social dependencies among the software developers implementing those components. Based on this observation, we developed Ariadne, a plug-in for Eclipse. Ariadne analyzes software projects for dependencies and collects authorship information about projects relying on configuration management repositories. Ariadne can "translate" technical dependencies among components into social dependencies among developers. We have created visualizations to convey dependency information and the presence of coordination problems identified in our previous work. We believe the information conveyed in the visualizations will prove useful for software developers.

References

[1]
B. Al-Ani, A. Sarma, G. Bortis, I. Almeida da Silva, E. Trainer, A. van der Hoek, and D. Redmiles, Continuous Coordination (CC): A New Collaboration Paradigm. CSCW Workshop on Supporting the Social Side of Large Scale Software Development, Banff, Canada, November 2006, pages 69--72.
[2]
Callahan, D., A. Carle, et al. (1990). "Constructing the Procedure Call Multigraph." IEEE Transactions on Software Engineering 16(4): 483--487.
[3]
Cataldo, M., P. A. Wagstrom, et al. (2006). Identification of Coordination Requirements: implications for the Design of Collaboration and Awareness Tools. 20th Conference on Computer Supported Cooperative Work. Banff, Alberta, Canada, ACM Press.
[4]
Conway, M. E. (1968). "How Do Committees invent?" Datamation 14(4): 28--31.
[5]
Curtis, B., H. Krasner, et al. (1988). "A field study of the software design process for large systems." Communications of the ACM 31(11): 1268--1287.
[6]
de Souza, C. R. B., D. Redmiles, et al. (2003). Management of Interdependencies in Collaborative Software Development: A Field Study. International Symposium on Empirical Software Engineering (ISESE'2003), Rome, Italy, IEEE Press.
[7]
de Souza, C. R. B., D. Redmiles, et al. (2004). How a Good Software Practice thwarts Collaboration - The Multiple roles of APIs in Software Development. Foundations of Software Engineering, Newport Beach, CA, USA, ACM Press.
[8]
de Souza, C. R. B., D. Redmiles, et al. (2004). Sometimes You Need to See Through Walls - A Field Study of Application Programming Interfaces. Conference on Computer-Supported Cooperative Work (CSCW '04), Chicago, IL, USA, ACM Press.
[9]
de Souza, C. R. B., J. Froehlich, et al. (2005). Seeking the Source: Software Source-code as a Social and Technical Artifact (to appear). ACM Conference on Group Work, Sanibel Island, FL, USA.
[10]
de Souza, C. R. B. (2005). On the Relationship between Software Dependencies and Coordination: Field Studies and Tool Support. Department of Informatics, Donald Bren School of Information and Computer Sciences. Irvine, CA, University of California, Irvine. Ph.D.: 186.
[11]
de Souza, C. R. B., T. Hildenbrand, et al. (2007). Towards Visualization and Analysis of Traceability Relationships in Distributed and Offshore Software Development Projects (to appear). Software Engineering Approaches for Offshore and Outsourced Development, Zurich, Springer.
[12]
de Souza, C. R. B. and D. Redmiles (2007). The Awareness Network: To Whom Should I Display my Actions and Whose Actions Should I Monitor? (to appear). European Conference on Computer-Supported Cooperative Work. Limerick, Ireland, Springer.
[13]
Dourish, P. and V. Bellotti (1992). Awareness and Coordination in Shared Workspaces. Conference on Computer-Supported Cooperative Work (CSCW '92), Toronto, Ontario, Canada, ACM Press.
[14]
Ferrante, J., K. J. Ottenstein, et al. (1987). "The program dependence graph and its use in optimization." ACM Transactions on Programming Languages and Systems (TOPLAS) 9(3): 319--349.
[15]
Fuggetta, A. (2000). Software Processes: A Roadmap. Future of Software Engineering, Limerick, Ireland.
[16]
Ghezzi, C., M. Jazayeri, et al. (2003). Fundamentals of Software Engineering, Prentice Hall.
[17]
Grinter, R. E. (1995). Using a Configuration Management Tool to Coordinate Software Development. Conference on Organizational Computing Systems, Milpitas, CA.
[18]
Grinter, R. E. (2003). "Recomposition: Coordinating a Web of Software Dependencies." Journal of Computer Supported Cooperative Work 12(3): 297--327.
[19]
Heath, C. and P. Luff (1992). "Collaboration and Control: Crisis Management and Multimedia Technology in London Underground Control Rooms." Computer Supported Cooperative Work 1(1--2): 69--94.
[20]
Herbsleb, J. D. and R. E. Grinter (1999). "Architectures, Coordination, and Distance: Conway's Law and Beyond." IEEE Software: 63--70.
[21]
Herbsleb, J. D., A. Mockus, et al. (2001). An Empirical Study of Global Software Development: Distance and Speed. International Conference on Software Engineering, Toronto, Canada, IEEE Press.
[22]
Herman, I., G. Melancon, and M. S. Marshall. Graph visualization and navigation in information visualization: A survey. IEEE Transactions on Visualization and Computer Graphics, 6(1):24--43, 2000.
[23]
Jorgensen, D. L. (1989). Participant Observation: A Methodology for Human Studies. Thousand Oaks, SAGE publications.
[24]
Larman, G. (2001). "Protected Variation: The Importance of Being Closed." IEEE Software 18(3): 89--91.
[25]
McCracken, G. (1988). The Long Interview, SAGE Publications.
[26]
McDonald, D. W. and M. S. Ackerman (1998). Just Talk to Me: A Field Study of Expertise Location. Conference on Computer Supported Cooperative Work (CSCW '98), Seattle, Washington.
[27]
Morelli, M. D., S. D. Eppinger, et al. (1995). "Predicting Technical Communication in Product Development Organizations." IEEE Transactions on Engineering Management 42(3): 215--222.
[28]
Murphy, G., D. Notkin, et al. (1998). "An Empirical Study of Static Call Graph Extractors." ACM Transactions on Software Engineering and Methodology 7(2): 158--191.
[29]
Novick, L. and S. Hurley, To Matrix, Network, or Hierarchy: That is the Question, Cognitive Psychology, Vol. 42, 2001, pp. 158--216
[30]
Nutt, G. J. (1996). "The evolution toward flexible workflow systems." Distributed Systems Engineering(3): 276--294.
[31]
Otjacques, B. and Feltz, F. 2005. Representation of Graphs on a Matrix Layout. In Proceedings of the Ninth international Conference on information Visualisation (Iv'05) - Volume 00 (July 06-08, 2005). IV. IEEE Computer Society, Washington, DC, 339--344.
[32]
Parnas, D. L. (1972). "On the Criteria to be Used in Decomposing Systems into Modules." Communications of the ACM 15(12): 1053--1058.
[33]
Petre, M., A. Blackwell, T. Green, Cognitive questions in software visualization, in Software Visualization: Programming as a Multi-Media Experience, MIT Press, Cambridge, MA, 1997, pp. 453--480.
[34]
Podgurski, A. and L. A. Clarke (1989). The Implications of Program Dependencies for Software Testing, Debugging, and Maintenance. Symposium on Software Testing, Analysis, and Verification.
[35]
Sarma, A., Z. Noroozi, et al. (2003). Palantír: Raising Awareness among Configuration Management Workspaces. Twenty-fifth International Conference on Software Engineering, Portland, Oregon.
[36]
Sosa, M. E., S. D. Eppinger, et al. (2002). "Factors that influence Technical Communication in Distributed Product Development: An Empirical Study in the Telecommunications Industry." IEEE Transactions on Engineering Management 49(1): 45--58.
[37]
Sosa, M. E., S. D. Eppinger, et al. (2004). "The Misalignment of Product Architecture and Organizational Structure in Complex Product Development." Management Science 50(12): 1674--1689.
[38]
Spanoudakis, G. and A. Zisman (2004). Software Traceability: A Roadmap. Handbook of Software Engineering and Knowledge Engineering. S. K. Chang, World Scientific Publishing Co.
[39]
Stafford, J. A., A. L. Wolf, et al. (1998). Architecture-Level Dependence Analysis for Software Systems. International Workshop on the Role of Software Architecure in Testing and Analysis (ROSATEA), Marsala, Sicily, Italy.
[40]
Strauss, A. and J. Corbin (1998). Basics of Qualitative Research: Techniques and Procedures for Developing Grounded Theory. Thousand Oaks, SAGE publications.
[41]
Trainer, E., S. Quirk, et al. (2005). Bridging the Gap between Technical and Social Dependencies with Ariadne. Eclipse Technology Exchange, San Diego, CA.
[42]
Vieira, M. R. E. and D. J. Richardson (2002). The Role of Dependencies in Component-Based System Evolution. International Workshop on Principles of Software Evolution, Orlando, Florida.
[43]
Wasserman, S. and K. Faust, Social Network Analysis: Methods and Applications. Structural Analysis in the Social Sciences. 1994, Cambridge, UK: Cambridge University Press.

Cited By

View all
  • (2023)In the Age of Collaboration, the Computer-Aided Design Ecosystem is Behind: An Interview Study of Distributed CAD PracticeProceedings of the ACM on Human-Computer Interaction10.1145/35796137:CSCW1(1-29)Online publication date: 16-Apr-2023
  • (2020)Continuous Conflict Prediction during Collaborative Software DevelopmentProceedings of the 3rd International Conference on Software Engineering and Information Management10.1145/3378936.3378951(105-109)Online publication date: 12-Jan-2020
  • (2019)City on the riverProceedings of the 29th Annual International Conference on Computer Science and Software Engineering10.5555/3370272.3370281(82-91)Online publication date: 4-Nov-2019
  • Show More Cited By

Recommendations

Comments

Please enable JavaScript to view thecomments powered by Disqus.

Information & Contributors

Information

Published In

cover image ACM Conferences
GROUP '07: Proceedings of the 2007 ACM International Conference on Supporting Group Work
November 2007
422 pages
ISBN:9781595938459
DOI:10.1145/1316624
Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than ACM must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected]

Sponsors

Publisher

Association for Computing Machinery

New York, NY, United States

Publication History

Published: 04 November 2007

Permissions

Request permissions for this article.

Check for updates

Author Tags

  1. awareness
  2. collaborative software development
  3. coordination
  4. program dependencies
  5. social dependencies
  6. socio-technical dependencies
  7. visualization

Qualifiers

  • Research-article

Conference

GROUP07
Sponsor:
GROUP07: ACM 2007 International Conference on Supporting Group Work
November 4 - 7, 2007
Florida, Sanibel Island, USA

Acceptance Rates

Overall Acceptance Rate 125 of 405 submissions, 31%

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)32
  • Downloads (Last 6 weeks)0
Reflects downloads up to 05 Mar 2025

Other Metrics

Citations

Cited By

View all
  • (2023)In the Age of Collaboration, the Computer-Aided Design Ecosystem is Behind: An Interview Study of Distributed CAD PracticeProceedings of the ACM on Human-Computer Interaction10.1145/35796137:CSCW1(1-29)Online publication date: 16-Apr-2023
  • (2020)Continuous Conflict Prediction during Collaborative Software DevelopmentProceedings of the 3rd International Conference on Software Engineering and Information Management10.1145/3378936.3378951(105-109)Online publication date: 12-Jan-2020
  • (2019)City on the riverProceedings of the 29th Annual International Conference on Computer Science and Software Engineering10.5555/3370272.3370281(82-91)Online publication date: 4-Nov-2019
  • (2019)Personalized Change Awareness: Reducing Information Overload in Loosely-Coupled TeamworkArtificial Intelligence10.1016/j.artint.2019.05.005Online publication date: May-2019
  • (2018)A systematic mapping study about socio-technical congruenceInformation and Software Technology10.5555/3163583.316366894:C(111-129)Online publication date: 1-Feb-2018
  • (2018)Taxonomy of Factors Causing Integration Failure during Global Software DevelopmentIEEE Access10.1109/ACCESS.2017.27828436(22228-22239)Online publication date: 2018
  • (2018)Collaboration Patterns in Software Developer NetworkEncyclopedia of Social Network Analysis and Mining10.1007/978-1-4939-7131-2_292(224-229)Online publication date: 12-Jun-2018
  • (2017)Using contextual information to predict co-changesJournal of Systems and Software10.1016/j.jss.2016.07.016128:C(220-235)Online publication date: 1-Jun-2017
  • (2017)Collaboration Patterns in Software Developer NetworkEncyclopedia of Social Network Analysis and Mining10.1007/978-1-4614-7163-9_292-1(1-6)Online publication date: 14-Feb-2017
  • (2017)Supporting collaborative software development over GitHubSoftware—Practice & Experience10.1002/spe.246847:10(1393-1416)Online publication date: 1-Oct-2017
  • Show More Cited By

View Options

Login options

View options

PDF

View or Download as a PDF file.

PDF

eReader

View online with eReader.

eReader

Figures

Tables

Media

Share

Share

Share this Publication link

Share on social media