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

Socio-technical congruence: a framework for assessing the impact of technical and work dependencies on software development productivity

Published: 09 October 2008 Publication History

Abstract

The identification and management of work dependencies is a fundamental challenge in software development organizations. This paper argues that modularization, the traditional technique intended to reduce interdependencies among components of a system, has serious limitations in the context of software development. We build on the idea of congruence, proposed in our prior work, to examine the relationship between the structure of technical and work dependencies and the impact of dependencies on software development productivity. Our empirical evaluation of the congruence framework showed that when developers' coordination patterns are congruent with their coordination needs, the resolution time of modification requests was significantly reduced. Furthermore, our analysis highlights the importance of identifying the "right" set of technical dependencies that drive the coordination requirements among software developers. Call and data dependencies appear to have far less impact than logical dependencies.

References

[1]
Allen, T. J. 1977. Managing the Flow of Technology. MIT Press.
[2]
Baldwin, C. Y. and Clark, K. B. 2000. Design Rules: The Power of Modularity. MIT Press.
[3]
Bellotti, V., Ducheneaut, N., Howard, M., Smith, I. 2003. Taking email to task: the design and evaluation of a task management centered email tool. In Proceedings International Conference on Human Factors in Computing Systems (CHI'03), Ft. Lauderdale, FL.
[4]
Bass, M., Bass, L., Herbsleb, J. D. and Cataldo, M. 2006. Architectural Misalignment: an Experience Report. To appear in the Proceedings of the 6th International Conference on Software Architectures (WICSA '07).
[5]
Brooks, F. 1995. The Mythical Man-Month: Essays on Software Engineering (Anniversary Edition). Addison Wesley.
[6]
Burton, R. M. and Obel, B. 1998. Strategic Organizational Diagnosis and Design. Kluwer Academic Publishers, Norwell, MA.
[7]
Cadiz, J. J., Venolia, G. D., Jancke, G., Gupta, A. 2002. Designing and deploying an information awareness interface. In Proceedings of the Conference on Computer Supported Co-operative Work (CSCW'02), New York, NY.
[8]
Carley, K. M. 2002. Smart Agents and Organizations of the Future. In Handbook of New Media. Edited by Lievrouw, L. and Livingstone, S., Sage, Thousand Oaks, CA.
[9]
Carley, K. M and Ren, Y. Tradeoffs between Performance and Adaptability for C3I Architectures. 2001. In Proceedings of the 6th International Command and Control Research and Technology Symposium, Annapolis, Maryland.
[10]
Cataldo, M., Wagstrom, P, Herbsleb, J. D. and Carley, K. M 2006. Identification of Coordination Requirements: Implications for the Design of Collaboration and Awareness Tools. In Proceedings of the Conference on Computer Supported Cooperative Work (CSCW'06), Banff, Alberta, Canada.
[11]
Cataldo, M., Bass, M, Herbsleb, J. D. and Bass, L. 2007. On Coordination Mechanism in Global Software Development. In Proceedings of the International Conference on Global Software Engineering, Munich, Germany.
[12]
Clements, P., Bachman, F., Bass, L., Garlan, D., Ivers, J., Little, R., Nord, R. and Sttaford, J. 2002. Documenting Software Architectures: Views and Beyond. Addison-Wesley, New York, NY.
[13]
Conway, M. E. 1968. How do committees invent? Datamation, 14, 5, 28--31.
[14]
Curtis, B. 1981. Human Factors in Software Development. Ed. by Curtis, B., IEEE Computer Society.
[15]
Curtis, B., Kransner, H. and Iscoe, N. 1988. A field study of software design process for large systems. Communications of ACM, 31, 11, 1268--1287.
[16]
de Souza, C. R. B. 2005. On the Relationship between Software Dependencies and Coordination: Field Studies and Tool Support. Ph.D. dissertation, Donald Bren School of Information and Computer Sciences, University of California, Irvine.
[17]
de Souza, C. R. B., Redmiles, D., Cheng, L., Millen, D. and Patterson, J. 2004. How a Good Software Practice Thwarts Collaboration - The multiple roles of APIs in Software Development. In Proceedings of the 12th Conference on Foundations of Software Engineering (FSE '04), Newport Beach, CA, 221--230.
[18]
Eclipse Project. 2008. http://www.eclipse.org. URL accessed on February 28th, 2008.
[19]
Eppinger, S. D., Whitney, D. E., Smith, R. P. and Gebala, D. A. 1994. A Model-Based Method for Organizing Tasks in Product Development. Research in Engineering Design, 6, 1--13.
[20]
Espinosa, J. A. 2002. Shared Mental Models and Coordination in Large-Scale, Distributed Software Development. Unpublished Ph.D. Dissertation, Graduate School of Industrial Administration, Carnegie Mellon University.
[21]
Fisher, D., Brush, A. J., Gleave, E. and Smith M. A. 2006. Revisiting Whittaker and Sidner's "Email Overload": Ten Years Later. In Proceedings of the Conference on Computer Supported Cooperative Work (CSCW'06), Banff, Alberta, Canada.
[22]
Gall, H. Hajek, K. and Jazayeri, M. 1998. Detection of Logical Coupling Based on Product Release History. In Proceedings of the International Conference on Software Maintenance (ICSM '98), Bethesda, Maryland.
[23]
Garcia, A., et al. 2007. Assessment of Contemporary Modularization Techniques, ACOM'07 Workshop Report. ACM SIGSOFT Software Engineering Notes, 35, 5, 31--37.
[24]
Geyer, W., Brownholtz, B., Muller, M., Dugan, C., Wilcox, E. and Millen, D.R. 2007. Malibu Personal Productivity Assistant. In Proceedings International Conference on Human Factors in Computing Systems (CHI'07) - Work in Progress Section, San Jose, CA.
[25]
Grinter, R. E., Herbsleb, J. D. and Perry, D. E. 1999. The Geography of Coordination Dealing with Distance in R&D Work. In Proceedings of the Conference on Supporting Group Work (GROUP'99), Phoenix, Arizona.
[26]
Hassan, A. E. and Holt, R. C. 2004. C-REX: An Evolutionary Code Extractor for C. CSER Meeting. Canada, 2004
[27]
Henderson, R. M. and Clarck, K. B. 1990. Architectural Innovation: The Reconfiguration of Existing Product Technologies and the Failure of Established Firms. Administrative Science Quarterly, 35, 9--30.
[28]
Herbsleb, J. D. and Mockus, A. 2003. An Empirical Study of Speed and Communication in Globally Distributed Software Development. IEEE Transactions on Software Engineering, 29, 6, 481--898.
[29]
Herbsleb, J. D., Mockus, A. and Roberts, J. A. 2006. Collaboration in Software Engineering Projects: A Theory of Coordination. In Proceedings of the International Conference on Information Systems (Milwaukee, Wisconsin). ICIS'06.
[30]
Horwitz, S., Reps, T., and Binkley, D. 1990. Interprocedural slicing using dependence graphs. ACM Transactions on Programming Languages and Systems, 22, 1, 26--60.
[31]
Hutchens, D. H. and Basili, V. R. 1985. System Structure Analysis: Clustering with Data Bindings. IEEE Transactions on Software Engineering, 11, 8, 749--757.
[32]
Jazz Project. 2008. http://jazz.net/pub/index.jsp. URL accessed on February 28th, 2008.
[33]
Krackhardt, D. and Carley, K. M. 1998. A PCANS Model of Structure in Organization. In Proceedings of the 1998 International Symposium on Command and Control Research and Technology, 113--119.
[34]
Kraut, R. E. and Streeter, L. A. 1995. Coordination in Software Development. Communications of ACM, 38, 3, 69--81.
[35]
Leffingwell, D. and Widrig, D. (2003). Managing Software Requirements: A Use Case Approach, 2nd Edition. Addison-Wesley.
[36]
Levchuk, G. M. et al. 2004. Normative Design of Project-Based Organizations - Part III: Modeling Congruent, Robust and Adaptive Organizations. IEEE Trans. on Systems, Man & Cybernetics, 34, 3, 337--350.
[37]
Murphy, G. C., Notkin, D., Griswold, W. G. and Lan, E. S. 1998. An empirical study of call graph extractors. ACM Transactions on Software Engineering Methodology, 7, 2, 158--191.
[38]
Olson, G. M. and Olson, J. S. 2000. Distance Matters. Human-Computer Interaction, 15, 2 & 3, 139--178
[39]
Parnas, D. L. 1972. On the criteria to be used in decomposing systems into modules. Communications of ACM, 15, 12, 1053--1058.
[40]
Selby, R. W. and Basili, V. R. 1991. Analyzing Error-Prone System Structure. IEEE Transactions on Software Engineering, 17, 2, 141--152.
[41]
Simon, H. A. (1962). The Architecture of Complexity. In Proceedings of the American Philosophical Society, 106, 6, 467--482.
[42]
Sosa, M. E., Eppinger, S. D., and Rowles, C. M. 2004. The Misalignment of Product Architecture and Organizational Structure in Complex Product Development. Management Science, 50, 12, 1674--1689
[43]
Sullivan, K. J., Griswold, W. G., Cai, Y, and Hallen, B. 2001. The Structure and Value of Modularity in Software Design. In Proceedings of the International Conference on Foundations of Software Engineering (FSE '01), Vienna, Austria, 99--108
[44]
Von Hippel, E. (1990). Task Partitioning: An Innovation Process Variable. Research Policy, 19, 407--418.
[45]
Wattenberg, M., Rohall, S., Gruen, D. and Kerr, B. 2005. E-Mail Research: Targeting the Enterprise. Journal of Human-Computer Interaction, 20, 139--162.
[46]
Yassine, A., Joglekar, N., Braha, D., Eppinger, S. And Whitney, D. 2003. Information Hiding in Product Development: The Design Churn Effect. Research in Engineering Design, 14, 145--161.

Cited By

View all
  • (2024)Modeling interconnected social and technical risks in open source software ecosystemsCollective Intelligence10.1177/263391372412319123:1Online publication date: 15-Feb-2024
  • (2024)A Systematic Literature Review on the Influence of Enhanced Developer Experience on Developers' Productivity: Factors, Practices, and RecommendationsACM Computing Surveys10.1145/368729957:1(1-46)Online publication date: 7-Oct-2024
  • (2024)Analyzing the Tower of Babel with KaiauluJournal of Systems and Software10.1016/j.jss.2024.111967210:COnline publication date: 1-Apr-2024
  • Show More Cited By

Recommendations

Comments

Please enable JavaScript to view thecomments powered by Disqus.

Information & Contributors

Information

Published In

cover image ACM Conferences
ESEM '08: Proceedings of the Second ACM-IEEE international symposium on Empirical software engineering and measurement
October 2008
374 pages
ISBN:9781595939715
DOI:10.1145/1414004
  • General Chair:
  • Dieter Rombach,
  • Program Chairs:
  • Sebastian Elbaum,
  • Jürgen Münch
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: 09 October 2008

Permissions

Request permissions for this article.

Check for updates

Author Tags

  1. collaborative software development
  2. coordination
  3. software dependencies

Qualifiers

  • Research-article

Conference

ESEM '08
Sponsor:

Acceptance Rates

Overall Acceptance Rate 130 of 594 submissions, 22%

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)78
  • Downloads (Last 6 weeks)1
Reflects downloads up to 26 Dec 2024

Other Metrics

Citations

Cited By

View all
  • (2024)Modeling interconnected social and technical risks in open source software ecosystemsCollective Intelligence10.1177/263391372412319123:1Online publication date: 15-Feb-2024
  • (2024)A Systematic Literature Review on the Influence of Enhanced Developer Experience on Developers' Productivity: Factors, Practices, and RecommendationsACM Computing Surveys10.1145/368729957:1(1-46)Online publication date: 7-Oct-2024
  • (2024)Analyzing the Tower of Babel with KaiauluJournal of Systems and Software10.1016/j.jss.2024.111967210:COnline publication date: 1-Apr-2024
  • (2024)A dynamic perspective on software modularity in open source software (OSS) developmentInformation and Organization10.1016/j.infoandorg.2023.10049934:1Online publication date: 1-Mar-2024
  • (2023)SEAL: Integrating Program Analysis and Repository MiningACM Transactions on Software Engineering and Methodology10.1145/358500832:5(1-34)Online publication date: 24-Jul-2023
  • (2023)Hierarchical and Hybrid Organizational Structures in Open-source Software Projects: A Longitudinal StudyACM Transactions on Software Engineering and Methodology10.1145/356994932:4(1-29)Online publication date: 26-May-2023
  • (2023)Giving Back: Contributions Congruent to Library Dependency Changes in a Software EcosystemIEEE Transactions on Software Engineering10.1109/TSE.2022.322519749:4(2566-2579)Online publication date: 1-Apr-2023
  • (2023)On the Relationship Between Organizational Structure Patterns and Architecture in Agile TeamsIEEE Transactions on Software Engineering10.1109/TSE.2022.315041549:1(325-347)Online publication date: 1-Jan-2023
  • (2023)An Experience Report on Assessing Software Engineer’s Outputs in Practice2023 IEEE/ACM International Conference on Software and System Processes (ICSSP)10.1109/ICSSP59042.2023.00012(13-24)Online publication date: May-2023
  • (2023)Socio-Technical Anti-Patterns in Building ML-Enabled Software: Insights from Leaders on the ForefrontProceedings of the 45th International Conference on Software Engineering10.1109/ICSE48619.2023.00067(690-702)Online publication date: 14-May-2023
  • 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

Media

Figures

Other

Tables

Share

Share

Share this Publication link

Share on social media