The Mirroring Hypothesis traces its routes to Thompson (1967)1 classic book “Organizations in Action” which discusses complex modular organizations. It was argued that the need for efficient organizational ties between individuals and occupational groups increases as their technical interdependencies increases. At around the same time Conway, (1968)2 independently released a Computer Science paper arguing that organizational social ties within teams that produce software will be reflected in the emergent architecture of that software. He pointed out that communication amongst teams is necessary to produce complex software and the communication channels are reflected in the emergent software. Within the engineering literature, this became known as Conway’s Law. Raymond & Steele, (1996)3 borrowed an example from Conway and argued that if four teams attempt to build a software compiler, the emergent compiler will have four stages. There is significant overlap within both streams of research with a tendency for organizational researchers to consider the organizational structure as malleable and adaptable to the technical artefacts and the opposite bias being expressed by engineering scholars where an emphasis is placed on mirroring the software artefact to the incumbent organizational structure. Software practitioners sometimes use the term ‘inverse Conway manoeuvre’ to describe the practice of organizing a new software team into a structure that matches the desired software architecture.

Melvin E. Conway

In 2008 there was an article published in HBR titled “Exploring the duality between product and organizational architectures, a test of the Mirroring Hypothesis ” (MacCormack, Baldwin, & Rusnak, 2008)4. This was written from the business perspective rather than the software perspective. However, it piqued interest within the software community and prompted a renewed interest in mirroring as a possible solution for the issues being experienced while trying to develop global scale cloud computing services. The widespread move towards general modular systems5 has prompted renewed interest in the Mirroring Hypothesis, both within the Computer Science literature678 and Organization Science literature91011. The concept of information hiding is discussed in both streams and is central to the study of the Mirroring Hypothesis. Efficient communications across modular team boundaries enable the coordination of the overall task effort. David Parnas, (1972)12 extended Melvin Conway’s work and researched information hiding within modular software systems. Information hiding is also discussed while considering modular organizations1013. Teams carry out their tasks independently and without requiring visibility into the activities of others working on the overall task. Much of the literature was published before the widespread proliferation of cloud computing.

Recently Colfer & Baldwin, (2016)14 studied both the organizational and engineering literature and attempted to merge both traditions into a unified definition of the Mirroring Hypothesis. I have adopted their merged definition throughout this series of blog posts. Colfer & Baldwin’s, (2016)14 analysis is tailored towards business practitioners and therefore focuses on organizational aspects of the Mirroring Hypothesis with less emphasis placed on the technical aspects. They have limited coverage of SaaS cloud computing development or adoption within their study.

My posts are focused on the Software Engineering and Information Systems field and I therefore place a greater focus on the technical development of cloud computing services as well as consideration for the organizational aspects of adoption of cloud computing.

Next: Cloud Computing

  1. Thompson, J. D. (1967). Organizations in Action: Social Science Bases of Administrative Theory. By James D. Thompson. New York: McGraw-Hill Book Company, 1967. 192 pp. $7.95. Social Forces, 46(3), 412–413. ↩︎

  2. Conway, M. E. (1968). HOW DO COMMITTEES INVENT? 4. ↩︎

  3. Raymond, E. S., & Steele, G. L. (1996). The New Hacker’s Dictionary. MIT Press. ↩︎

  4. MacCormack, A., Baldwin, C., & Rusnak, J. (2008, March 27). Exploring the Duality between Product and Organizational Architectures: A Test of the Mirroring Hypothesis. Retrieved 15 August 2019, from HBS Working Knowledge website: ↩︎

  5. de Reuver, M., Sørensen, C., & Basole, R. C. (2018). The Digital Platform: A Research Agenda. Journal of Information Technology, 33(2), 124–135. ↩︎

  6. Cataldo, M., Herbsleb, J. D., & Carley, K. M. (2008). Socio-technical Congruence: A Framework for Assessing the Impact of Technical and Work Dependencies on Software Development Productivity. Proceedings of the Second ACM-IEEE International Symposium on Empirical Software Engineering and Measurement, 2–11. ↩︎

  7. Coplien, J. O., & Harrison, N. B. (2004). Organizational Patterns of Agile Software Development. Upper Saddle River, NJ, USA: Prentice-Hall, Inc. ↩︎

  8. Kwan, I., Cataldo, M., & Damian, D. (2012). Conway’s Law Revisited: The Evidence for a Task-Based Perspective. IEEE Software, 29(1), 90–93. ↩︎

  9. Baldwin, C. Y. (2007). Modularity, Transactions, and the Boundaries of Firms: A Synthesis. 56. ↩︎

  10. Baldwin, C. Y., & Clark, K. B. (2000). Design Rules: The power of modularity. MIT Press. ↩︎

  11. MacDuffie, J. P. (2013). Modularity-as-Property, Modularization-as-Process, and ‘Modularity’-as-Frame: Lessons from Product Architecture Initiatives in the Global Automotive Industry. Global Strategy Journal, 3(1), 8–40. ↩︎

  12. Parnas, D. L. (1972). On the Criteria to Be Used in Decomposing Systems into Modules. Commun. ACM, 15(12), 1053–1058. ↩︎

  13. Baldwin, C. Y., & Clark, K. B. (2006). The Architecture of Participation: Does Code Architecture ↩︎

  14. Colfer, L. J., & Baldwin, C. Y. (2016). The mirroring hypothesis: Theory, evidence, and exceptions. Industrial and Corporate Change, 25(5), 709–738. ↩︎