The Community for Technology Leaders
RSS Icon
Subscribe
Issue No.03 - March (2013 vol.39)
pp: 343-360
Marcelo Cataldo , Robert Bosch LLC
James D. Herbsleb , Carnegie Mellon University, Pittsburgh
ABSTRACT
The success of software development projects depends on carefully coordinating the effort of many individuals across the multiple stages of the development process. In software engineering, modularization is the traditional technique intended to reduce the interdependencies among modules that constitute a system. Reducing technical dependencies, the theory argues, results in a reduction of work dependencies between teams developing interdependent modules. Although that research stream has been quite influential, it considers a static view of the problem of coordination in engineering activities. Building on a dynamic view of coordination, we studied the relationship between socio-technical congruence and software quality and development productivity. In order to investigate the generality of our findings, our analyses were performed on two large-scale projects from two companies with distinct characteristics in terms of product and process maturity. Our results revealed that the gaps between coordination requirements and the actual coordination activities carried out by the developers significantly increased software failures. Our analyses also showed that higher levels of congruence are associated with improved development productivity. Finally, our results showed the congruence between dependencies and coordinative actions is critical both in mature development settings as well as in novel and dynamic development contexts.
INDEX TERMS
Productivity, Programming, Software quality, Context, Complexity theory, Organizations, quality analysis and evaluation, Metrics/measurement, productivity, organizational management and coordination
CITATION
Marcelo Cataldo, James D. Herbsleb, "Coordination Breakdowns and Their Impact on Development Productivity and Software Failures", IEEE Transactions on Software Engineering, vol.39, no. 3, pp. 343-360, March 2013, doi:10.1109/TSE.2012.32
REFERENCES
[1] C. Ebert and C. Jones, "Embedded Software: Facts, Figures, and Future," Computer, vol. 42, no. 4, pp. 42-52, Apr. 2009.
[2] J.D. Herbsleb and D. Moitra, "Guest Editors' Introduction: Global Software Development," IEEE Software, vol. 18, no. 2, pp. 16-20, Mar./Apr. 2001.
[3] D.W. Karolak, Global Software Development: Managing Virtual Teams and Environments. IEEE CS Press, 1998.
[4] L. Northrop, P.H. Feiler, B. Pollak, and D. Pipitone, Ultra-Large-Scale Systems: The Software Challenge of the Future. Software Eng. Inst., Carnegie Mellon Univ., 2006.
[5] B. Curtis, H. Krasner, and N. Iscoe, "A Field Study of the Software Design Process for Large Systems," Comm. ACM, vol. 31, pp. 1268-1287, 1988.
[6] R.E. Kraut and L.A. Streeter, "Coordination in Software Development," Comm. ACM, vol. 38, pp. 69-81, 1995.
[7] M. Cataldo, P.A. Wagstrom, J.D. Herbsleb, and K.M. Carley, "Identification of Coordination Requirements: Implications for the Design of Collaboration and Awareness Tools," Proc. 20th Anniversary Conf. Computer Supported Cooperative Work, 2006.
[8] R.E. Grinter, J.D. Herbsleb, and D.E. Perry, "The Geography of Coordination: Dealing with Distance in R&D Work," Proc. Int'l ACM SIGGROUP Conf. Supporting Group Work, 1999.
[9] J.D. Herbsleb and A. Mockus, "An Empirical Study of Speed and Communication in Globally Distributed Software Development," IEEE Trans. Software Eng., vol. 29, no. 6, pp. 481-494, June 2003.
[10] C.R.B.D. Souza, D. Redmiles, L.-T. Cheng, D. Millen, and J. Patterson, "How a Good Software Practice Thwarts Collaboration: The Multiple Roles of APIs in Software Development," Proc. 12th ACM SIGSOFT Int'l Symp. Foundations of Software Eng., 2004.
[11] T.R. Browning and R.V. Ramasesh, "A Survey of Activity Network-Based Process Models for Managing Product Development Projects," Production and Operations Management, vol. 16, pp. 217-240, 2007.
[12] S. Faraj and Y. Xiao, "Coordination in Fast-Response Organizations," Management Science, vol. 52, pp. 1155-1169, 2006.
[13] H.A. Simon, "The Architecture of Complexity," Proc. Am. Philosophical Soc., vol. 106, pp. 467-482, 1962.
[14] K.T. Ulrich and S. Eppinger, Product Design and Development, fourth ed. McGraw-Hill, 2007.
[15] C.Y. Baldwin and K.B. Clark, Design Rules. MIT Press, 2000.
[16] S.D. Eppinger, D.E. Whitney, R.P. Smith, and D.A. Gebala, "A Model-Based Method for Organizing Tasks in Product Development," Research in Eng. Design, vol. 6, pp. 1-13, 1994.
[17] K.J. Sullivan, W.G. Griswold, Y. Cai, and B. Hallen, "The Structure and Value of Modularity in Software Design," Proc. Eighth European Software Eng. Conf. Held Jointly with Ninth ACM SIGSOFT Int'l Symp. Foundations of Software Eng., 2001.
[18] D.L. Parnas, "On the Criteria to Be Used in Decomposing Systems into Modules," Comm. ACM, vol. 15, pp. 1053-1058, 1972.
[19] J. Galbraith, Designing Complex Organizations. Addison-Wesley Publishing Co., 1973.
[20] T.W. Malone and K. Crowston, "The Interdisciplinary Study of Coordination," ACM Computing Surveys, vol. 26, pp. 87-119, 1994.
[21] J.G. March and H.A. Simon, Organizations. Wiley, 1958.
[22] J.D. Thompson, Organizations in Action; Social Science Bases of Administrative Theory. McGraw-Hill, 1967.
[23] G. Kiczales and M. Mezini, "Aspect-Oriented Programming and Modular Reasoning," Proc. 27th Int'l Conf. Software Eng., 2005.
[24] J.H. Gittell, "Coordinating Mechanisms in Care Provider Groups: Relational Coordination as a Mediator and Input Uncertainty as a Moderator of Performance Effects," Management Science, vol. 48, pp. 1408-1426, 2002.
[25] M.E. Conway, "How Do Committees Invent?" Datamation, vol. 14, pp. 28-31, 1968.
[26] M. Cataldo, M. Bass, J.D. Herbsleb, and L. Bass, "On Coordination Mechanisms in Global Software Development," Proc. Int'l Conf. Global Software Eng., 2007.
[27] C.R.B.D. Souza and D.F. Redmiles, "An Empirical Study of Software Developers' Management of Dependencies and Changes," Proc. 30th Int'l Conf. Software Eng., 2008.
[28] M. Cataldo, J.D. Herbsleb, and K.M. Carley, "Socio-Technical Congruence: A Framework for Assessing the Impact of Technical and Work Dependencies on Software Development Productivity," Proc. ACM/IEEE Second Int'l Symp. Empirical Software Eng. and Measurement, 2008.
[29] N. Staudenmayer, Managing Multiple Interdependencies in Large Scale Software Development Projects. Sloan School of Management, Massachusetts Inst. of Tech nology, 1997.
[30] W.R. Scott, Organizations: Rational, Natural, and Open Systems, fourth ed. Prentice Hall, 1998.
[31] M. Cataldo and S. Nambiar, "On the Relationship between Process Maturity and Geographic Distribution: An Empirical Analysis of Their Impact on Software Quality," Proc. Seventh Joint Meeting of the European Software Eng. Conf. and the ACM SIGSOFT Symp. Foundations of Software Eng., 2009.
[32] G.M. Olson and J.S. Olson, "Distance Matters," Human, & Computer Interaction, vol. 15, pp. 139-178, 2000.
[33] R. Garud, A. Kumaraswamy, and R.N. Langlois, Managing in the Modular Age: Architectures, Networks, and Organizations. Blackwell, 2003.
[34] E. von Hippel, "Task Partitioning: An Innovation Process Variable," Research Policy, vol. 19, pp. 407-418, 1990.
[35] T.R. Browning, "Applying the Design Structure Matrix to System Decomposition and Integration Problems: A Review and New Directions," IEEE Trans. Eng. Management, vol. 48, no. 3, pp. 292-306, Aug. 2001.
[36] M. Shaw and D. Garlan, Software Architecture: Perspectives on an Emerging Discipline. Prentice Hall, 1996.
[37] A. MacCormack and R. Verganti, "Managing the Sources of Uncertainty: Matching Process and Context in Software Development," J. Product Innovation Management, vol. 20, pp. 217-232, 2003.
[38] M.E. Sosa, S.D. Eppinger, and C.M. Rowles, "The Misalignment of Product Architecture and Organizational Structure in Complex Product Development," Management Science, vol. 50, pp. 1674-1689, 2004.
[39] B. Gokpinar, W.J. Hopp, and S.M.R. Iravani, "The Impact of Misalignment of Organizational Structure and Product Architecture on Quality in Complex Product Development," Management Science, vol. 56, pp. 468-484, 2010.
[40] J.D. Herbsleb, A. Mockus, and J.A. Roberts, "Collaboration in Software Engineering Projects: A Theory of Coordination," Proc. Int'l Conf. Information Systems, 2006.
[41] M. Cataldo, A. Mockus, J.A. Roberts, and J.D. Herbsleb, "Software Dependencies, Work Dependencies, and Their Impact on Failures," IEEE Trans. Software Eng., vol. 35, no. 6, pp. 864-878, Nov./Dec. 2009.
[42] B.W. Boehm and R. Turner, Balancing Agility and Discipline: A Guide for the Perplexed. Addison-Wesley, 2004.
[43] D.E. Perry, N.A. Staudenmayer, and L.G. Votta, "People, Organizations, and Process Improvement," IEEE Software, vol. 11, no. 4, pp. 36-45, July 1994.
[44] S.G. Eick, T.L. Graves, A.F. Karr, J.S. Marron, and A. Mockus, "Does Code Decay? Assessing the Evidence from Change Management Data," IEEE Trans. Software Eng., vol. 27, no. 1, pp. 1-12, Jan. 2001.
[45] A. Fuggetta, "Software Process: A Roadmap," Proc. Conf. Future of Software Eng., 2000.
[46] D.E. Harter, M.S. Krishnan, and S.A. Slaughter, "Effects of Process Maturity on Quality, Cycle Time, and Effort in Software Product Development," Management Science, vol. 46, pp. 451-466, 2000.
[47] R.L. Daft and R.H. Lengel, "Organizational Information Requirements, Media Richness and Structural Design," Management Science, vol. 32, pp. 554-571, 1986.
[48] R.M. Burton, B. Obel, S. Hunter, M. Søndergaard, and D. Døjbak, Strategic Organizational Diagnosis and Design: Developing Theory for Application, second ed. Kluwer Academic Publishers, 1998.
[49] K.M. Carley and Y. Ren, "Tradeoffs between Performance and Adaptability for C3I Architectures," Proc. Sixth Int'l Command and Control Research and Technology Symp., 2001.
[50] J.A. Espinosa, S.A. Slaughter, R.E. Kraut, and J.D. Herbsleb, "Familiarity, Complexity, and Team Performance in Geographically Distributed Software Development," Organization Science, vol. 18, pp. 613-630, 2007.
[51] T.J. Allen, Managing the Flow of Technology: Technology Transfer and the Dissemination of Technological Information within the R&D Organization. MIT Press, 1977.
[52] N. Nagappan and T. Ball, "Using Software Dependencies and Churn Metrics to Predict Field Failures: An Empirical Case Study," Proc. First Int'l Symp. Empirical Software Eng. and Measurement, 2007.
[53] N. Nagappan, B. Murphy, and V. Basili, "The Influence of Organizational Structure on Software Quality: An Empirical Case Study," Proc. 30th Int'l Conf. Software Eng., 2008.
[54] L.C. Briand, J. Wüst, J.W. Daly, and D.V. Porter, "Exploring the Relationship between Design Measures and Software Quality in Object-Oriented Systems," J. Systems Software, vol. 51, pp. 245-273, 2000.
[55] T.L. Graves, A.F. Karr, J.S. Marron, and H. Siy, "Predicting Fault Incidence Using Software Change History," IEEE Trans. Software Eng., vol. 26, no. 7, pp. 653-661, July 2000.
[56] D.J. Watts, Small Worlds: The Dynamics of Networks between Order and Randomness. Princeton Univ. Press, 1999.
[57] F.P. Brooks, The Mythical Man-Month: Essays on Software Engineering, anniversary ed. Addison-Wesley Pub. Co., 1995.
[58] B. Curtis, Human Factors in Software Development. IEEE CS Press, 1981.
[59] W.F. Boh, S.A. Slaughter, and J.A. Espinosa, "Learning from Experience in Software Development: A Multilevel Analysis," Management Science, vol. 53, pp. 1315-1331, 2007.
[60] J. Cohen and P. Cohen, Applied Multiple Regression/Correlation Analysis for the Behavioral Sciences. Lawrence Elrbaum, 1983.
[61] L. Schroeder, D.L. Sjoquist, and P.E. Stephan, Understanding Regression Analysis: An Introductory Guide. Sage Publications, 1986.
[62] J.M. Costa, M. Cataldo, and C.R.B. de Souza, "The Scale and Evolution of Coordination Needs in Large-Scale Distributed Projects: Implications for the Future Generation of Collaborative Tools," Proc. Int'l Conf. Computer-Human Interaction, 2011.
[63] L. Argote, Organizational Learning: Creating, Retaining, and Transferring Knowledge. Kluwer Academic, 1999.
[64] M.E. Sosa, "A Structured Approach to Predicting and Managing Technical Interactions in Software Development," Research in Eng. Design, vol. 19, pp. 47-70, 2008.
[65] R.M. Henderson and K.B. Clark, "Architectural Innovation: The Reconfiguration of Existing Product Technologies and the Failure of Established Firms," Administrative Science Quarterly, vol. 35, pp. 9-30, 1990.
[66] M. Hoegl, K. Weinkauf, and H.G. Gemuenden, "Interteam Coordination, Project Commitment, and Teamwork in Multiteam R&D Projects: A Longitudinal Study," Organization Science, vol. 15, pp. 38-55, 2004.
[67] A. Sarma, Z. Noroozi, and A.V.D. Hoek, "Palantir: Raising Awareness among Configuration Management Workspaces," Proc. 25th Int'l Conf. Software Eng., 2003.
[68] E. Trainer, S. Quirk, C.D. Souza, and D. Redmiles, "Bridging the Gap between Technical and Social Dependencies with Ariadne," Proc. OOPSLA Workshop Eclipse Technology eXchange, 2005.
[69] J.T. Biehl, M. Czerwinski, G. Smith, and G.G. Robertson, "FASTDash: A Visual Dashboard for Fostering Awareness in Software Teams," Proc. SIGCHI Conf. Human Factors in Computing Systems, 2007.
[70] M. Roseman and S. Greenberg, "TeamRooms: Network Places for Collaboration," Proc. ACM Conf. Computer Supported Cooperative Work, 1996.
[71] A. Sarma, L. Maccherone, P. Wagstrom, and J. Herbsleb, "Tesseract: Interactive Visual Exploration of Socio-Technical Relationships in Software Development," Proc. 31st Int'l Conf. Software Eng., 2009.
[72] P.F. Xiang, A.T.T. Ying, P. Cheng, Y.B. Dang, K. Ehrlich, M.E. Helander, P.M. Matchen, A. Empere, P.L. Tarr, C. Williams, and S.X. Yang, "Ensemble: A Recommendation Tool for Promoting Communication in Software Teams," Proc. Int'l Workshop Recommendation Systems for Software Eng., 2008.
[73] A. Begel, Y.P. Khoo, and T. Zimmermann, "Codebook: Discovering and Exploiting Relationships in Software Repositories," Proc. ACM/IEEE 32nd Int'l Conf. Software Eng., vol. 1, 2010.
[74] R. Allen and D. Garlan, "A Formal Basis for Architectural Connection," ACM Trans. Software Eng. Methodology, vol. 6, pp. 213-249, 1997.
[75] P. Wagstrom, J.D. Herbsleb, and K.M. Carley, "Communication, Team Perforance and the Individual: Bridging Technical Dependencies," Proc. Academy of Management Ann. Meeting, 2010.
[76] D. Damian, I. Kwan, and S. Marczak, "Requirements-Driven Collaboration: Leveraging the Invisible Relationships Between Requirements and People," Collaborative Software Engineering, A. Finkelstein, et al., eds., Springer-Verlag, 2010.
[77] K. Ehrlich, M.E. Helander, G. Valetto, S. Davis, and C. Williams, "An Analysis of Congruence Gaps and Their Effect on Distributed Software Development," Proc. First Int'l Workshop Socio-Technical Congruence, 2008.
[78] I. Kwan, A. Schroeter, and D. Damian, "A Weighted Congruence Measure," Proc. Second Int'l Workshop Socio-Technical Congruence, 2009.
29 ms
(Ver 2.0)

Marketing Automation Platform Marketing Automation Tool