Analyzing the Architectures of Software-Intensive Ecosystems

Software-intensive ecosystems include large numbers of independent software-intensive and human agents interacting with and responding to each other’s demands in ways that are not amenable to traditional ‘closed-world’ assumptions. The paper describes the core-periphery structures of the systems participating in ecosystems, and approaches the analysis of their ‘wicked’ behavior from the perspective of the market behaviors that they are expected to support. It proposes that a key driver of the ‘wickedness’ is the accelerating tempo at which an ecosystem is expected to respond to new kinds of demand, making it necessary to extend the concept of ‘architecture’ to include the resultant processes of dynamic alignment. As a result, it becomes necessary to analyze architecture in a way that includes the operational contexts-of-use within which systems are being used. The paper proposes the use of a multi-sided matrix to represent the variety of forms of dynamic alignment demanded, and describes an extension to the Architecture Tradeoff Analysis Method as a means of discovering the risks inherent in architectural decisions made to support a software-intensive ecosystem.