Impact of Communication Structure on System Design: Towards a Controlled Test of Conway's Law

Conway's law is generally assumed by researchers and practitioners to hold, despite a relative lack of empirical confirmation. To better understand the effects of Conway's law on software development, we conducted a pilot study. The study consisted of a controlled experiment, in which small teams with strictly defined communication channels were tasked with designing a system. We compare the various communication structures of our experimental groups with their resulting system architectures. Due to the small scale of this pilot study, the results are inconclusive. For instance, none of the treatment groups achieved the ideal system architecture, presumably due to Conway's law, on the other hand, every treatment group's solution ended up closer to the ideal system architecture than to their organizational structure, which may contradict Conway's law. The study also reveals interesting social dynamics that may help explain the law, at least in part. Based on our findings, we hope to replicate this experiment with improved methods and a larger sample size. This report is intended as a contribution to the RESER 2013 joint replication project on Conway's law.

[1]  Jilles van Gurp,et al.  From SPLs to Open, Compositional Platforms , 2008, Combining the Advantages of Product Lines and Open Source.

[2]  M. E. Conway HOW DO COMMITTEES INVENT , 1967 .

[3]  Salma Imtiaz,et al.  Effective Task Allocation in Distributed Environments: A Traceability Perspective , 2011, ICSEA 2011.

[4]  James D. Herbsleb,et al.  Splitting the organization and integrating the code: Conway's law revisited , 1999, Proceedings of the 1999 International Conference on Software Engineering (IEEE Cat. No.99CB37002).

[5]  James D. Herbsleb,et al.  The geography of coordination: dealing with distance in R&D work , 1999, GROUP.

[6]  M. Fiedler Algebraic connectivity of graphs , 1973 .

[7]  James D. Herbsleb,et al.  Architectures, coordination, and distance: Conway’s law and beyond , 1999 .

[8]  Allan Kelly,et al.  What do I think about Conway's Law now? , 2005, EuroPLoP.

[9]  Albert Endres An Analysis of Errors and Their Causes in System Programs , 1975, IEEE Trans. Software Eng..

[10]  Albert Endres,et al.  An analysis of errors and their causes in system programs , 1975, IEEE Transactions on Software Engineering.

[11]  Bill Curtis,et al.  A field study of the software design process for large systems , 1988, CACM.

[12]  Steven D. Eppinger,et al.  The Misalignment of Product Architecture and Organizational Structure in Complex Product Development , 2004, Manag. Sci..

[13]  Dewayne E. Perry,et al.  Release engineering practices and pitfalls , 2012, 2012 34th International Conference on Software Engineering (ICSE).

[14]  Jos van Hillegersberg,et al.  Detecting Coordination Problems in Collaborative Software Development Environments , 2008, Inf. Syst. Manag..

[15]  Albert Endres,et al.  A handbook of software and systems engineering - empirical observations, laws and theories , 2003, The Fraunhofer IESE series on software engineering.

[16]  Paul M. Bodily,et al.  Design Team Perception of Development Team Composition: Implications for Conway's Law , 2011, 2011 Second International Workshop on Replication in Empirical Software Engineering Research.

[17]  Daniela E. Damian,et al.  Does Socio-Technical Congruence Have an Effect on Software Build Success? A Study of Coordination in a Software Project , 2011, IEEE Transactions on Software Engineering.