REARM: A Reuse-Based Economic Model for Software Reference Architectures Silverio Martínez-Fernández 1 , Claudia Ayala 1 , Xavier Franch 1 , Helena Martins Marques 2 1 GESSI Research Group, Universitat Politècnica de Catalunya, Barcelona, Spain {smartinez,cayala,franch}@essi.upc.edu 2 everis, Barcelona, Spain hmartinm@everis.com Abstract. To remain competitive, organizations are challenged to make in- formed and feasible value-driven design decisions in order to ensure the quality of their software systems. However, there is a lack of support for evaluating the economic impact of these decisions with regard to software reference architec- tures. This damages the communication among architects and management, which can result in poor decisions. This paper aims at ameliorating this problem by presenting a pragmatic preliminary economic model to perform cost-benefit analysis on the adoption of software reference architectures as a key asset for optimizing architectural decision-making. The model is based on existing val- ue-based metrics and economics-driven models used in other areas. A prelimi- nary validation based on a retrospective study showed the ability of the model to support a cost-benefit analysis presented to the management of an IT consult- ing company. This validation involved a cost-benefit analysis related to reuse and maintenance; other qualities will be integrated as our research progresses. Keywords: Software architecture, reference architecture, economic model, ar- chitecture evaluation, cost-benefit analysis, quality attributes. 1 Introduction and motivation Nowadays, the size and complexity of software systems, together with critical time- to-market needs, demand new software engineering approaches to software develop- ment. One of these approaches is the use of software reference architectures (RA), which are becoming widely studied and adopted in research and practice [3][19]. As defined by Bass et al. [5], an RA is “a reference model mapped onto software elements (that cooperatively implement the functionality defined in the reference model) and the data flows between them”. An RA encompasses the knowledge about how to design concrete software architectures (SA) of systems of a given domain; it must address the business rules, architectural styles, best practices of software devel- opment, and the software elements that support development of systems [28]. The motivations behind RAs are: to systematically reuse knowledge and software elements when developing concrete SA for new systems and thereby harvest potential