Visualizing and Measuring Software Portfolio Architectures: A Flexibility Analysis
Executive Summary — Contemporary business environments are constantly evolving, requiring continual changes to the software applications that support a business. Moreover, during recent decades, the sheer number of applications has grown significantly, and they have become increasingly interdependent. Many companies find that managing applications and implementing changes to their application portfolio architecture is increasingly difficult and expensive. Firms need a way to visualize and analyze the modularity of their software portfolio architectures and the degree of coupling between components. In this paper, the authors test a method for visualizing and measuring software portfolio architectures using data of a biopharmaceutical firm's enterprise architecture. The authors also use the measures to predict the costs of architectural change. Findings show, first, that the biopharmaceutical firm's enterprise architecture can be classified as core-periphery. This means that 1) there is one cyclic group (the "Core") of components that is substantially larger than the second largest cyclic group, and 2) this group comprises a substantial portion of the entire architecture. In addition, the classification of applications in the architecture (as being in the Core or the Periphery) is significantly correlated with architectural flexibility. In this case the architecture has a propagation cost of 23 percent, meaning almost one-quarter of the system may be affected when a change is made to a randomly selected component. Overall, results suggest that the hidden structure method can reveal new facts about an enterprise architecture. This method can aid the analysis of change costs at the software application portfolio level. Key concepts include:
- This method for architectural visualization could provide valuable input when planning architectural change projects (in terms of, for example, risk analysis and resource planning).
- The method reveals a "hidden" core-periphery structure, uncovering new facts about the architecture that could not be gained from other visualization procedures or standard metrics.
- Compared to other measures of complexity, coupling, and modularity, this method considers not only the direct dependencies between components but also the indirect dependencies. These indirect dependencies provide important input for management decisions.
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 show that this measure has greater predictive power than prior measures of coupling used in the literature.