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 2008Publication 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.Google ScholarGoogle Scholar
  2. Baldwin, C. Y. and Clark, K. B. 2000. Design Rules: The Power of Modularity. MIT Press. Google ScholarGoogle ScholarCross RefCross Ref
  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. Google ScholarGoogle ScholarDigital LibraryDigital Library
  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). Google ScholarGoogle ScholarDigital LibraryDigital Library
  5. Brooks, F. 1995. The Mythical Man-Month: Essays on Software Engineering (Anniversary Edition). Addison Wesley. Google ScholarGoogle ScholarDigital LibraryDigital Library
  6. Burton, R. M. and Obel, B. 1998. Strategic Organizational Diagnosis and Design. Kluwer Academic Publishers, Norwell, MA.Google ScholarGoogle Scholar
  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. Google ScholarGoogle ScholarDigital LibraryDigital Library
  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.Google ScholarGoogle Scholar
  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.Google ScholarGoogle Scholar
  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. Google ScholarGoogle ScholarDigital LibraryDigital Library
  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. Google ScholarGoogle ScholarDigital LibraryDigital Library
  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. Google ScholarGoogle ScholarDigital LibraryDigital Library
  13. Conway, M. E. 1968. How do committees invent? Datamation, 14, 5, 28--31.Google ScholarGoogle Scholar
  14. Curtis, B. 1981. Human Factors in Software Development. Ed. by Curtis, B., IEEE Computer Society. Google ScholarGoogle ScholarDigital LibraryDigital Library
  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. Google ScholarGoogle ScholarDigital LibraryDigital Library
  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. Google ScholarGoogle ScholarDigital LibraryDigital Library
  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. Google ScholarGoogle ScholarDigital LibraryDigital Library
  18. Eclipse Project. 2008. http://www.eclipse.org. URL accessed on February 28th, 2008.Google ScholarGoogle Scholar
  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.Google ScholarGoogle ScholarCross RefCross Ref
  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. Google ScholarGoogle ScholarDigital LibraryDigital Library
  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. Google ScholarGoogle ScholarDigital LibraryDigital Library
  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. Google ScholarGoogle ScholarDigital LibraryDigital Library
  23. Garcia, A., et al. 2007. Assessment of Contemporary Modularization Techniques, ACOM'07 Workshop Report. ACM SIGSOFT Software Engineering Notes, 35, 5, 31--37. Google ScholarGoogle ScholarDigital LibraryDigital Library
  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. Google ScholarGoogle ScholarDigital LibraryDigital Library
  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. Google ScholarGoogle ScholarDigital LibraryDigital Library
  26. Hassan, A. E. and Holt, R. C. 2004. C-REX: An Evolutionary Code Extractor for C. CSER Meeting. Canada, 2004Google ScholarGoogle Scholar
  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.Google ScholarGoogle ScholarCross RefCross Ref
  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. Google ScholarGoogle ScholarDigital LibraryDigital Library
  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.Google ScholarGoogle Scholar
  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. Google ScholarGoogle ScholarDigital LibraryDigital Library
  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. Google ScholarGoogle ScholarDigital LibraryDigital Library
  32. Jazz Project. 2008. http://jazz.net/pub/index.jsp. URL accessed on February 28th, 2008.Google ScholarGoogle Scholar
  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.Google ScholarGoogle Scholar
  34. Kraut, R. E. and Streeter, L. A. 1995. Coordination in Software Development. Communications of ACM, 38, 3, 69--81. Google ScholarGoogle ScholarDigital LibraryDigital Library
  35. Leffingwell, D. and Widrig, D. (2003). Managing Software Requirements: A Use Case Approach, 2nd Edition. Addison-Wesley. Google ScholarGoogle ScholarDigital LibraryDigital Library
  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. Google ScholarGoogle ScholarDigital LibraryDigital Library
  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. Google ScholarGoogle ScholarDigital LibraryDigital Library
  38. Olson, G. M. and Olson, J. S. 2000. Distance Matters. Human-Computer Interaction, 15, 2 & 3, 139--178 Google ScholarGoogle ScholarDigital LibraryDigital Library
  39. Parnas, D. L. 1972. On the criteria to be used in decomposing systems into modules. Communications of ACM, 15, 12, 1053--1058. Google ScholarGoogle ScholarDigital LibraryDigital Library
  40. Selby, R. W. and Basili, V. R. 1991. Analyzing Error-Prone System Structure. IEEE Transactions on Software Engineering, 17, 2, 141--152. Google ScholarGoogle ScholarDigital LibraryDigital Library
  41. Simon, H. A. (1962). The Architecture of Complexity. In Proceedings of the American Philosophical Society, 106, 6, 467--482.Google ScholarGoogle Scholar
  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 Google ScholarGoogle ScholarDigital LibraryDigital Library
  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 Google ScholarGoogle ScholarDigital LibraryDigital Library
  44. Von Hippel, E. (1990). Task Partitioning: An Innovation Process Variable. Research Policy, 19, 407--418.Google ScholarGoogle ScholarCross RefCross Ref
  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. Google ScholarGoogle ScholarDigital LibraryDigital Library
  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.Google ScholarGoogle ScholarCross RefCross Ref

Index Terms

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

      Recommendations

      Comments

      Login options

      Check if you have access through your login credentials or your institution to get full access on this article.

      Sign in
      • 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

        Copyright © 2008 ACM

        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]

        Publisher

        Association for Computing Machinery

        New York, NY, United States

        Publication History

        • Published: 9 October 2008

        Permissions

        Request permissions about this article.

        Request Permissions

        Check for updates

        Qualifiers

        • research-article

        Acceptance Rates

        Overall Acceptance Rate130of594submissions,22%

        Upcoming Conference

      PDF Format

      View or Download as a PDF file.

      PDF

      eReader

      View online with eReader.

      eReader