Sustainability Debt: A Portfolio-Based Approach for Evaluating Sustainability Requirements in Architectures

Architectural Sustainability refers to the ability of an architecture to achieve its goals while sustaining its value on dimensions related to environmental, social, economic, individual and/or technical during its operation and evolution. While the process of architectural design implies a fit between the requirements, system conditions and constraints; incomplete information and uncertainty may increase the cost of the architecture, introduce risks, alter its value and influence the extent to which it can evolve and sustain. We propose an economics-driven architectural evaluation method which extends the Cost Benefits Analysis Method (CBAM) and integrates principles of modern portfolio theory to control the risks when linking sustainability concern to architectural design decisions. The method aims at identifying portfolio(s) of architecture design decisions which are more promising for adding/delivering value while reducing risk on the sustainability dimensions. The method quantifies the sustainability debt of these decisions. The ultimate goal is to develop an objective decision-support framework for reasoning about sustainability requirements in relation architecture decisions in the presence of uncertainty. We evaluate the approach with an Emergency Deployment System (EDS). The results show that the method can make the value, cost and risks of architectural design decisions and sustainability requirements explicit.

[1]  Mark Klein,et al.  Quantifying the costs and benefits of architectural decisions , 2001, Proceedings of the 23rd International Conference on Software Engineering. ICSE 2001.

[2]  Ruzanna Chitchyan,et al.  Sustainability Debt: A Metaphor to Support Sustainability Design Decisions , 2015, RE4SuSy@RE.

[3]  Charles Richter,et al.  A review of the state of the practice in requirements modeling , 1993, [1993] Proceedings of the IEEE International Symposium on Requirements Engineering.

[4]  Rick Kazman,et al.  Using Economic Considerations to Choose Among Architecture Design Alternatives , 2001 .

[5]  Ruzanna Chitchyan,et al.  Sustainability Design and Software: The Karlskrona Manifesto , 2015, 2015 IEEE/ACM 37th IEEE International Conference on Software Engineering.

[6]  Xavier Franch,et al.  Systematic mapping study on software engineering for sustainability (SE4S) , 2014, EASE '14.

[7]  Caroline Jay,et al.  The Blind Men and the Elephant: Towards an Empirical Evaluation Framework for Software Sustainability , 2014 .

[8]  Birgit Penzenstadler,et al.  A generic model for sustainability with process- and product-specific instances , 2013, GIBSE@AOSD.

[9]  References , 1971 .

[10]  Sam Malek,et al.  GuideArch: Guiding the exploration of architectural solution space under uncertainty , 2013, 2013 35th International Conference on Software Engineering (ICSE).

[11]  A. Stuart,et al.  Portfolio Selection: Efficient Diversification of Investments , 1959 .

[12]  Axel van Lamsweerde,et al.  Elaborating security requirements by construction of intentional anti-models , 2004, Proceedings. 26th International Conference on Software Engineering.

[13]  S. Al-Athel,et al.  Report of the World Commission on Environment and Development: "Our Common Future" , 1987 .

[14]  B. Nuseibeh,et al.  Linking the Selection of Requirements to Market Value : A Portfolio-Based Approach Siv , 2001 .

[15]  Robert L. Nord,et al.  Managing technical debt in software-reliant systems , 2010, FoSER '10.

[16]  Jonas Schmitt Portfolio Selection Efficient Diversification Of Investments , 2016 .

[17]  Naeem Esfahani Guided Exploration of the Architectural Solution Space in the Face of Uncertainty , 2011 .

[18]  P. Chalasani,et al.  The Potential of Portfolio Analysis in Guiding Software Decisions , 1999 .

[19]  Rick Kazman,et al.  Making Architecture Design Decisions: An Economic Approach , 2002 .

[20]  Marcin Szlenk,et al.  Modelling Architectural Decisions under Changing Requirements , 2012, 2012 Joint Working IEEE/IFIP Conference on Software Architecture and European Conference on Software Architecture.

[21]  Birgit Penzenstadler,et al.  Towards a definition of sustainability in and for software engineering , 2013, SAC '13.

[22]  Barry W. Boehm,et al.  Value-Based Software Engineering: Overview and Agenda , 2006, Value-Based Software Engineering.

[23]  Ward Cunningham,et al.  The WyCash portfolio management system , 1992, OOPSLA '92.

[24]  Tony Gorschek,et al.  The software value map — an exhaustive collection of value aspects for the development of software intensive products , 2013, J. Softw. Evol. Process..