Economics-Driven Software Architecture

Book description

Economics-driven Software Architecture presents a guide for engineers and architects who need to understand the economic impact of architecture design decisions: the long term and strategic viability, cost-effectiveness, and sustainability of applications and systems. Economics-driven software development can increase quality, productivity, and profitability, but comprehensive knowledge is needed to understand the architectural challenges involved in dealing with the development of large, architecturally challenging systems in an economic way.

This book covers how to apply economic considerations during the software architecting activities of a project. Architecture-centric approaches to development and systematic evolution, where managing complexity, cost reduction, risk mitigation, evolvability, strategic planning and long-term value creation are among the major drivers for adopting such approaches. It assists the objective assessment of the lifetime costs and benefits of evolving systems, and the identification of legacy situations, where 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.

  • Familiarizes readers with essential considerations in economic-informed and value-driven software design and analysis
  • Introduces techniques for making value-based software architecting decisions
  • Provides readers a better understanding of the methods of economics-driven architecting

Table of contents

  1. Cover image
  2. Title page
  3. Copyright
  4. Acknowledgments
  5. About the Editors
  6. List of Contributors
  7. Foreword by John Grundy Economics-Driven Software Architecting
    1. Requirements impact on architecture economics
    2. Technology impact on architecture economics
    3. Environmental impact on architecture economics
    4. Process impact on architecture economics
    5. Team impact on architecture economics
    6. Business impact on architecture economics
    7. About the Author
    8. References
  8. Foreword by Len Bass
    1. About the Author
    2. References
  9. Preface
    1. Introduction
    2. Issues in economics-based and value-oriented software design
    3. Book overview
    4. Part 1—Fundamentals
    5. Part 2—Economics-driven architecting: design mechanisms and evaluation
    6. Part 3—Managing architectural economics
    7. Part 4—Linking architecture inception and evolution to economics: experiences and approaches
    8. Reference
  10. Chapter 1. Economics-Driven Software Architecture: Introduction
    1. 1.1 Introduction
    2. 1.2 Architecture and project management
    3. 1.3 Architecture-based economic modeling
    4. 1.4 Architecture-based benefit modeling
    5. 1.5 Architecture and risk management
    6. 1.6 Architecture and agility
    7. 1.7 Runtime economics-driven architecting
    8. 1.8 Final thoughts
    9. References
  11. Part I: Fundamentals of Economics-Driven Software Architecture
    1. Chapter 2. Economic Models and Value-Based Approaches for Product Line Architectures
      1. 2.1 Introduction
      2. 2.2 Background
      3. 2.3 Research framework
      4. 2.4 Economic models for software product lines
      5. 2.5 Relevant value-based approaches for SPL
      6. 2.6 Discussion on architectural issues
      7. 2.7 Related work
      8. 2.8 Conclusion
      9. References
    2. Chapter 3. Aspects of Software Valuation
      1. 3.1 Introduction
      2. 3.2 Basics of economic analysis
      3. 3.3 Valuation of software
      4. 3.4 Capitalize software investments or not?
      5. 3.5 Additional comments
      6. 3.6 Conclusion
      7. References
    3. Chapter 4. An Architecture Framework for Self-Aware Adaptive Systems
      1. 4.1 Introduction
      2. 4.2 Background and related research
      3. 4.3 SAAS architecture framework
      4. 4.4 Case study: health care management
      5. 4.5 Economic implications
      6. 4.6 Conclusions and discussion
      7. References
  12. Part II: Economics-Driven Architecting: Design Mechanisms and Evaluation
    1. Chapter 5. Economics-Driven Software Architecting for Cloud
      1. 5.1 Introduction
      2. 5.2 Background
      3. 5.3 The dynamic resource allocation problem
      4. 5.4 A software architecture for IaaS Cloud
      5. 5.5 Discussion
      6. 5.6 Conclusion
      7. References
    2. Chapter 6. A Decision-Support System Approach to Economics-Driven Modularity Evaluation
      1. 6.1 Introduction
      2. 6.2 A decision-support system approach: design considerations
      3. 6.3 The IEDME framework
      4. 6.4 Pilot industrial case studies
      5. 6.5 Discussion and future work
      6. 6.6 Conclusions
      7. 6.7 Acknowledgments
      8. References
    3. Chapter 7. Practices of Software Architects in Business and Strategy—An Industry Experience Report
      1. 7.1 Introduction
      2. 7.2 Identifying economic guidance for software architects
      3. 7.3 Structure of the chapter
      4. 7.4 Considerations on economics-driven software architecture
      5. 7.5 The business context of software architecture
      6. 7.6 Business strategy and planning
      7. 7.7 Products—definition and development
      8. 7.8 Cost and effort estimations
      9. 7.9 Legal environment
      10. 7.10 Standards and regulations
      11. 7.11 Project management
      12. 7.12 Economic considerations in the development process
      13. 7.13 Implementation and integration
      14. 7.14 Development process for architecture design
      15. 7.15 Product line organizations and re-use
      16. 7.16 Embedded systems development
      17. 7.17 Communication
      18. 7.18 Conclusions
      19. References
  13. Part III: Managing Architectural Economics
    1. Chapter 8. Toward Collaborative Software Engineering Leveraging the Crowd
      1. 8.1 Introduction
      2. 8.2 State of the art
      3. 8.3 Benefits of software engineering from crowdsourcing
      4. 8.4 Toward crowd-enabled software engineering
      5. 8.5 Conclusion
      6. References
    2. Chapter 9. Architectural Debt Management in Value-Oriented Architecting
      1. 9.1 Introduction
      2. 9.2 Architectural technical debt
      3. 9.3 ATD conceptual model and template
      4. 9.4 Method
      5. 9.5 Case study
      6. 9.6 Related work
      7. 9.7 Conclusions and future work
      8. Acknowledgments
      9. References
    3. Chapter 10. Value Matrix: From Value to Quality and Architecture
      1. 10.1 Introduction
      2. 10.2 Underlying themes
      3. 10.3 Value matrix framework
      4. 10.4 Value matrix representation
      5. 10.5 Summary
      6. Acknowledgments
      7. References
  14. Part IV: Linking Architecture Inception and Evolution to Economics: Experiences and Approaches
    1. Chapter 11. Software Evolution in the Presence of Externalities: A Game-Theoretic Approach
      1. 11.1 Introduction
      2. 11.2 Background
      3. 11.3 The software-evolution game
      4. 11.4 Conclusion
      5. References
    2. Chapter 12. Successful CyberInfrastructures for E-Health
      1. 12.1 Introduction
      2. 12.2 Needs and challenges for building E-Health CyberInfrastructures
      3. 12.3 Value-based Rich Services methodology
      4. 12.4 Lessons from practice
      5. 12.5 Future research directions
      6. 12.6 Conclusion
      7. Acknowledgments
      8. References
    3. Chapter 13. The Design Implications of Users’ Values for Software and System Architecture
      1. 13.1 Introduction
      2. 13.2 Values and related social issues
      3. 13.3 Taxonomy of values and system implications
      4. 13.4 Analyzing stakeholders’ values
      5. 13.5 Values and architecture implications
      6. 13.6 Values, nonfunctional requirements, and architecture patterns
      7. 13.7 Case study: value-based design of e-science applications
      8. 13.8 Conclusions
      9. References
  15. Glossary
  16. Author Index
  17. Subject Index

Product information

  • Title: Economics-Driven Software Architecture
  • Author(s): Ivan Mistrik, Rami Bahsoon, Rick Kazman, Yuanyuan Zhang
  • Release date: June 2014
  • Publisher(s): Morgan Kaufmann
  • ISBN: 9780124105072