Academic paper

A Methodology for Operationalizing Enterprise Architecture and Evaluating Enterprise IT Flexibility

A Methodology for Operationalizing Enterprise Architecture and Evaluating Enterprise IT Flexibility by Alan MacCormack, Robert Lagerstrom, and Carliss Y. Baldwin We propose a network-based methodology for operationalizing enterprise architecture. Our methodology is based upon using a “Design Structure Matrix” (DSM) to capture the coupling between different components in a firm’s architecture, including business and technology-related aspects. We apply our methodology to data gathered in a large pharmaceutical firm. We show that this methodology helps to identify layers in the firm’s architecture associated with different technologies (e.g., applications, servers and databases). We also show that it reveals the main “flow of control” within the architecture, as denoted by the classification of components into Core, Peripheral, Shared and Control elements. We analyze [...]

Design Capital and Design Moves: The Logic of Digital Business Strategy

Design Capital and Design Moves: The Logic of Digital Business Strategy by C. Jason Woodward, Narayan Ramasubbu, F. Ted Tschang, and V. Sambamurthy As information technology becomes integral to the products and services in a growing range of industries, there has been a corresponding surge of interest in understanding how firms can effectively formulate and execute digital business strategies. This fusion of IT within the business environment gives rise to a strategic tension between investing in digital artifacts for long-term value creation and exploiting them for short-term value ap- propriation. Further, relentless innovation and competitive pressures dictate that firms continually adapt these artifacts to changing market and technological conditions, but sustained profitability requires scalable archi- tectures that can serve a large customer base and stable interfaces that support [...]

Technical Debt and the Reliability of Enterprise Software Systems: A Competing Risks Analysis

Technical Debt and the Reliability of Enterprise Software Systems: A Competing Risks Analysis by Narayan Ramasubbu and Chris F. Kemerer Enterprise software systems are required to be highly reliable as they are central to the business operations of most firms. However, configuring and maintaining these systems can be highly complex, making it challenging to achieve high reliability. Resource constrained software teams facing business pressures can be tempted to take design shortcuts in order to deliver business functionality more quickly. These design shortcuts and other maintenance activities contribute to the accumulation of technical debt, that is, a buildup of software maintenance obligations that need to be addressed in the future. We model and empirically analyze the impact of technical debt on system reliability by utilizing a longitudinal dataset spanning the 10 year lifecycle [...]

Design Rule Spaces: A New Form of Architecture Insight

Design Rule Spaces: A New Form of Architecture Insight by Lu Xiao, Yuanfang Cai, and Rick Kazman In this paper, we investigate software architecture as a set of overlapping design rule spaces, formed by one or more structural or evolutionary relationships and clustered using our design rule hierarchy algorithm. Considering evolutionary coupling as a special type of relationship, we investigated (1) whether design rule spaces can reveal structural relations among error-prone files; (2) whether design rule spaces can reveal structural problems contributing to error-proneness. We studied three large-scale open source projects and found that error-prone files can be captured by just a few design rule sub-spaces. Supported by our tool, Titan, we are able to flexibly visualize design rule spaces formed by different types of relationships, including evolutionary dependencies. This way, we are [...]

Understanding the Effects of Product Architecture on Technical Communication in Product Development Organizations

Understanding the effects of product architecture on technical communication in product development organizations by Manuel E. Sosa, Steven D. Eppinger, and Craig M. Rowles This paper examines the impact of architectural decisions on the level of defects in a product. We view products as collections of components linked together to work as an integrated whole. Previous work has established modularity (how decoupled a component is from other product components) as a critical determinant of defects, and we confirm its importance. Yet our study also provides empirical evidence for a relation between product quality and cyclicality (the extent to which a component depends on itself via other product components). We find cyclicality to be a determinant of quality that is distinct from, and no less important than, modularity. Extending this main result, we show how the [...]

Linking Cyclicality and Product Quality

Linking Cyclicality and Product Quality by Manuel Sosa, Jürgen Mihm, and Tyson Browning Effective communication in product development organizations is widely recognized to be a key element of product development performance. Furthermore, management of product architecture knowledge by the development organization provides important competitive advantage for established firms facing architectural innovation. This research studies how the combination of product architecture and organizational structure determines technical communication in development teams. By documenting and analyzing both the design interfaces between the components that comprise a product and the technical interactions between the teams that design each of these components, we learn how the architecture of the product and the layout of the organization drive development team interactions. Several hypotheses are [...]

Factors that Influence Technical Communication in Distributed Product Development: An Empirical Study in the Telecommunications Industry

Factors that influence technical communication in distributed product development : an empirical study in the telecommunications industry by Manuel E. Sosa, Steven D. Eppinger, Michael Pich, David G. McKendrick, and Suzanne K. Stout Understanding the communication process in product development organizations has been recognized as a key element to improve product development performance. It is particularly interesting to study information exchanges in geographically distributed product development teams because of the highly interdependent nature of design organizations. AAdditionally, the use of electronic-based communication media has changed how development teams communicate. By studying the way product development teams use various communication media (face-to-face, telephone, media), we assess how the process of exchanging technical information is influenced by factors such as [...]

Degree Distribution and Quality in Complex Engineered Systems

Degree Distribution and Quality in Complex Engineered Systems by Manuel Sosa, Jürgen Mihm and Tyson Browning Complex engineered systems tend to have architectures in which a small subset of components exhibits a disproportional number of linkages. Such components are known as hubs. This paper examines the degree distribution of systems to identify the presence of hubs and quantify the fraction of hub components. We examine how the presence and fraction of hubs relate to a system’s quality. We provide empirical evidence that the presence of hubs in a system’s architecture is associated with a low number of defects. Furthermore, we show that complex engineered systems may have an optimal fraction of hub components with respect to system quality. Our results suggest that architects and managers aiming to improve the quality of complex system designs must proactively identify and [...]

The Impact of Component Modularity on Design Evolution: Evidence from the Software Industry

The Impact of Component Modularity on Design Evolution: Evidence from the Software Industry by Alan MacCormack, John Rusnak and Carliss Y. Baldwin Much academic work asserts a relationship between the design of a complex system and the manner in which this system evolves over time. In particular, designs which are modular in nature are argued to be more “evolvable,” in that these designs facilitate making future adaptations, the nature of which do not have to be specified in advance. In essence, modularity creates “option value” with respect to new and improved designs, which is particularly important when a system must meet uncertain future demands. Despite the conceptual appeal of this research, empirical work exploring the relationship between modularity and evolution has had limited success. Three major challenges persist: first, it is difficult to measure modularity in a [...]

Evolution Analysis of Large-Scale Software Systems Using Design Structures Matrices and Design Rule Theory

Evolution Analysis of Large-Scale Software Systems Using Design Structure Matrices and Design Rule Theory by Matthew J. LaMantia, Yuanfang Cai, Alan David MacCormack and John Rusnak Designers often seek modular architectures to better accommodate expected changes and to enable parallel development. However, we lack a formal theory and model of modularity and software evolution, which can be used for description, prediction, and prescription. According to Baldwin and Clark’s  theory, modular architectures add value to system designs by creating options to improvethe system by substituting or experimenting on individual modules. In this paper, we evaluate their theory by looking at the design evolution of two software product platforms through the modeling lens of design structure matrices (DSMs) and design rule theory. Our analysis shows that DSM models and options [...]

Visualizing and Measuring Software Portfolio Architectures: A Flexibility Analysis

Visualizing and Measuring Software Portfolio Architectures: A Flexibility Analysis by Robert Lagerstrom, Carliss Y. Baldwin, Alan MacCormack, and David Dreyfus In this paper, we test a method for visualizing and measuring software portfolio architectures and use our measures to predict the costs of architectural change. Our data is drawn from a biopharmaceutical company, comprising 407 architectural components with 1,157 dependencies between them. We show that the architecture of this system can be classified as a “core-periphery” system, meaning it contains a single large dominant cluster of interconnected components (the “Core”) representing 32% of the system. We find that the classification of software applications within this architecture, as being either Core or Peripheral, is a significant predictor of the costs of architectural change. Using OLS regression models, we [...]

Visualizing and Measuring Enterprise Architecture: An Exploratory BioPharma Case

Visualizing and Measuring Enterprise Architecture: An Exploratory BioPharma Case by Robert Lagerstrom, Carliss Baldwin, Alan MacCormack and David Dreyfus We test a method that was designed and used previously to reveal the hidden internal architectural structure of software systems. The focus of this paper is to test if it can also uncover new facts about the components and their relationships in an enterprise architecture, i.e., if the method can reveal the hidden external structure between architectural components. Our test uses data from a biopharmaceutical company. In total, we analyzed 407 components and 1,157 dependencies. Results show that the enterprise structure can be classified as a core-periphery architecture with a propagation cost of 23%, core size of 32%, and architecture flow through of 67%. We also found that business components can be classified as control [...]

Designing Systems for Adaptability by Means of Architecture Options

Designing Systems for Adaptability by Means of Architecture Options by Avner Engel, and Tyson R. Browning The value of a system usually diminishes over its lifetime, but some systems depreciate more slowly than others. Diminished value is due partly to the increasing needs and wants of the system’s stakeholders and partly to its decreasing capabilities relative to emerging alternatives. Thus, systems are replaced or upgraded at substantial cost and disruption. If a system is designed to be changed and upgraded easily, however, this adaptability may increase its lifetime value. How can adaptability be designed into a system so that it will provide increased value over its lifetime? This paper describes the problem and an approach to its mitigation, adopting the concept of real options from the field of economics, extending it to the field of systems architecture, and coining the [...]

A Decision-Support System Approach to Economics-Driven Modularity Evaluation

A Decision-Support System Approach to Economics-Driven Modularity Evaluation by Yuanfang Cai, Rick Kazman, Carlos V.A. Silva, Lu Xiao, and Hong-Mei Chen Our research goal is to develop a decision-support system that would allow managers to play out various “what-if” scenarios to manage modularity debt and make informed decisions regarding refactoring. A decision-support system approach would appropriately address the need to simulate and visualize scenarios that include many different (current and future) factors under different assumptions that may affect the decision outcome. Our proposed system is called the modularity debt management decision-support system (MDM-DSS). Our MDM-DSS is built on a scientific foundation that we are constructing for explicitly manifesting the economic implications of software modularization activities, so that the costs and the benefits of such [...]

Modeling Impacts of Process Architecture on Cost and Schedule Risk in Product Development

Modeling Impacts of Process Architecture on Cost and Schedule Risk in Product Development by Tyson R. Browning and Steven D. Eppinger To gain competitive leverage, firms that design and develop complex products seek to increase the efficiency and predictability of their development processes. Process improvement is facilitated by the development and use of models that account for and illuminate important characteristics of the process. Iteration is a fundamental but often unaddressed feature of product development (PD) processes. Its impact is mediated by the architecture of a process, i.e., its constituent activities and their interactions. This paper integrates several important characteristics of PD processes into a single model, highlighting the effects of varying process architecture. The PD process is modeled as a network of activities that exchange deliverables. Each activity [...]

Measuring the Life-Cycle Value of Enduring Systems

Measuring the Life-Cycle Value of Enduring Systems by Tyson R. Browning, and Eric C. Honour A goal of systems development is to produce enduringly valuable product systems— i.e., systems that are valuable when delivered to their users and which continue to be attractive to their stakeholders over time. However, quantifying the life-cycle value (LCV) provided by a system has proven elusive. In this paper, we propose an approach to quantifying a system’s LCV based on the key parameters that have perceived value to the system’s stakeholders. For this, we draw upon insights from the management, marketing, product development, value engineering, and systems engineering literature. We then demonstrate our proposed approach with an example of a cellular telephone system. By designing systems for maximum LCV, systems architects and engineers will provide dramatically increased value to [...]

The Architecture of Platforms: A Unified View

The Architecture of Platforms: A Unified View by Carliss Y. Baldwin and C. Jason Woodard The central role of “platform” products and services in mediating the activities of disaggregated “clusters” or “ecosystems” of firms has been widely recognized. But platforms and the systems in which they are embedded are very diverse. In particular, platforms may exist within firms as product lines, across firms as multi-product systems, and in the form of multi-sided markets. In this paper we argue that there is a fundamental unity in the architecture of platforms. Platform architectures are modularizations of complex systems in which certain components (the platform itself) remain stable, while others (the complements) are encouraged to vary in crosssection or over time. Among the most stable elements in a platform architecture are the modular interfaces that mediate between the [...]

Organization Design for Distributed Innovation

Organization Design for Distributed Innovation by Carliss Y. Baldwin Systems of distributed innovation – so-called business ecosystems – have become increasingly prevalent in many industries. These entities generally encompass numerous corporations, individuals, and communities that might be individually autonomous but related through their connection with an underlying, evolving technical system. In the future, I believe the key problem for organization design will be the management of distributed innovation in such dynamic systems. Organization designers must think about how to distribute property rights, people, and activities across numerous self-governing enterprises in ways that are advantageous for the group as well as for the designer’s own firm or community. Read [...]

Hidden Structure: Using Network Methods to Map System Architecture

“Hidden Structure: Using Network Methods to Map System Architecture” by Carliss Baldwin, Alan MacCormack and John Rusnak In this paper, we describe an operational methodology for characterising 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 1,286 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 [...]

Managing Technical Debt in Enterprise Software Packages

Managing Technical Debt in Enterprise Software Packages by Narayan Ramasubbu and Chris F. Kemerer We develop an evolutionary model and theory of software technical debt accumulation to facilitate a rigorous and balanced analysis of its benefits and costs at different lifecycle stages of a large commercial enterprise software package. Our theory focuses on the optimization problem involved in managing technical debt, and illustrates the different tradeoff patterns between customer satisfaction and software quality under early and late adopter scenarios at different lifecycle stages of the software package. We empirically verify our theory utilizing a 10 year longitudinal dataset drawn from 69 customer installations of the software package. We then utilize the empirical results to develop actionable policies for managing technical debt in enterprise software product adoption. Read [...]