Article ID Journal Published Year Pages File Type
984553 Research Policy 2014 17 Pages PDF
Abstract

•We describe a methodology for characterizing the architecture of complex systems.•Our methodology is based upon directed network graphs.•We define three types of architecture: Core–Periphery, Multi-Core, and Hierarchical.•We apply our methodology to a sample of 1286 software releases.•We find that most systems in our sample possess a Core–Periphery structure.

In this paper, we describe an operational methodology for characterizing the architecture of complex technical systems and demonstrate its application to a large sample of software releases. Our methodology is based upon directed network graphs, which allows us to identify all of the direct and indirect linkages between the components in a system. We use this approach to define three fundamental architectural patterns, which we label core–periphery, multi-core, and hierarchical. Applying our methodology to a sample of 1286 software releases from 17 applications, we find that the majority of releases possess a “core–periphery” structure. This architecture is characterized by a single dominant cyclic group of components (the “Core”) that is large relative to the system as a whole as well as to other cyclic groups in the system. We show that the size of the Core varies widely, even for systems that perform the same function. These differences appear to be associated with different models of development – open, distributed organizations develop systems with smaller Cores, while closed, co-located organizations develop systems with larger Cores. Our findings establish some “stylized facts” about the fine-grained structure of large, real-world technical systems, serving as a point of departure for future empirical work.

Related Topics
Social Sciences and Humanities Business, Management and Accounting Business and International Management
Authors
, , ,