Economics-Driven Software Architecture
By   |  August 31, 2014
Ivan Mistrik, Rami Bahsoon, Rick Kazman, Yuanyuan Zhang

In this publishing project we are editing a book titled Economics-Driven Software Architecture(EDSA). The main goal of this book is to outline some of the current thinking on the processes and practices for economics- and value-oriented software architecting. These orientations have many commonalities, and they often overlap in practice. There are many gray areas in which the expertise of more than one of these orientations is required in the planning and design of a system. Practicing software engineers, software architects, all researchers advancing our understanding and all students wishing to gain a deeper appreciation of underpinning theories, issues and practices within this domain will benefit from this book.

Introduction

Architects regularly make architectural design decisions but are usually unable to evaluate the economic impact of those decisions. Management, on the other hand, is often interested in product-level decisions (such as features and quality) but not in the technical details of how those decisions are reached. These differing interests lead to inconsistencies between how managers view value and how architects can enable or disable those value propositions through their design decisions. This lack of communication can result in poor decisions. Clearly, it is in the best interests of all stakeholders to make informed and technically feasible value-driven design decisions. Thus, architects need tools and techniques for applying economic-driven principles to software architecture to make better decisions and to better justify those decisions.

Current practice in architecting software systems does not often make economic and strategic considerations explicit. Architectural design decisions tend to be driven by ways that are not connected to, and usually not optimal for, value creation. Factors such as flexibility, time to market, cost, and risk reduction often have a great impact on value creation (Sullivan et al., 2001). Such ignorance is in stark contrast to the motivation and objectives of architecture-centric approaches to development and systematic evolution (e.g., model-driven architectures, domain-specific software architectures and product lines, component-based and middleware-induced architectures), where managing complexity, cost reduction, risk mitigation, evolvability, strategic planning, and long-term value creation are among the major drivers for adopting such approaches. This urges the need for economics-driven and value-based models and metrics, which provide the architect with insights into the long-term and strategic viability, cost effectiveness, and sustainability of the architecture design decisions. We argue that these metrics and models should be in the heart of the architecting process: inception, elaboration, composition, evaluation and analysis, implementation and deployment, maintenance and evolution of architectures. Such provision is important; it assists the objective assessment of the lifetime costs and benefits of evolving systems, and helps identify legacy situations, where an architecture or a component is indispensable but can no longer be evolved to meet changing needs at economic cost. Such consideration will form the scientific foundation for reasoning about the economics of nonfunctional requirements in the context of architectures and architecting.

Issues in economics-based and value-oriented software design

Software design, in some cases carried out across entire industry sectors, including open-source projects, university projects, and individual contributions, acts as a complex adaptive system, strongly driven to converge economically on, and to maintain, good architecture. Today we have few tested theories or practices either of design software-intensive systems for economic value or of how to establish economic forces that promote good architecture, such as through new contracting and acquisition structures. We therefore need research on harnessing economics to promote good architecture leading to a deeper understanding of how to organize architectures and design to maximize value and of how to create economic conditions that predictably provide incentives to create and sustain valuable architectures.

One of the questions that has arisen is how do we align architectures and industry structures to harness economic forces in the service of discovering and meeting key requirements of softwareintensive systems? Another question is how do we model interaction with a social context in a way that offers guidance for how to design and support software-intensive systems? One of the most important questions focuses on how to relate the design of software-intensive systems to business goals and value objectives in general.

Architectures create value in at least two ways. First, they can support the delivery of certain properties for which people are willing to pay. Second, they create options to make follow-on investments to adapt or evolve a design to deliver even more valuable properties. Figuring out how to put a value on these options—on the flexibility to vary or adapt a design—is a real challenge, especially when benefits are uncertain. How much should one invest in architecture? The emerging field of real options has the potential to provide an intellectual and mathematical handle on such questions. That said, traditional real options techniques (e.g., using Black-Scholes or binomial options pricing techniques) cannot be used directly because they make deep assumptions about the nature and measurability of the underlying uncertainties. These assumptions are generally not valid in the setting of design of unprecedented systems.

The chapters in this volume address these issues, and more. In so doing, they deepen our understanding of economics-driven software architecture and highlight the potential for new tools and new ways for architecting software-intensive systems.

© HPC Today 2024 - All rights reserved.

Thank you for reading HPC Today.

Express poll

Do you use multi-screen
visualization technologies?

Industry news

Brands / Products index