Author Abstract
In this paper, we describe an operational methodology for characterizing the architecture of technical systems and demonstrate its application to a large sample of software releases. Our methodology is based upon network graphs and allows us to identify and define three fundamental architectural patterns, which we call core-periphery, multi-core, and hierarchical. We apply our methodology to a sample of 1,286 software releases from 17 applications and find that 70% to 80% of these systems possess a core-periphery architecture under our classification scheme. This type of architecture is characterized by having a single dominant cyclic group (the Core) that is large relative to other cyclic groups and above a threshold with respect to system size. We find 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 tend to develop systems with smaller Cores, while closed collocated organizations tend to develop systems with larger Cores. Our findings represent a first step in establishing some "stylized facts" about the fine-grained structure of large, real-world technical systems.
Paper Information
- Full Working Paper Text
- Working Paper Publication Date: May 2013
- HBS Working Paper Number: 13-093
- Faculty Unit(s): Technology and Operations Management