a framework for software reference architecture analysis and...

116
Universitat Polit ` ecnica de Catalunya A Framework for Software Reference Architecture Analysis and Review — Thesis Proposal — Silverio Mart´ inez-Fern ´ andez Advised by Xavier Franch and Claudia A yala Barcelona, Spain June 2013

Upload: others

Post on 05-Sep-2020

2 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: A Framework for Software Reference Architecture Analysis and Reviesmartinez/files/thesis_proposal.pdf · 2013. 6. 17. · Universitat Politecnica de` Catalunya A Framework for Software

Universitat Politecnica de Catalunya

A Framework for Software ReferenceArchitecture Analysis and Review

— Thesis Proposal —

SilverioMartinez-FernandezAdvised by Xavier Franch and Claudia Ayala

Barcelona, SpainJune 2013

Page 2: A Framework for Software Reference Architecture Analysis and Reviesmartinez/files/thesis_proposal.pdf · 2013. 6. 17. · Universitat Politecnica de` Catalunya A Framework for Software
Page 3: A Framework for Software Reference Architecture Analysis and Reviesmartinez/files/thesis_proposal.pdf · 2013. 6. 17. · Universitat Politecnica de` Catalunya A Framework for Software

Abstract

Nowadays, the size and complexity of software systems, togetherwith critical time-to-market needs, pushes organizations to continuouslylook for techniques to improve their IT services in general, and the designof software architectures in particular. The use of software referencearchitectures allows organizations to reuse architectural knowledge andsoftware components in a systematic way and, hence, to reduce costs.

Software reference architectures mainly appear in organizations inwhich the multiplicity of software systems (i.e., systems developed atmultiple locations, by multiple vendors and across multiple organiza-tions) triggers a need for life-cycle support for all systems. Therefore,software reference architectures are very attractive when organizationsbecome large and distributed in order to develop new systems or newversions of systems. In return, organizations face the need to analyzethe return-on-investment in adopting software reference architectures,and to review these software reference architectures in order to ensuretheir quality and incremental improvement.

This thesis proposal presents the need of supporting organizations todecide on the adoption of software reference architectures and its subse-quent suitability for the organization purposes. We propose an empiricalframework aimed to help practitioners in such tasks by harvesting rele-vant evidence in software reference architecture projects from the widespectrum of involved stakeholders and commonly available informationand documentation. Such a framework comes from an action-researchapproach held in everis, an IT consulting firm.

This document presents the state-of-the-art and the first steps thathave been carried out to achieve these goals, together with a schedulefor forthcoming work.

Page 4: A Framework for Software Reference Architecture Analysis and Reviesmartinez/files/thesis_proposal.pdf · 2013. 6. 17. · Universitat Politecnica de` Catalunya A Framework for Software
Page 5: A Framework for Software Reference Architecture Analysis and Reviesmartinez/files/thesis_proposal.pdf · 2013. 6. 17. · Universitat Politecnica de` Catalunya A Framework for Software

Contents

1 Introduction 11.1 Problem . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21.2 Research Context . . . . . . . . . . . . . . . . . . . . . . . . . . 3

1.2.1 The “Cátedra everis-UPC” project . . . . . . . . . . . . 31.3 Structure of the document . . . . . . . . . . . . . . . . . . . . . 5

2 Background 72.1 Architecture Disciplines Basic Concepts . . . . . . . . . . . . . 7

2.1.1 Definitions of architecture disciplines . . . . . . . . . . 72.1.2 Relationships between architecture disciplines and so-

lution architecture . . . . . . . . . . . . . . . . . . . . . 82.1.3 Where Software Reference Architecture belongs to . . . 82.1.4 Summary . . . . . . . . . . . . . . . . . . . . . . . . . . 9

2.2 Software Reference Architecture Essentials . . . . . . . . . . . 112.2.1 Definition of Software Reference Architecture . . . . . 112.2.2 The Industrial Context of Software Reference Architec-

tures . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 122.2.3 Types of Software Reference Architecture . . . . . . . . 152.2.4 Which are the elements that compose a Reference Ar-

chitecture . . . . . . . . . . . . . . . . . . . . . . . . . . 162.2.5 Concrete Software Architecture and Software Reference

Architecture . . . . . . . . . . . . . . . . . . . . . . . . . 172.2.6 Product Line Architectures and Software Reference Ar-

chitectures . . . . . . . . . . . . . . . . . . . . . . . . . . 19

3 State-of-the-art 213.1 State-of-the-art of Software Reference Architecture Economics 21

3.1.1 Business Case Analysis and Return-On-Investment . . 213.1.2 Economic Models for Software Reference Architectures 223.1.3 Summary . . . . . . . . . . . . . . . . . . . . . . . . . . 25

3.2 State-of-the-art of Evaluation Methods for Software ReferenceArchitecture . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25

iii

Page 6: A Framework for Software Reference Architecture Analysis and Reviesmartinez/files/thesis_proposal.pdf · 2013. 6. 17. · Universitat Politecnica de` Catalunya A Framework for Software

iv Contents

3.2.1 Why is it important to review software reference archi-tectures? . . . . . . . . . . . . . . . . . . . . . . . . . . . 26

3.2.2 Relevant Aspects to Assess Software Reference Archi-tectures . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26

3.2.3 Summary . . . . . . . . . . . . . . . . . . . . . . . . . . 283.3 Conclusions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29

4 Thesis Proposal 314.1 Goal . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31

4.1.1 RQ 1: Is it worth to invest on the adoption of a softwarereference architecture? . . . . . . . . . . . . . . . . . . . 33

4.1.2 RQ 2: Once adopted, how the suitability of a softwarereference architecture for deriving concrete software ar-chitectures for an organization’s software systems canbe ensured? . . . . . . . . . . . . . . . . . . . . . . . . . 33

4.2 Research Methodology . . . . . . . . . . . . . . . . . . . . . . . 344.3 Contribution: A Framework for Analysis and Review of Soft-

ware Reference Architectures . . . . . . . . . . . . . . . . . . . 354.4 Tasks and Working Plan . . . . . . . . . . . . . . . . . . . . . . 40

4.4.1 Relationship of Tasks with Research Questions . . . . . 444.4.2 Working Plan . . . . . . . . . . . . . . . . . . . . . . . . 45

4.5 Publications . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 464.5.1 Framework for Software Reference Architecture . . . . 474.5.2 Software Reference Architecture Economics . . . . . . 484.5.3 Empirical Research on Software Reference Architecture 494.5.4 Application of a Reference Model for Predictive Ser-

vices Selection . . . . . . . . . . . . . . . . . . . . . . . . 50

References 51

Appendix A Glossary 59

Appendix B A Framework for Software Reference Architecture Ana-lysis and Review 61

Appendix C Conducting Empirical Studies on Reference Architec-tures in IT Consulting Firms 75

Appendix D REARM: A Reuse-Based Economic Model for SoftwareReference Architectures 83

Appendix E A Reuse-Based Economic Model for Software Refer-ence Architectures 99

Appendix F Benefits and Drawbacks of Reference Architectures 107

Page 7: A Framework for Software Reference Architecture Analysis and Reviesmartinez/files/thesis_proposal.pdf · 2013. 6. 17. · Universitat Politecnica de` Catalunya A Framework for Software

Chapter 1

Introduction

Every software system has a software architecture [11, p. 6]: “the softwarearchitecture of a system is the set of structures needed to reason about thesystem, which comprise software elements, relations among them, and pro-perties of both” [11, p. 4].

Nowadays, the size and complexity of software systems, together withcritical time-to-market needs, demand new software engineering approachesto design such software architectures [53]. One of these approaches is theuse of software reference architectures that allows to systematically reuseknowledge and elements when developing a concrete software architecture[22] [30]. A software reference architecture is, then, the baseline for manysoftware systems.

Hence, the purpose of software reference architectures is to serve as guid-ance for the development, standardization, and evolution of systems [53], asdepicted in Figure 1.1. This is possible because software reference architec-tures are abstract enough to allow its usage in differing systems’ contexts [2].It has been claimed that “reference architectures reduce the complexity ofhardware and software architecture by systematically reducing environmen-tal diversity [...], enables greatly increased speed and reduced operationalexpenses as well as quality improvements due to lowered complexity, greaterinvestment and greater reuse” [65]. Thus, “IT organizations that lack archi-tecture and configuration standards [...] have higher costs and less agilitythat those with enforced standards” [65].

Software reference architectures mainly appear in organizations wherethe multiplicity of software systems (i.e., systems developed at multiple loca-tions, by multiple vendors and across multiple organizations) triggers a needfor life-cycle support for all systems [22]. Therefore, software reference archi-tectures are very attractive when organizations become large and distributed[51] in order to develop new systems or new versions of systems.

According to their expected benefits, software reference architectures havebecome widely studied and used in software architecture research and prac-

1

Page 8: A Framework for Software Reference Architecture Analysis and Reviesmartinez/files/thesis_proposal.pdf · 2013. 6. 17. · Universitat Politecnica de` Catalunya A Framework for Software

2 Chapter 1. Introduction

Figure 1.1: Software reference architectures serve as guidance for the devel-opment, standardization, and evolution of concrete software architectures ofsoftware systems.

tice [2][54]. Reference architectures may be designed for domains as differentas software-intensive embedded systems [24], mobile code offload in hostileenvironments [66] and software testing tools [57].

Despite software reference architectures are widely recognized and usedby practitioners [4], their analysis and review has received little attention inthe literature. The next section describes this problem.

1.1 Problem

Currently, there is no specific support for the analysis and review of softwarereference architectures. While comprehensive methods have been definedfor the analysis and review of (concrete) software architectures, softwarereference architecture have received relatively less attention in literature. Thereasons for this can be probably traced in an assumption that theory onsoftware architectures is directly applicable to software reference architecture.But in practice, as Angelov et al. point out [4], practitioners face difficultiesin working with software reference architectures.

This problem originates from the specific features of software referencearchitectures with respect to software architectures [3], such as the need ofan initial investment, their generic nature, the wide group of stakeholdersthat they involved, their high level of abstraction or their instantiation in theorganization’s portfolio of software systems. This situation triggers specificquestions that have not been addressed yet. Some questions of quantitativenature: Is it worth to invest on the adoption of a software reference architecture?How is it possible to calculate the return-on-investment (ROI) of the adoption of a

Page 9: A Framework for Software Reference Architecture Analysis and Reviesmartinez/files/thesis_proposal.pdf · 2013. 6. 17. · Universitat Politecnica de` Catalunya A Framework for Software

1.2. Research Context 3

software reference architecture in an organization? Which commonly available datado organizations have to quantitatively calculate the costs and benefits of adoptinga software reference architecture in an organization? Which are the cost and benefitfactors of acquiring a software reference architecture in an organization? Andanother ones of qualitative character: Once adopted, how the suitability of asoftware reference architecture for deriving concrete software architectures for anorganization’s applications can be ensured? How different stakeholders perceive thepotential benefits and drawbacks of software reference architectures? Which are theelements that compose a software reference architecture in the industrial practice andwhat is their potential reuse across domains? Which are the quality attributes that asoftware reference architecture enforce?

Software reference vendors (e.g., software companies and informationtechnology consulting firms) and acquisition organizations lack of supportfor dealing with these questions. For instance, there is a shortage of economicmodels to precisely evaluate the benefit of architecture projects [16] in order totake informed decisions about adopting a software reference architecture in anorganization. Moreover, although there are qualitative evaluation methodsfor software reference architectures [3] [29] [34], they do not systematize howthese reference architectures should be evaluated regarding certain qualityattributes (for instance, their capability to satisfy the variability in applicationsdeveloped from software reference architectures [52]).

In this context, it becomes necessary to support practitioners in their dailywork when working with software reference architectures. Chapter 4 showsthe goal of this thesis, which attempts to ameliorate this problem and answerthe aforementioned questions.

1.2 Research Context

This document represents my thesis proposal on the PhD in Computing, atBarcelona School of Informatics (Facultat d’Informàtica de Barcelona) of theTechnical University of Catalonia (Universitat Politècnica de Catalunya). Itis being done inside the software architecture research area of the ResearchGroup of Software Engineering for Information Systems (GESSI).

The proposed thesis grows around software reference architectures andempirical research as a way of gaining knowledge in software reference ar-chitectures. The purpose of the thesis is to analyze quantitatively and qual-itatively software reference architectures, mainly motivated by the "Cátedraeveris-UPC" project.

1.2.1 The “Cátedra everis-UPC” project

This research has its origin in an ongoing action-research initiative among ourresearch group and everis. As a consulting company, everis offers solutionsfor big businesses (e.g., banks, insurance companies, public administration,

Page 10: A Framework for Software Reference Architecture Analysis and Reviesmartinez/files/thesis_proposal.pdf · 2013. 6. 17. · Universitat Politecnica de` Catalunya A Framework for Software

4 Chapter 1. Introduction

utilities, and industrial organizations) that provide a wide spectrum of ser-vices to their clients. Given the complexity of the resulting software systems,which integrate bespoke applications with commercial packages, these orga-nizations need high-quality software architectures, and this is the service thatthey hire to everis. The solution provided by everis is based on the adoptionof a software reference architecture in the organization, from which concretesoftware architectures are derived and used in a wide spectrum of applica-tions.

In this context, everis commissioned our research group two main tasks(respectively aligned with our research questions, later presented in Section4.1):

• to calculate the ROI that organizations get after adopting a softwarereference architecture.

• and to systematically gather empirical evidence about the elements thatcompose the software reference architectures that they designed fortheir clients. In this way, the architectural knowledge of years of workcould be captured in a congruent vision and can help everis’ employ-ees in the inception, design, and application of prospective softwarereference architectures.

First, the architecture group of everis experienced the inability to calculatethe ROI derived from software reference architectures that they create (orplan to create) for organizations. The purposes of our research are: on theone hand, to create guidelines for extracting costs and benefits of softwarereference architectures based on data that they already collected; and on theother hand, to create an economic model to make the software referencearchitecture business case.

Second, to gather such empirical evidence, it is necessary to contact soft-ware reference architecture’s stakeholders [44]. In everis, three essential rolesare distinguished: software architects that cooperatively work to figure out asoftware reference architecture to accomplish the desired quality attributesand architecturally-significant requirements of the client organization; archi-tecture developers that are responsible for coding, maintaining, integrating,testing and documenting the software reference architecture’s software com-ponents; and application builders that take reusable components from the soft-ware reference architecture and instantiate them to build concrete softwarearchitectures for software systems. The context in which these stakeholderswork is explain in depth in Section 2.2.2.

Page 11: A Framework for Software Reference Architecture Analysis and Reviesmartinez/files/thesis_proposal.pdf · 2013. 6. 17. · Universitat Politecnica de` Catalunya A Framework for Software

1.3. Structure of the document 5

1.3 Structure of the document

The rest of this document is structured in the following way:Chapter 2: Background. Chapter 2 presents basic concepts related to

software reference architecture. The first section introduces the differentdisciplines around the concept ’architecture’. The second section includes thecurrent state of software reference architecture theory.

Chapter 3: State-of-the-Art. Chapter 3 summarizes the current state-of-the-art in software reference architectures. On the one hand, the state-of-the-art about economic models for software reference architectures is analyzed.On the other hand, we study which empirical evidence about software refer-ence architecture needs to be investigated. Finally, the last section describesthe existing gaps in software reference architecture research that justify fur-ther work.

Chapter 4: Thesis Proposal. Chapter 4 presents the main goals of thePhD thesis, together with the main stages in the research. Finally, it includesbibliographic information about the work that has been published.

Page 12: A Framework for Software Reference Architecture Analysis and Reviesmartinez/files/thesis_proposal.pdf · 2013. 6. 17. · Universitat Politecnica de` Catalunya A Framework for Software
Page 13: A Framework for Software Reference Architecture Analysis and Reviesmartinez/files/thesis_proposal.pdf · 2013. 6. 17. · Universitat Politecnica de` Catalunya A Framework for Software

Chapter 2

Background

This chapter presents basic concepts related to software reference architec-ture. The first section introduces the different disciplines around the concept’architecture’. The second section includes the current state of software refer-ence architecture theory.

2.1 Architecture Disciplines Basic Concepts

The term “architecture” has been used extensively, but not always togetherwith software. Two architecture disciplines related to software architectureare system architecture and enterprise architecture [11, p. 7]. This sectiondiscusses:

• the definitions of software architecture, system architecture and enter-prise architecture,

• the relationships and boundaries between these three architecture dis-ciplines and solution architecture,

• where software reference architecture belongs to.

2.1.1 Definitions of architecture disciplines

As we have already stated, ‘the software architecture of a system is the setof structures needed to reason about the system, which comprise softwareelements, relations among them, and properties of both” [11, p. 4]

“A system’s architecture is a representation of a system in which thereis a mapping of functionality onto hardware and software components, amapping of the software architecture onto the hardware architecture, and aconcern for the human interaction with these components” [11, p. 7].

“Enterprise architecture is a description of the structure and behavior ofan organization’s processes, information flow, personnel, and organizational

7

Page 14: A Framework for Software Reference Architecture Analysis and Reviesmartinez/files/thesis_proposal.pdf · 2013. 6. 17. · Universitat Politecnica de` Catalunya A Framework for Software

8 Chapter 2. Background

subunits, aligned with the organization’s core goals and strategic direction”[11, p. 8].

2.1.2 Relationships between architecture disciplines and solutionarchitecture

Software architecture is different from other architecture disciplines (systemarchitecture and enterprise architecture). The main objects of study of asoftware architecture are: the abstraction of a software system that consists ofthree components: elements, form, and rationale [59]; and the set of significantdecisions about the organization of such software system [39].

However, system architecture and enterprise architecture “have broaderconcerns than software and affect software architecture through the establish-ment of constraints within a software system must live” [11]:

• a system architecture is concerned with a total system, including hard-ware, software and humans [11, p. 7].

• an enterprise architecture is concerned with how an enterprise’s soft-ware systems support the business processes and goals of the enterprise[11, p. 8].

To sum up, software is only one concern of system architecture and enter-prise architecture.

In spite of being different architecture disciplines, software architectureand system architecture share their support to software systems. Inside thecontext of enterprise architecture, they can be seen as solution architectures.The Open Group Architecture Framework (TOGAF) defines a solution ar-chitecture as “a description of a discrete and focused business operation oractivity and how IS/IT supports that operation. A Solution Architecture typ-ically applies to a single project or project release, assisting in the translationof requirements into a solution vision, high-level business and/or IT systemspecifications, and a portfolio of implementation tasks” [35]. Poort et al. [61]also use the term solution architecture to group various architecture “gen-res” with the common denominator of finding a solution to a particular setof stakeholders’ needs. Such common denominator is shared by softwarearchitecture and system architecture, so we can consider that both of themare solution architectures.

2.1.3 Where Software Reference Architecture belongs to

As defined by Bass et al. [10], reference models and reference architecturesare different concepts.

“A reference model is a division of functionality together with data flowbetween the pieces. A reference model is a standard decomposition of a

Page 15: A Framework for Software Reference Architecture Analysis and Reviesmartinez/files/thesis_proposal.pdf · 2013. 6. 17. · Universitat Politecnica de` Catalunya A Framework for Software

2.1. Architecture Disciplines Basic Concepts 9

Figure 2.1: The relationships of reference models, architectural patterns,reference architectures, and software architectures [10].

known problem into parts that cooperatively solve the problem”. They arisein mature domains in which experience has lead to a standard solution forthe problem, e.g., the standards parts of a compiler or a database manage-ment system and how such parts work together to accomplish their collectivepurpose.

On the other hand, a reference architecture is “a reference model mappedonto software elements (that cooperatively implement the functionality de-fined in the reference model) and the data flows between them. Whereasa reference model divides the functionality, a reference architecture is themapping of that functionality onto a system decomposition”.

The relationship among reference models, reference architectures, and(concrete) software architectures are shown in Figure 2.1. Summarizing, “areference architecture is a set of domain concepts mapped onto a standard set ofsoftware components and relationships” [19].

A Reference Architecture provides a prescriptive way (a template solu-tion) for an architecture for a particular domain [5] [71]. Reference Archi-tectures can be found in the aforementioned architecture disciplines, leadingto:

• Software reference architecture, such as RACE [34], which addressesthe engine software for document processing systems.

• System reference architecture, such as a distributed system referencearchitecture for Adaptive QoS and Resource Management [68].

• Enterprise reference architecture, such as PERA [70], which is a completeenterprise reference architecture as defined by the IFAC/IFIP Task Forceon Enterprise Integration.

This thesis proposal focuses on software reference architectures, whichare inside the software architecture field of research.

2.1.4 Summary

Figure 2.2 shows the relationship between software architecture, system ar-chitecture and enterprise architecture. Although all of them are different

Page 16: A Framework for Software Reference Architecture Analysis and Reviesmartinez/files/thesis_proposal.pdf · 2013. 6. 17. · Universitat Politecnica de` Catalunya A Framework for Software

10 Chapter 2. Background

architecture disciplines, they are interconnected, e.g., “the software architectfor a system should be on the team that provides input into the decisionsmade about the system or the enterprise” [11, p. 7]. For example, an enter-prise could adopt an enterprise architecture as an strategic activity, but needsalso to have a solution architecture (i.e., system architecture and/or softwarearchitecture) that deepens in the structure of a each system. This scenario isdepicted in Figure 2.3. Another example is that the software architecture of asystem needs to be in compliance with the system architecture (e.g., softwaresystems’ technologies need to be compatible with the hardware architecture).

Figure 2.2: Relationship between architecture disciplines: software archi-tecture, system architecture and enterprise architecture; Solution architectureincluding two architecture disciplines (software architecture and system ar-chitecture) as it is seen in the enterprise architecture context. Software ref-erence architecture as a sub field inside the software architecture discipline(reference architectures are also studied in the system and enterprise disci-plines).

To sum up, software reference architectures are attractive when enter-prises have many software systems that have very similar structure and sharea technological or business domain. Then, a software reference architecturecommon to such software systems can be designed. Such software referencearchitecture defines a standard structure of systems.

Page 17: A Framework for Software Reference Architecture Analysis and Reviesmartinez/files/thesis_proposal.pdf · 2013. 6. 17. · Universitat Politecnica de` Catalunya A Framework for Software

2.2. Software Reference Architecture Essentials 11

Figure 2.3: Coexistence of reference architectures from different architecturedisciplines: enterprise, system and software (adapted from [22]).

2.2 Software Reference Architecture Essentials

This section focuses on software reference architecture and studies:

• the definitions of software reference architecture,

• the industrial context of software reference architectures,

• the types of software reference architecture,

• the elements of software reference architecture,

• the boundaries of software reference architectures with respect to con-crete software architecture,

• and the boundaries of software reference architectures with respect toproduct line architecture.

2.2.1 Definition of Software Reference Architecture

Nakagawa et al. [53] define a software reference architecture as “an archi-tecture that encompasses the knowledge about how to design concrete architecturesof systems of a given application [or technological] domain; therefore, it must ad-dress the business rules, architectural styles (sometimes also defined as architecturalpatterns that address quality attributes in the reference architecture), best practicesof software development (for instance, architectural decisions, domain constraints,legislation, and standards), and the software elements that support development ofsystems for that domain. All of this must be supported by a unified, unambiguous,and widely understood domain terminology”.

Page 18: A Framework for Software Reference Architecture Analysis and Reviesmartinez/files/thesis_proposal.pdf · 2013. 6. 17. · Universitat Politecnica de` Catalunya A Framework for Software

12 Chapter 2. Background

Figure 2.4: Relationships among reference model (RM), software referencearchitecture (SRA) and concrete software architecture (SA) [44].

2.2.2 The Industrial Context of Software Reference Architectures

Software reference architectures mainly appear in organizations where themultiplicity of software systems (i.e., systems developed at multiple loca-tions, by multiple vendors and across multiple organizations) triggers a needfor life-cycle support for all systems [22]. Hence, software reference archi-tectures are very attractive when organizations become large and distributed[51] in order to develop new systems or new versions of software systems.According to their expected benefits, software reference architectures havebecome widely studied and used in software architecture research and prac-tice [2][54]. Nowadays, many software reference architecture vendors (suchas everis) and acquisition organizations are involved in software referencearchitecture projects.

We are interested in the case in which an acquisition organization (orclient organization) has adopted a software reference architecture from a de-velopment organization (or vendor) with the purpose of deriving concretesoftware architectures for each software system (or application). This usuallyhappens when a vendor organization (e.g., IT consulting firm or a softwaredevelopment company) is regularly contracted to create or maintain infor-mation systems in that acquisition organizations. Each information systemis built upon the software reference architecture and includes many softwaresystems (see Fig. 2.4).

A software reference architecture can be designed with an intended scopeof a single organization or multiple organizations that share a certain property.Although Fig. 2.4 shows software reference architectures that are used for thedesign of concrete software architectures in a single organization, there alsoexist software reference architectures for multiple organizations that share amarket or technological domain such as web applications [2].

Page 19: A Framework for Software Reference Architecture Analysis and Reviesmartinez/files/thesis_proposal.pdf · 2013. 6. 17. · Universitat Politecnica de` Catalunya A Framework for Software

2.2. Software Reference Architecture Essentials 13

The use of software reference architectures allows development organi-zations to reuse the architectural knowledge of their reference model, andsoftware components (normally associated to particular technologies) for thedesign of concrete software architectures in client organizations. Thus, soft-ware reference architectures inherit best practices from previous successfulexperiences and a certain level of quality. These software reference architec-tures provide a baseline that facilitates standardization and interoperabilityas well as the attainment of business goals during enterprise applications’development and maintenance.

Types of projects

There are three types of projects with different targets (Fig. 2.5): 1) Refer-ence model (RM) projects; 2) Software reference architecture (SRA) projects;and 3) Concrete software architecture (SA) projects. Each of these projectshas a team formed by several stakeholders. Here, we focus on key stake-holders for software reference architecture analysis. Stakeholders need tobe clearly defined for software reference architecture assessment purposes[3]. The people involved in a software reference architecture assessment arethe evaluation team, which conducts the empirical studies, and stakehold-ers from architecture projects. In the three types of projects defined aboveperformed by software reference architecture vendors (e.g., IT consultingfirms), we consider the following five stakeholders essential for softwarereference architecture assessment: project business manager, project techno-logical manager, software architect, developer, and application builder. Eachof these stakeholders has a vested interest in different architectural aspects,which are important to analyze and reason about the appropriateness andthe quality of the three types of projects [29]. However, there could be morepeople involved in an architectural evaluation, as Clements et al. indicatein [19]. As a consequence, although this context is generic for IT consultingfirms, projects. stakeholders may vary between firms. Below, we describe towhich type of project essential stakeholders belong and their interests.

Reference model projects It is composed of software architects from thedevelopment organization (e.g., IT consulting firm) that worked in previoussuccessful software reference architecture projects. They are specialized inarchitectural knowledge management. Their goal is to gather the best prac-tices from previous software reference architecture projects. experiences inorder to design and/or improve the corporate RM.

Software reference architecture projects Software reference architectureprojects involve people from the development organization and likely fromthe client organization. Their members (project technological managers, soft-

Page 20: A Framework for Software Reference Architecture Analysis and Reviesmartinez/files/thesis_proposal.pdf · 2013. 6. 17. · Universitat Politecnica de` Catalunya A Framework for Software

14 Chapter 2. Background

Figure 2.5: Relevant stakeholders for software reference architecture analysis[44].

ware architects and architecture developers) are specialized in architecturaldesign and have a medium knowledge of the organization business domain.

Project technological managers from the development organization areresponsible for meeting schedule and interface with the project business man-agers from the client organization.

Software architects (also called as software reference architecture man-agers) usually come from the development organization, although it mayhappen that the client organization has software architects in which organi-zation’s managers rely on. In the latter case, software architects from bothsides cooperatively work to figure out a solution to accomplish the desiredquality attributes and architecturally-significant requirements.

Architecture developers come from the development organization and areresponsible for coding, maintaining, integrating, testing and documentingsoftware reference architecture software components.

Page 21: A Framework for Software Reference Architecture Analysis and Reviesmartinez/files/thesis_proposal.pdf · 2013. 6. 17. · Universitat Politecnica de` Catalunya A Framework for Software

2.2. Software Reference Architecture Essentials 15

Concrete software architecture projects Enterprise application projects caninvolve people from the client organization and/or subcontracted develop-ment organizations (which may even be different than the reference modelowner) whose members are usually very familiar with the specific organiza-tion domain. The participation of the client organization in software referencearchitecture and concrete software architecture projects is one possible strat-egy for ensuring the continuity of their information systems without havingmuch dependency on subcontracted IT consulting firm.

Project business managers (i.e., customer) come from client organizations.They have the power to speak authoritatively for the project, and to manageresources. Their aim is to provide their organization with useful applicationsthat meet the market expectations on time.

Application builders take the software reference architecture reusablecomponents and instantiate them to build an application.

2.2.3 Types of Software Reference Architecture

Angelov et al. [2] distinguish between five types of software reference ar-chitectures. They define a multi-dimensional space to classify these types ofsoftware reference architectures, which is composed of 3 dimensions (context,goal and design) that include 8 sub-dimensions in total.

• Context dimension (C)

– C1: Where will it be used? Values: single organization, multipleorganizations.

– C2: Who defines it? Values: software groups, user groups, andindependent groups.

– C3: When is it defined? Values: preliminary, classical.

• Goal dimension (G)

– G1: Why is it defined? Values: standardization, facilitation.

• Design sub-dimensions (D)

– D1: What is described? Values: components and connectors, in-terfaces, protocols, algorithms, policies and guidelines.

– D2: How detailed is it described? Values: detailed, semi-detailed,and aggregated.

– D3: How concrete is it described? Values: abstract, semi-concrete,and concrete.

– D4: How is it represented? Values: informal, semi-formal, formal.

Page 22: A Framework for Software Reference Architecture Analysis and Reviesmartinez/files/thesis_proposal.pdf · 2013. 6. 17. · Universitat Politecnica de` Catalunya A Framework for Software

16 Chapter 2. Background

The values of a software reference architecture are mutually exclusivefor the G1, C1, and C3 sub-dimension (i.e., a reference architecture can beattributed only one value from these sub dimensions). It leads to fives typesof software reference architectures [2]:

• Type 1) Classical, standardization architectures to be implemented inmultiple organizations;

• Type 2) Classical, standardization architectures to be implemented in asingle organization;

• Type 3) Classical, facilitation reference architectures for multiple orga-nizations designed by a software organization in cooperation with userorganizations;

• Type 4) Classical, facilitation architectures designed to be implementedin a single organization;

• Type 5) Preliminary, facilitation architectures designed to be imple-mented in multiple organizations.

2.2.4 Which are the elements that compose a ReferenceArchitecture

Nakagawa et al. present in [54] RAModel. RAModel is a reference model forreference architectures that shows possibly all elements, organized by typesand relationships, which could be contained in reference architecture. Wethink that this reference model is applicable in a high degree to software andsystems reference architectures. RAModel is depicted in Figure 2.6. As Figure2.6 shows, these elements are inside one of the following four groups:

• Domain: It contains elements related to self-contained, specific infor-mation of the space of human action in the real world, such as domainlegislations, standards, and certification processes, which impact sys-tems and related reference architectures of that domain;

• Application: It contains elements that provide a good understandingabout the reference architecture, its capabilities and limitations. It alsocontains elements related to the business rules (or functionalities) thatcould be present in software systems built from the reference architec-ture;

• Infrastructure: It refers to elements that could be used to build the soft-ware systems based on the reference architecture. These elements areresponsible to enable these systems to automate, for instance, processes,activities, and tasks of a given domain; and

Page 23: A Framework for Software Reference Architecture Analysis and Reviesmartinez/files/thesis_proposal.pdf · 2013. 6. 17. · Universitat Politecnica de` Catalunya A Framework for Software

2.2. Software Reference Architecture Essentials 17

Figure 2.6: RAModel: Reference model for reference architectures [54].

• Crosscutting Elements: It aggregates a set of elements that are usu-ally spread across and/or tangled with elements of other three groups(domain, application, and infrastructure). We have observed that com-munication (that we have identified as internal and external) in thesoftware systems built from the reference architecture, as well as thedomain terminology and decisions are present in a spread and tan-gled way when describing other groups and are, therefore, crosscuttingelements.

On the other hand, Cloutier et al. vision of reference architecture is morealigned with enterprise reference architecture, since it also includes mission,vision and strategy of the organization [22] (see Figure 2.7).

2.2.5 Concrete Software Architecture and Software ReferenceArchitecture

There are many definitions of software architecture. We show below three ofthe most cited ones. The Software Engineering Institute keeps an up-to-datelist of software architecture’s definitions at [36].

Page 24: A Framework for Software Reference Architecture Analysis and Reviesmartinez/files/thesis_proposal.pdf · 2013. 6. 17. · Universitat Politecnica de` Catalunya A Framework for Software

18 Chapter 2. Background

Figure 2.7: Summary of the role of reference architectures [22].

“The software architecture of a system is the set of structures needed toreason about the system, which comprise software elements, relations amongthem, and properties of both” [11].

“The fundamental organization of a system, embodied in its components,their relationships to each other and the environment, and the principlesgoverning its design and evolution” [67].

“An architecture is the set of significant decisions about the organizationof a software system, the selection of the structural elements and their in-terfaces by which the system is composed, together with their behavior asspecified in the collaborations among those elements, the composition of thesestructural and behavioral elements into progressively larger subsystems, andthe architectural style that guides this organization—these elements and theirinterfaces, their collaborations, and their composition” [39].

The main difference between a software reference architecture and a soft-ware architecture is that the former one is much more generic for manysoftware systems of a domain. The above definitions highlight the architec-ture of “a” [11][67][39] system wheres an reference architecture “encompassesthe knowledge about how to design concrete architectures of systems” [53].Angelov et al. point out [2] “the generic nature of reference architectures as amain feature distinguishing them from concrete architectures. Their genericnature implies their applicability in multiple, different contexts, reflecting therequirements of the stakeholders in these contexts. The generic nature ofreference architectures is achieved by designing them at higher levels of ab-straction (abstracting from the differences introduced by the contexts). Thus,

Page 25: A Framework for Software Reference Architecture Analysis and Reviesmartinez/files/thesis_proposal.pdf · 2013. 6. 17. · Universitat Politecnica de` Catalunya A Framework for Software

2.2. Software Reference Architecture Essentials 19

we can label an architecture as reference, only if it is defined to abstract fromcertain contextual specifics allowing its usage in differing contexts” [2]. Also,Galster et al. show that reference architectures “capture the essence of thearchitecture of similar systems in an application or technology domain” and“can be instantiated for different contexts and at the same time support a highdegree of variability in instantiated architectures” [31].

2.2.6 Product Line Architectures and Software ReferenceArchitectures

The terms software reference architecture and software product line architec-ture are sometimes used indistinctly inside the software product line engi-neering context, in which the term software reference architecture is used torefer to “a core architecture that captures the high-level design for the appli-cations of the SPL” [60, p. 124] or “just one asset, albeit an important one, inthe software product line’s asset base” [21, p. 12].

However, out of the software product line context, software referencearchitecture and product line architecture are considered different types ofartifacts [2] [24] [31] [53]. In Fig. 1 we show the main similarities anddifferences:

• Product line architectures are software reference architectures whereasnot all software reference architectures are product line architectures[2], i.e. product line architectures are one type of software referencearchitectures [31]. Product line architectures are just one asset of SPL[21, p. 12].

• Software reference architectures are more generic and abstract thanproduct line architectures that are more complete architectures [2] [31].Hence, "software reference architectures can be designed with an in-tended scope of a single organization or multiple organizations thatshare a certain property" [2] whereas product line architectures are pro-duced for a single organization [31].

• Software reference architectures provide standardized solutions for abroader domain (i.e., "spectrum of systems in a technology or appli-cation domain" [31]) whereas product line architectures provide stan-dardized solutions for a smaller subset of the software systems of adomain [53] (i.e., "group of systems that are part of a product line"[31]). Therefore, product line architectures give a coherent and morecongruent view of the products in a project (i.e., possible to track thestatus of) [24] whereas by means of software reference architectures itis more difficult to obtain congruence [2], since they can only provideguidelines for applications’ development.

Page 26: A Framework for Software Reference Architecture Analysis and Reviesmartinez/files/thesis_proposal.pdf · 2013. 6. 17. · Universitat Politecnica de` Catalunya A Framework for Software

20 Chapter 2. Background

• Product line architectures specifically address points of variability andmore formal specification in order to ensure clear and precise behav-ior specifications at well-specified extension points [2]. In contrast,software reference architectures have less focus on capturing variationpoints [2] [24] [53]. Although variability is not typically addressed bysoftware reference architectures in a systematic manner, it is also a keyfact for software reference architectures [30], and it can be treated as aquality attribute, rather than explicitly as ’features’ and ’decisions’ [30].

• Software reference architectures include "the reuse of knowledge aboutsoftware development in a given domain, in particular with regardto architectural design" [53] and dictate the patterns and principles toimplement, i.e. "what the design should be" [24]. Conversely, productline architectures specifically indicate deviations, i.e. "what the designis" [24].

• Software reference architectures include architectural knowledge andthe instantiation of this architectural knowledge (i.e., reference model)into software elements [10]. In this sense, both software reference archi-tectures and product line architectures are "a superset, a tool box, withevery possible architecture element described, which can be used in thedesign of a product architecture" [24].

Figure 2.8: Similarities and differences between software reference architec-ture, product line architectures, and software product lines [45].

Page 27: A Framework for Software Reference Architecture Analysis and Reviesmartinez/files/thesis_proposal.pdf · 2013. 6. 17. · Universitat Politecnica de` Catalunya A Framework for Software

Chapter 3

State-of-the-art

This chapter summarizes the current state-of-the-art in software referencearchitectures. On the one hand, the state-of-the-art about economic modelsfor software reference architectures is analyzed. On the other hand, we studywhich empirical evidence about software reference architecture needs to beinvestigated. Finally, the last section describes the existing gaps in softwarereference architecture research that justify further work.

3.1 State-of-the-art of Software Reference ArchitectureEconomics

This section analyzes the state-of-the-art about economic models for softwarereference architectures.

3.1.1 Business Case Analysis and Return-On-Investment

Reifer defines a business case as the “materials prepared for decisions makersto show that the idea being considered is a good one and that the numbersthat surround it make financial sense” [63]. That is, business cases enable tojustify investments in technology. For instance, spending in the adoption of asoftware reference architecture without a previous and trustworthy analysisseems to be reckless and can lead to a disaster. There are more types of analysistechniques. Reifer has identified the following types of analysis techniquesfor business case [63]:

• Breakeven Analysis. Analysis performed to compute the value at whichthe solution will recover expenditures when comparing alternative useof resources.

• Cause-and-Effect Analysis. Analysis to explore solutions to problems.

• Cost/Benefit Analysis. Analysis performed to compute the net benefits(can be plus or minus) resulting from an investment decision.

21

Page 28: A Framework for Software Reference Architecture Analysis and Reviesmartinez/files/thesis_proposal.pdf · 2013. 6. 17. · Universitat Politecnica de` Catalunya A Framework for Software

22 Chapter 3. State-of-the-art

• Value Chain Analysis. Analysis to evaluate alternatives and assess theimpact of each option using a form of decision tree.

• Investment Opportunity Analysis. Analysis to assess the attractivenessof a range of alternatives. Example of financial measures are return oncapital, after-tax rate of return.

• Pareto Analysis. Analysis based on the premise that most effects aregenerated from relatively few causes (sometimes called the 80-20 rule).

• Payback Analysis. Analysis to calculate the amount of time required torecover the costs of the initial investment.

• Sensitivity Analysis. Analysis conducted to determine to which of theinput parameters the solution is sensitive.

• Trend Analysis. Statistical procedure used for estimating the mathema

The most common form of business case analysis is cost-benefit analysis. Itinvolves determining the relative financial costs, benefits, and ROI across asystem’s life-cycle as [15]:

ROI =Bene f its−Costs

Costs

Three additional factors may be important in business case analysis: thetime value of money, unquantifiable benefits, and uncertainties and risk.

First, money has value that increases over time due to inflation, i.e., today’smoney is less worth tomorrow. To calculate such value increase, present valueis used to enable decision makers to view future investments in terms of whatmoney is worth today [63].

Second, there are benefits that may be difficult to quantify. These benefitsshould also been taken into account when making a business case. To copewith them, there are two possibilities: determine an estimated quantita

Third, to adjust cost and benefits to risk, they can be multiplied by per-centages that generally increase the costs and reduce the benefits (assumingthe worst case). For instance, TEI [27] propose to multiple costs by valuesthat range from 98% to 150% and benefits by values between 50% and 110%.

3.1.2 Economic Models for Software Reference Architectures

Current research on software reference architecture evaluation consists ofanalysis methods [3] [29] [34] that involve the analysis of risks, non-risks,benefits and trade-offs. Although they facilitate the analysis of those aspectsbased on the most important and critical scenarios, they have little supportto analyze the cost and benefits of software reference architectures based oneconomics.

Page 29: A Framework for Software Reference Architecture Analysis and Reviesmartinez/files/thesis_proposal.pdf · 2013. 6. 17. · Universitat Politecnica de` Catalunya A Framework for Software

3.1. State-of-the-art of Software Reference ArchitectureEconomics 23

Introducing an software reference architecture into an organization in-volves making a decision of a greater degree than only considering the afore-mentioned aspects, since it should not only include quality, but it shouldalso include productivity issues. Whereas architectural quality is usuallyestimated in relation to eliciting implicit and explicit requirements of the dif-ferent stakeholders affected by the development of the system, productivityis actually measured in terms of effort, cost, and economic benefits. Never-theless, both views are necessary to achieve a comprehensive analysis of thesystem.

Up to our knowledge, there is no specific economic model for estimatingwhether it is worth or not to invest in a software reference architecture for anorganization. Due to the lack of research in this specific area, we have aimedat adopting and adapting existing results in related areas: economic modelsfor software product lines (SPL), cost-benefit analysis methods for softwarearchitectures, and more generic metrics about cost savings.

Economic models for software product lines and software reuse

Although we also consider that software reference architectures and productline architectures are different (see Section 2.2.6), some perceived benefits ofsoftware reference architecture (e.g., cost avoidance from reusing softwareelements) and cost-benefit factors (e.g., common software costs, unique de-velopment costs) are applicable to both, since both have reuse as their corestrategy. For this reason, we studied the applicability of some economic mod-els originally conceived for SPL to software reference architectures. Below,we summarize our results with respect to cost and benefit factors. To seemore models, the reader is referred to [1], in which Ali et al. surveyed twelveeconomic models for SPL, and to [28] [50] in which the authors surveyedeconomic models for software reuse.

Cost and Benefit Factors of Economic Models. SIMPLE [20], Poulin’smodel [62], and COPLIMO [14] are some of the most widespread economicmodels for SPLs. SIMPLE [20] comprises a set of seven cost factors:

• Corg, upfront investments to establish a SPL infrastructure.

• Ccab, the cost to build reusable assets of the SPL.

• Cunique, the cost to develop unique parts of products in a SPL.

• Creuse, the cost of reusing reusable assets in a product inside the SPL.

• Ccabu, the cost to evolve the core asset in a SPL.

• Cprod, the cost to build a product in a stand-alone fashion.

• Cevo, the cost to evolve a product in a stand-alone fashion.

Page 30: A Framework for Software Reference Architecture Analysis and Reviesmartinez/files/thesis_proposal.pdf · 2013. 6. 17. · Universitat Politecnica de` Catalunya A Framework for Software

24 Chapter 3. State-of-the-art

These cost factors and benefit functions can be used to construct equationsthat can answer a number of questions such as whether the SPL approachis the best option for development and what is the ROI for this approach.Ganesan et al. extended SIMPLE by considering infrastructure degenerationover time [32].

On the other hand, Poulin [62] and Boehm et al. [14] base their reuse-basedmodels in two parameters: RCR and RCWR.

• RCR (Relative Cost of Reuse). Assuming that the cost to develop areusable asset equals one unit of effort, RCR is the portion of this effortthat it takes to reuse a reusable asset without modification (black-boxreuse).

• RCWR (Relative Cost of Writing for Reuse). Assuming that the cost todevelop a new asset for one-time use equals one unit of effort, RCWR isthe portion of this effort that it takes to write a similar "reusable" asset.

For those cases in which there are difficulties to obtain historical data ofbuilding and evolving products in a stand-alone fashion (Cprod, Cevo), weconsider more adequate the use of RCR and RCWR (see Section 4.1, step 2).

Finally, we must note two models (Schmid [64], InCoME [55]) that inte-grate cost and investment models in different layers, which make them morecomprehensive.

Value of software architecture design decisions

There exist a few economics-based software architecture analysis methodsthat drive the decision-making process during software architecture reviewand design. In this direction, CBAM [37] is a useful method for prioritizingarchitectural decisions that bring higher value. In addition, Ozkaya et al.proposed an economic valuation of architectural patterns [58].

These approaches help to find the optimal set of decisions that maximizesthe ROI [26]. They pursue to solve the same problem of this paper, but theirscope is broader and general for any kind of software architecture decision anddo not reflect fundamental characteristics of adopting a software referencearchitecture. Therefore, their applicability for studying the ROI of softwarereference architecture adoption would require more effort, since specific cost-benefit factors for architecture-centric reuse are not considered. Hence, theyare not the most convenient approaches for making the business case ofadopting a software reference architecture and calculating its payback time.

Generic software metrics

There exist several approaches that propose metrics for estimating cost sav-ings in software development and maintenance. Metrics as dependency struc-ture matrices (DSM) have been applied to assist architecture-level analysis,

Page 31: A Framework for Software Reference Architecture Analysis and Reviesmartinez/files/thesis_proposal.pdf · 2013. 6. 17. · Universitat Politecnica de` Catalunya A Framework for Software

3.2. State-of-the-art of EvaluationMethods for SoftwareReference Architecture 25

such as value of modular designs, and they have proven to be particularly in-sightful for validating the future value of architecting modular systems [16].Mac-Cormack et al. extracted coupling metrics from an architecture DSMview for inferring the likelihood of change propagation and, hence, futuremaintenance costs [41]. Baldwin et al. presented a generic expression forevaluating the option to redesign a module also based on DSMs [9].

In addition, the concept of technical debt (either architecture-focused [56]or code-based [40]) is a way to measure unexpected rework costs due toexpediting the delivery of stakeholder value in short.

3.1.3 Summary

Although there is a lack of research in evaluating the economic viability ofsoftware reference architecture adoption, there is a strong base of research inrelated areas. The most important related area is economic models that iden-tify cost and benefit factors for product line architecture adoption. Althoughthere is a significant amount of research is this direction, it falls short in:

• Validation in industry. "Very few [economic models for SPL] actuallyhave been used as a basis for further development or adopted in indus-try" [23]. Thus, "there is a clear need for many more empirical studiesto validate existing models" [1].

• Easy adoption of models in industry by identifying realistic metricsto collect and report. "It is difficult for the practitioners to evaluatethe usability and usefulness of a proposed solution [economic modelfor SPL] for application in industry" [38]. Not guidelines exist to fullyoperationalize the models in practice [64].

Economics-driven software architecture analysis methods do not specifi-cally aim at making an in-vestment analysis of the adoption of an architecture-centric program. Software reference architecture adoption is a sub area insidetheir generic decision-making context.

At a lower level, more simple metrics like DSM, could also be adequatefor calculation the cost and benefit factors of software reference architectureadoption and make more complete models.

3.2 State-of-the-art of Evaluation Methods forSoftware Reference Architecture

This section studies which empirical evidence about software reference archi-tecture needs to be investigated. To do so, it firstly presents evaluation meth-ods to review software architectures and software reference architectures;and, then, it studies the relevant aspects used to assess software referencearchitectures, about which it is needed to extract evidence.

Page 32: A Framework for Software Reference Architecture Analysis and Reviesmartinez/files/thesis_proposal.pdf · 2013. 6. 17. · Universitat Politecnica de` Catalunya A Framework for Software

26 Chapter 3. State-of-the-art

3.2.1 Why is it important to review software referencearchitectures?

As Clement et al. point out [19], the software architecture of a system isimportant because it allows or precludes nearly all of the system’s qualityattributes. Software architecture is also a vehicle for communication amongstakeholders, the manifestation of the earliest design decisions, and a reusableabstraction of a system.

Software reference architecture serves as a baseline for deriving the soft-ware architecture of systems of a domain. For instance, an exemplar softwarereference architecture for the information system domain details in whichconsists of the software architecture of systems (i.e., a database, businesslogic, and a user interface mapped onto a three-tier client-server structure),and provides software components to support systems’ software architecture.

A software reference architecture can be applied to many software systemsexhibiting similar requirements (i.e., systems that share a domain) and canpromote large-scale reuse. Once built, a software reference “architecture andthe components that populate it can be one of an organization’s key assets formany years. An artifact of such far-ranging, long-lasting importance deservesto be evaluated to make sure it will serve its organization as intended” [19].

A software reference architecture is the result of early design decisionsthat are necessary before a group of people can collaboratively build thesoftware architecture of a software system. Clement et al. indicate that themost fundamental truth about architecture evaluation is: “if architectural de-cisions determine a system’s quality attributes, then it is possible to evaluatearchitectural decisions with respect to their impact on those attributes” [19].

Evaluations are a risk-mitigation effort. In other words, “architectureevaluation is a cheap way to avoid disaster” [19]. Their aim is to analyzesoftware architectures to identify potential risks and to verify that the qualityrequirements have been addressed in the design [23].

Evaluation Methods

Table 3.1 shows a summary of well-known evaluation methods of softwarearchitectures, and Table 3.2 shows how these methods have been extended toevaluate software reference architectures.

Current evaluation methods for software reference architectures extendfrom well-known evaluation methods for software architecture. As Table 3.2indicates, Angelov’s method [3] extends from ATAM, Graaf’s method [34]extends from SAAM and Gallaguer’s method [29] extends from ATAM.

3.2.2 Relevant Aspects to Assess Software Reference Architectures

Prior to analysis and review software reference architecture, it becomes nec-essary to previously identify relevant aspects to assess software reference

Page 33: A Framework for Software Reference Architecture Analysis and Reviesmartinez/files/thesis_proposal.pdf · 2013. 6. 17. · Universitat Politecnica de` Catalunya A Framework for Software

3.2. State-of-the-art of EvaluationMethods for SoftwareReference Architecture 27

Table 3.1: Evaluation Methods for Software Architecture.

Methods Evaluation Criteria Ref.ATAM Quality attributes (e.g., modifiability, secu-

rity, reliability and performance)[19]

SAAM Modifiability and functionality [19]ARID Suitability of design approach [19]TARA Requirements [73]LAAAM Design options [17]Scenario-basedpeer review

Risks associated with a single scenario [8]

Table 3.2: Evaluation Methods for Software Reference Architecture.

Authors Basedon

Evaluation Criteria Ref.

S. Angelov etal.

ATAM Quality attributes (extended with spe-cific in reference architecture, e.g., ap-plicability)

[3]

B. Graaf et al. SAAM Modifiability [34]B.P. Gallagher ATAM Quality attributes (e.g., modifiability,

security, reliability and performance)[29]

architectures. However, a commonly accepted set of criteria to assess soft-ware reference architectures does not exist [3] [29] [30] [34]. Thus, in thissection we identify important aspects to assess software reference architec-tures out of practice and out of the literature. These aspects should be seenas a primary input for their further refinement based on the evidence fromorganizations (throughout this thesis).

In [3], Angelov et al. state that software architectures and software refer-ence architectures have to be assessed for the same aspects. For this reason,we started by analyzing some available works on software architecture as-sessment [12] [25]. However, existing evaluation methods for software archi-tectures are not directly applicable to software reference architectures becausethey do not cover the generic nature of software reference architectures [3].Therefore, we elaborated further this analysis considering both the specificcharacteristics of software reference architectures as described in [3] [29] [30][53] and our own experience in the field. The resulting aspects for assessingsoftware reference architecture are detailed below and summarized in Table3.3.

Aspect 1 refers to the need of having an overview of the software ref-erence architecture. It includes an analysis of its generic functionalities, itsdomain [3], its origin and motivation, its correctness and utility, and its sup-

Page 34: A Framework for Software Reference Architecture Analysis and Reviesmartinez/files/thesis_proposal.pdf · 2013. 6. 17. · Universitat Politecnica de` Catalunya A Framework for Software

28 Chapter 3. State-of-the-art

port for efficient adaptation and instantiation [30]. Since software referencearchitectures are defined to abstract from certain contextual specifics allowingits usage in differing contexts [2], their support for efficient adaptation andinstantiation while deriving concrete software architectures is an aspect toassess [30].

Many prominent researchers [3] [19] [25] [29] highlight the importance ofquality at-tributes, as well as architectural decisions for the software archi-tecture design process and the architectural assessment. These two aspectsshould also be considered for the software reference architecture assessmentbecause, as we said, software architectures and software reference architec-tures have to be assessed for the same aspects [3]. Thus, we consideredthem as Aspects 2 and 3 respectively. However, since an software referencearchitecture has to address more architectural qualities than an software ar-chitecture (e.g., applicability) [3], this analysis could be wider for softwarereference architectures in this sense. A list of quality attributes that are strictlydetermined by software architectures is defined in [19]. This list consists ofthe following ten quality attributes: performance, reliability, availability, se-curity, modifiability, portability, functionality, variability, subsetability andconceptual integrity.

Software architectures also address business qualities [3] (e.g., cost, time-to-market) that are business goals that affect their competence [12]. It isconsidered as Aspect 4.

To improve the software architecture design process, there also exist sup-portive technologies such as methods, techniques and tools [25] [53]. Thus,it is not only important for an software reference architecture to collect datato assess its design process, but also its supportive technologies, which areassessed by Aspects 5 and 6.

As stated in [25], a crucial aspect to define the goodness of a softwarearchitecture is related to the ROI. The optimal set of architectural decisionsis usually the one that maximizes the ROI. Aspect 7 is intended to quantifybenefits and costs of software reference architectures to calculate their ROI.

These architectural aspects can be divided in two areas of different nature.First, Aspects 1 to 6 are qualitative architectural concerns. Second, Aspect 7consists of quantitative metrics to calculate the benefits and costs of derivingsoftware architectures from software reference architectures.

3.2.3 Summary

We recommend gathering evidence about all these aspects, which are summa-rized in Table 3.3, while assessing an software reference architecture. Existingmethods for software architecture assessment have been previously appliedfor software reference architecture assessment, such as in [3] [29] [34]. How-ever, none of them cover all the aspects of Table 3.3, especially Aspect 7.

Page 35: A Framework for Software Reference Architecture Analysis and Reviesmartinez/files/thesis_proposal.pdf · 2013. 6. 17. · Universitat Politecnica de` Catalunya A Framework for Software

3.3. Conclusions 29

Table 3.3: Summary of relevant aspects for software reference architectureassessment.

Aspect Description of the Architectural Aspect

Qualitative

1 Overview: functionalities, origin, utility andadaptation

2 Requirements and quality attributes analysis3 Architectural knowledge and decisions4 Business qualities and architecture competence5 Software development methodology6 Technologies and tools

Quantitative 7 Benefits and cost metrics to derive softwarearchitectures from software reference architec-tures

Hence, new approaches to assess software reference architectures consider-ing these aspects altogether are required. This has motivated our work.

3.3 Conclusions

The state-of-the-art summarized in Section 3.1.3 drove us to the formulationof an economic model for software reference architectures. The formulationof the model aims to:

• Adapt cost and benefit factors from SPL models that are easy-to-applyby industry. The goal is to provide guidelines to fully operationalizethe model in practice.

• Fill the gap of software reference architecture economics inside the soft-ware architecture decision-making context.

• Look for generic software metrics that can quantify new cost and benefitfactors.

On the other hand, in spite of the existence of evaluation methods for soft-ware reference architectures, “the software engineering community rarelyadopts the methods and techniques available to support disciplined architec-ture review processes” [7]. We posit two possible reasons for this:

• As Ali Babar et al. point out, we think that “there remains a need forsystematically accumulating and widely disseminating evidence aboutthe factors that may influence the selection and use of different methods,techniques, and tools for architecture evaluation” [6].

Page 36: A Framework for Software Reference Architecture Analysis and Reviesmartinez/files/thesis_proposal.pdf · 2013. 6. 17. · Universitat Politecnica de` Catalunya A Framework for Software

30 Chapter 3. State-of-the-art

• Evaluation teams need to have the vision from all stakeholders (e.g.,project managers, software architects, developers, etc.). When they donot have such vision, they experience problems while conducting ar-chitectural reviews. Each of these stakeholders has a vested interestin different architectural aspects, which are important to analyze andreason about the appropriateness and the quality of the reference archi-tecture [29].

In order to overcome these two issues, we propose conducting empiricalstudies to accumulate real evidence about the relevant aspects for evalu-ating software reference architectures from essential type of stakeholders.Such empirical studies should gather data about all software reference archi-tecture relevant aspects (see them in Section 3.2.2). The gathering of all theserelevant aspects from essential stakeholders is novel regarding the currentstate-of-the-art summarized in Section 3.2.3.

Page 37: A Framework for Software Reference Architecture Analysis and Reviesmartinez/files/thesis_proposal.pdf · 2013. 6. 17. · Universitat Politecnica de` Catalunya A Framework for Software

Chapter 4

Thesis Proposal

This chapter presents the main goal and objectives of the PhD thesis, theresearch methodology that is and will be used in the development of thethesis, together with the research plan for the work that remains to be done.Finally, it presents bibliographic information about the work that has beenpublished.

4.1 Goal

This section exposes the goal of this thesis:

To support organizations to decide on the adoption of softwarereference architectures and its subsequent suitability for the

organization purposes.

This research goal is divided into two Research Questions (RQ):

• RQ 1: Is it worth to invest on the adoption of a software reference architecture?

The objective of the RQ 1 is to provide guidelines to support organiza-tions to quantitatively analyze if it is worth to adopt a software referencearchitecture. Such an objective consists of constructing an economicmodel for software reference architectures that enables to make businesscase for financial analysis. This analysis optimize the decision-makingprocess when studying whether to make the strategic move to softwarereference architecture in an organization.

Likewise, this research question is divided into four sub-research ques-tions:

31

Page 38: A Framework for Software Reference Architecture Analysis and Reviesmartinez/files/thesis_proposal.pdf · 2013. 6. 17. · Universitat Politecnica de` Catalunya A Framework for Software

32 Chapter 4. Thesis Proposal

– RQ 1.1: Under which context are software reference architecturesused in practice?

– RQ 1.2: Which commonly available data do organizations haveto quantitatively calculate the costs and benefits of adopting asoftware reference architecture in an organization?

– RQ 1.3: Which are the cost and benefit factors of acquiring a soft-ware reference architecture in an organization?

– RQ 1.4: How is it possible to calculate the return-on-invest of theadoption of a software reference architecture in an organization?

• RQ 2: Once adopted, how the suitability of a software reference architecture forderiving concrete software architectures for an organization’s software systemscan be ensured?

The objective of the RQ 2 is to provide guidelines to support prac-titioners to qualitatively review the suitability of a software referencearchitecture for deriving concrete software architectures for an organi-zation’s software systems. This general objective consists of gathering,increasing and disseminating empirical evidence about relevant aspectsof software reference architectures. This objective is twofold: to helpresearchers to assess current research and identify promising futureresearch areas, and practitioners to choose appropriate methods andtechniques for supporting the software reference architecture designand evaluation.

Specifically, this research question is divided into five sub-research ques-tions:

– RQ 2.1: How different stakeholders perceive the potential benefitsand drawbacks of software reference architectures?

– RQ 2.2: Which are the elements that compose a software referencearchitecture in the industrial practice and what is their potentialreuse across domains?

– RQ 2.3: Which are the quality attributes that a software referencearchitecture enforce?

– RQ 2.4: How are architectural decisions taken and documented inreal software reference architecture projects?

– RQ 2.5: Which supportive technologies (i.e., methodologies, tools)are currently being used in real software reference architectureprojects?

The Section 4.1.1 and Section 4.1.2 describe these two research questionsrespectively.

Page 39: A Framework for Software Reference Architecture Analysis and Reviesmartinez/files/thesis_proposal.pdf · 2013. 6. 17. · Universitat Politecnica de` Catalunya A Framework for Software

4.1. Goal 33

4.1.1 RQ 1: Is it worth to invest on the adoption of a softwarereference architecture?

The creation and maintenance of complex software systems involves makinga series of business-critical architecture design decisions [49]. Imagine thatyou are the CIO of an organization with a wide portfolio of software systems.You have read about the expected benefits than a software reference architec-ture may bring to the organization, e.g., standardization of concrete softwarearchitecture of systems, greater reuse, shorter time-to-market, reduced costs,reduced risk, support for system development at multiple locations, by mul-tiple vendors and across multiple organizations, and so on. Therefore, youare considering to adopt a software reference architecture to create and main-tain your organization’s software systems. However, how do you know ifit is worth to invest on the adoption of a software reference architecture?How many software systems are necessary before savings pay off for theup-front investment in building a software reference architecture? Which isthe return-on-investment (ROI) of a software reference architecture? Thesequestions could be answered by making a business case with the help of aneconomic model for software reference architectures.

Reifer defines a business case as the “materials prepared for decisionsmakers to show that the idea being considered is a good one and that thenumbers that surround it make financial sense” [63]. That is, business casesenable to justify investments in technology. Spending in the adoption of asoftware reference architecture without a previous and trustworthy analysisseems to be reckless and can lead to a disaster.

In the software reference architecture context, an economic model isneeded to help making business cases. An economic model should takeinto account costs, benefits, risks, and schedule implications. An economicmodel to perform cost-benefit analysis on the adoption of software referencearchitecture is a key asset for optimizing architectural decision-making.

4.1.2 RQ 2: Once adopted, how the suitability of a softwarereference architecture for deriving concrete softwarearchitectures for an organization’s software systems can beensured?

Introducing a software reference architecture into an organization not onlyinvolves making a decision considering the aforementioned productivity is-sues, but also involves the analysis of risks, non-risks, benefits and trade-offs.Whereas productivity is actually measured in terms of effort/cost and eco-nomic benefits, architectural quality is usually estimated in relation to elic-iting implicit and explicit requirements of the different stakeholders affectedby the development of the system. Nevertheless, both views are necessary toachieve a comprehensive analysis of the system.

Page 40: A Framework for Software Reference Architecture Analysis and Reviesmartinez/files/thesis_proposal.pdf · 2013. 6. 17. · Universitat Politecnica de` Catalunya A Framework for Software

34 Chapter 4. Thesis Proposal

The software architecture of a software system is an early result of the de-velopment cycle. Therefore, evaluating every aspect of software architecturein advance (e.g., identifying improvements that can dramatically improveany system’s performance, security, reliability, and maintainability) impliesa remarkably low cost, since by then the implementation of the system hasnot been started [19]. As a result, the practice of evaluating software architec-tures has matured, with well-known evaluation methods such as ATAM [19],TARA [73], LAAAM [17] and scenario-based peer reviews [8]. Besides, thesemethods have been investigated and extended to evaluate reference architec-tures, such as already presented in [3] [29] [34]. However, there is a lack ofrecent research that proposes means to evaluate reference architectures [52].

In spite of the existence of evaluation methods, “the software engineeringcommunity rarely adopts the methods and techniques available to supportdisciplined architecture review processes” [7]. To overcome it, we proposeconducting empirical studies to accumulate real evidence about the relevantaspects for evaluating software reference architectures from key stakeholders.

4.2 Research Methodology

Empirical research is a way of gaining knowledge by means of direct andindirect observation or experience [69]. One of the objectives of EmpiricalSoftware Engineering is to gather and utilize evidence to advance softwareengineering methods, processes, techniques, and tools [25].

Figure 4.1 shows the relationships among software architecture theory,empirical theory, empirical assessments, challenges, lessons learned, and em-pirical results [25]. “When researchers attempt to empirically assess softwarearchitecture theory, they face challenges from both empirical theory and soft-ware architecture theory. Empirical theory provides the means to gather anddisseminate evidence in order to support the claims of efficiency or efficacy ofa particular technology. Software architecture theory provides the hypothesiswhich will be accepted or rejected. Empirical research can provide the resultson which to build and/or assess the theoretical foundations underpinningvarious software architecture-related technologies. Experiences and lessonslearned from empirically assessing software architecture research representa valuable -but often underestimated- means of improving the application ofthe empirical paradigm to software architecture research and practice” [25].

This thesis proposal fosters the conduction of empirical studies as a wayto build up software reference architecture theory. Therefore, we instantiatedthis methodology for the sub-area of software reference architecture insidesoftware architecture field of research. Figure 4.1 shows such instantiation.The next section describes the challenges and expected contribution of thisthesis: A Framework for Software Reference Architecture Analysis and Re-view.

Page 41: A Framework for Software Reference Architecture Analysis and Reviesmartinez/files/thesis_proposal.pdf · 2013. 6. 17. · Universitat Politecnica de` Catalunya A Framework for Software

4.3. Contribution: A Framework for Analysis and Review ofSoftware Reference Architectures 35

Figure 4.1: Relationships between empirical theory and software architecturetheory as defined in [25]. Instantiation for Software Reference Architectureand the Challenges of this Thesis (see Table 4.1).

4.3 Contribution: A Framework for Analysis andReview of Software Reference Architectures

To accomplish the goal of this research, we plan to devise a framework byproviding procedural guidelines for setting up and carrying out empirical

Page 42: A Framework for Software Reference Architecture Analysis and Reviesmartinez/files/thesis_proposal.pdf · 2013. 6. 17. · Universitat Politecnica de` Catalunya A Framework for Software

36 Chapter 4. Thesis Proposal

studies. Such a framework has two challenges, presented in Table 4.1. Inorder to achieve these challenges, the conduction of empirical studies pursuestwo main expected results (second column of Table 4.1).

Table 4.1: Research Questions’ Challenges and Expected Results.

RQ Challenge Expected Result and Contribution1 Calculate the ROI of

software referencearchitecture adoptionfor an organization.

An economic model for software referencearchitectures. Its purpose is to supportbusiness case to make financial analysis

that optimize the decision-making processwhen studying whether to make thestrategic move to software reference

architecture or not.2 Gain knowledge about

relevant aspects ofsoftware reference

architectures.

Gathering and disseminate empiricalevidence about relevant aspects of

software reference architectures. It helpsresearchers to assess current research andidentify promising future research areas,and practitioners to choose appropriate

methods and techniques for supporting thesoftware reference architecture adoption.

The framework, aimed to analyze and review software reference archi-tectures, is composed of an assortment of empirical studies. These empiricalstudies are classified by two dimensions:

• The step in which the framework is being applied. Wohlin et al. statethat “it is in most cases impossible to start improving directly” [72].The framework has three steps: understand, evaluate and improve. Theframework deals with the two former steps, in which surveys are insidethe understanding step, and models and methods in the evaluation step.The improving step is achieved by iteratively applying the evaluationstudies and considering the lessons learned.

• The Research Question that the study approaches. Therefore, there aretwo possible values: RQ 1 (quantitative study) and RQ 2 (qualitativestudy).

Figure 4.2 describes the dimensions and the studies that compose theframework. The rows indicate the step in which the framework is beingapplied whereas the columns show the research question that the study ap-proaches.

Page 43: A Framework for Software Reference Architecture Analysis and Reviesmartinez/files/thesis_proposal.pdf · 2013. 6. 17. · Universitat Politecnica de` Catalunya A Framework for Software

4.3. Contribution: A Framework for Analysis and Review ofSoftware Reference Architectures 37

Figure 4.2: Framework to analyze and review software reference architectures(RA in the figure).

As shown by Figure 4.2, the framework is composed of four studies, twostudies to cope with quantitative analysis (see details in Table 4.2) and twostudies to cope with qualitative analysis (see details in Table 4.3):

• RQ 1 supported by two studies:

– A Survey to check existing value-driven data in organizations. It aims toprovide support or guidelines to check existing value-driven datain the organization in order to perform a quantitative evaluation.

– An Economic model to calculate the ROI of adopting an software refer-ence architecture. It aims to provide an economic model to calculatethe return-on-investment of adopting a software reference archi-tecture.

• RQ 2 supported by two studies:

– A Survey to understand the impact of using a software reference archi-tecture. It aims to provide support or guidelines to understand theimpact of using a software reference architecture in the organiza-tion in order to perform a qualitative evaluation.

– An architectural evaluation method specific for software reference archi-tecture. The above survey helps to provide support for the selectionof an architectural evaluation method for software reference archi-tecture and easy its conduction with information from key stake-holders. Currently, there exist evaluation methods. Therefore, theframework integrates existing evaluation methods.

The studies are complementary and support each other (e.g., results froma preceding study can be used to corroborate or develop further these results).For this reason, the suggested studies should be conducted sequentially.

Page 44: A Framework for Software Reference Architecture Analysis and Reviesmartinez/files/thesis_proposal.pdf · 2013. 6. 17. · Universitat Politecnica de` Catalunya A Framework for Software

38 Chapter 4. Thesis Proposal

Tabl

e4.

2:St

udie

sof

the

fram

ewor

kfo

rth

eR

Q1.

Stud

yof

the

Fram

ewor

kC

onte

xtO

bjec

tive

Met

hod

Surv

eys

toch

eck

exis

ting

valu

e-dr

iven

data

inso

ftw

are

refe

renc

ear

chit

ectu

repr

ojec

ts

Typi

cally

,org

aniz

atio

nsdo

not

have

reso

urce

sto

com

pare

the

real

cost

ofcr

eati

ngap

plic

atio

nsw

ith

and

wit

hout

aso

ftw

are

refe

renc

ear

chit

ectu

re.T

hus,

alte

rnat

ives

shou

ldbe

envi

sage

d.

Todi

scov

erex

isti

ngda

tath

ator

gani

zati

ons

have

toqu

anti

tati

vely

calc

ulat

eth

eco

sts

and

bene

fits

ofad

opti

nga

soft

war

ere

fere

nce

arch

itec

ture

inan

orga

niza

tion

.

Expl

orat

ory

surv

eys

wit

hpe

rson

aliz

edqu

esti

onna

ires

appl

ied

tore

leva

ntst

akeh

olde

rs(e

.g.,

man

ager

,ar

chit

ect,

deve

lope

r)to

find

outt

hequ

anti

tati

veda

tath

atha

sbe

enco

llect

edin

soft

war

ere

fere

nce

arch

itec

ture

proj

ects

and

appl

icat

ion

proj

ects

.A

pply

ing

anec

onom

icm

odel

toca

lcul

ate

the

RO

Iof

adop

ting

aso

ftw

are

refe

renc

ear

chit

ectu

re

Befo

rede

cidi

ngto

laun

cha

soft

war

ere

fere

nce

arch

itec

ture

,or

gani

zati

ons

need

toan

alyz

ew

heth

erun

dert

akin

gor

not

the

inve

stm

ent.

Off

erin

gor

gani

zati

ons

anec

onom

icm

odel

that

isba

sed

onfo

rmer

proj

ects

data

can

help

them

tom

ake

mor

ein

form

edde

cisi

ons.

Toas

sess

whe

ther

itis

wor

thin

vest

ing

ina

soft

war

ere

fere

nce

arch

itec

ture

.

An

econ

omic

mod

elth

atqu

anti

fies

the

pote

ntia

lad

vant

ages

and

limit

atio

nsof

usin

ga

soft

war

ere

fere

nce

arch

itec

ture

.Som

ere

late

dw

orks

expl

ain

how

toca

lcul

ate

the

RO

Iofa

prod

uct[

27],

and

soft

war

ere

use

[62]

.We

sugg

estu

sing

the

econ

omic

mod

elfo

rso

ftw

are

refe

renc

ear

chit

ectu

res

pres

ente

din

[45]

.

Page 45: A Framework for Software Reference Architecture Analysis and Reviesmartinez/files/thesis_proposal.pdf · 2013. 6. 17. · Universitat Politecnica de` Catalunya A Framework for Software

4.3. Contribution: A Framework for Analysis and Review ofSoftware Reference Architectures 39

Tabl

e4.

3:St

udie

sof

the

fram

ewor

kfo

rth

eR

Q2.

Stud

yof

the

Fram

ewor

kC

onte

xtO

bjec

tive

Met

hod

Surv

eys

toun

ders

tand

the

impa

ctof

usin

ga

soft

war

ere

fere

nce

arch

itec

ture

Tore

fine

the

seto

frev

iew

crit

eria

for

soft

war

ere

fere

nce

arch

itec

ture

s,it

isne

eded

toun

ders

tand

soft

war

ere

fere

nce

arch

itec

ture

s’ch

arac

teri

stic

s,as

wel

las

its

pote

ntia

lben

efits

and

limit

atio

ns.A

sses

sing

prev

ious

soft

war

ere

fere

nce

arch

itec

ture

proj

ects

isa

feas

ible

way

tost

artg

aini

ngsu

chan

unde

rsta

ndin

g.

Toun

ders

tand

the

impa

ctan

dsu

itab

ility

ofa

refe

renc

em

odel

for

the

elab

orat

ion

ofso

ftw

are

refe

renc

ear

chit

ectu

res,

and

ofa

soft

war

ere

fere

nce

arch

itec

ture

for

the

crea

tion

ofco

ncre

teso

ftw

are

arch

itec

ture

s.Im

prov

emen

tin

sigh

tsca

nal

sobe

iden

tifie

dfr

omdi

ffer

ents

take

hold

ers.

Expl

orat

ory

surv

eys

wit

hpe

rson

aliz

edqu

esti

onna

ires

appl

ied

tore

leva

ntst

akeh

olde

rs(e

.g.,

arch

itec

ts,

deve

lope

rs)t

oga

ther

thei

rpe

rcep

tion

san

dne

eds.

App

lyin

gan

arch

itec

tura

lev

alua

tion

met

hod

topr

ove

soft

war

ere

fere

nce

arch

itec

ture

effec

tive

ness

Arc

hite

ctur

eis

the

prod

ucto

fth

eea

rly

desi

gnph

ase

[19]

.So

ftw

are

refe

renc

ear

chit

ectu

reev

alua

tion

isa

way

tofin

dpo

tent

ialp

robl

ems

befo

reim

plem

enti

ngso

ftw

are

refe

renc

ear

chit

ectu

re’s

mod

ules

,and

toga

inco

nfide

nce

inth

eso

ftw

are

refe

renc

ear

chit

ectu

rede

sign

prov

ided

toco

ncre

teso

ftw

are

arch

itec

ture

proj

ects

.

Toan

alyz

eth

eso

ftw

are

refe

renc

ear

chit

ectu

rest

reng

ths

and

wea

knes

ses

and

tode

term

ine

whi

chim

prov

emen

tssh

ould

bein

corp

orat

edin

the

soft

war

ere

fere

nce

arch

itec

ture

.

Toap

ply

anex

isti

ngev

alua

tion

met

hod

spec

ific

for

soft

war

ere

fere

nce

arch

itec

ture

ssu

chas

[3][

29]

[34]

.The

sele

ctio

nof

the

met

hod

wou

ldde

pend

onth

eor

gani

zati

onco

ntex

t[13

].

Page 46: A Framework for Software Reference Architecture Analysis and Reviesmartinez/files/thesis_proposal.pdf · 2013. 6. 17. · Universitat Politecnica de` Catalunya A Framework for Software

40 Chapter 4. Thesis Proposal

4.4 Tasks and Working Plan

We have identified 7 main tasks. Table 4.4 shows the task list, in which a Taskis represented by the acronym T. Next, we explain these tasks.

T1: State-of-the-art and state-of-the-practice of Software Reference Ar-chitectures, Economic Models and Empirical Software Engineering. T1consists of a start-of-the-art on the topic of the thesis: software referencearchitectures and empirical methods. This state-of-the-art also includes thestate-of-the-practice, from the feedback in our action-research in everis andother sources usually consulted by practitioners, such as market researchcompanies (e.g., Gartner and Forrester).

This state-of-the-art and state-of-the-practice is not a definitive result,but is going to be updated throughout the thesis. Indeed, the Initial stageof the state-of-the-art and state-of-the-practice (T1.1) only considered softwarereference architectures and empirical software engineering. Throughout thedevelopment of the thesis, it becomes necessary to Maintain an up-to-datestate-of-the-art and state-of-the practice (T1.2). This incremental task does notonly consider new work, but can also includes new topics as the researchadvances. For this reason, we added the study of economic models.

With this work we got two results: the identification of relevant aspectsfor evaluating software reference architectures and selecting appropriate em-pirical methods to understand and evaluate software reference architectures.These results are useful in order to fulfill the next task, the design of a frame-work for software reference architectures analysis and review. A initial ver-sion of this work is described in a technical report [42].

T2: A Framework to Software Reference Architectures Analysis and Re-view. T2 consists of the construction of a framework that supports orga-nizations to cope with the research questions previously stated in Section4.1.

T2.1: Definition of the Framework. This task consists of gluing the empiricalmethods designed to understand and evaluate software reference architec-tures. The result is a complete framework composed of an assortment ofstudies that help organizations to understand, evaluate and improve theirsoftware reference architectures. This framework (published in [44]) is nota definitive result, and is going to be incrementally updated throughout thethesis. Next tasks show how to deal with this iterative evolution of theframework.

T2.2: Formative stage of the Framework. T3, T4 and T5 represent the studiesthat compose the framework. As their conduction advances, their feedbackwill contribute to incrementally design the framework. For this reason, T3,T4 and T5 are best characterized as formative studies due to their central rolein shaping the framework.

Page 47: A Framework for Software Reference Architecture Analysis and Reviesmartinez/files/thesis_proposal.pdf · 2013. 6. 17. · Universitat Politecnica de` Catalunya A Framework for Software

4.4. Tasks andWorking Plan 41

Table 4.4: Task list.

Task Sub-Task

Description

T1 State-of-the-art and state-of-the-practice of Software Refer-ence Architectures, Economic Models and Empirical Soft-ware Engineering.

T1.1 Initial stage of the state-of-the-art and state-of-the-practice.T1.2 Maintain an up-to-date state-of-the-art and state-of-the-

practice.T2 A Framework to Software Reference Architectures Analysis

and ReviewT2.1 Definition of the Framework.T2.2 Formative stage of the Framework.T2.3 Summative stage of the Framework.

T3 Survey to check existing value-driven data in organizations.T3.1 Definition, Design and Implementation of the Survey.T3.2 Execution of the Survey (at everis).T3.3 Analysis and Packaging of the Survey.

T4 An Economic Model to Calculate the Return-on-Investmentof adopting a Software Reference Architecture (REARM)

T4.1 Definition of REARMT4.2 Application of REARM in Organization X.T4.3 Update of REARM with feedback from T4.2T4.4 Application of REARM in Organization Y.T4.5 Update of REARM with feedback from T4.4.T4.6 Update of REARM with feedback from T5.

T5 Survey to understand the impact of using a software refer-ence architecture

T5.1 Definition, Design and Implementation of the Survey.T5.2 Execution of the Survey (at everis).T5.3 Analysis and Packaging of Survey’s Group of Questions

about Benefits and Drawbacks.T5.4 Analysis and Packaging of Survey’s Group of Questions

about Elements and Guidelines.T5.5 Analysis and Packaging of Survey’s Group of Questions

about Requirements.T5.6 Analysis and Packaging of Survey’s Group of Questions

about Architectural Decisions.T5.7 Analysis and Packaging of Survey’s Group of Questions

about Methodologies and Technologies.T6 Write the thesis.T7 Design the presentation of the thesis.

Page 48: A Framework for Software Reference Architecture Analysis and Reviesmartinez/files/thesis_proposal.pdf · 2013. 6. 17. · Universitat Politecnica de` Catalunya A Framework for Software

42 Chapter 4. Thesis Proposal

T2.3: Summative stage of the Framework. Once that the previous task (T2.2)will be finished, it will be necessary to validate the results got and to analyzelessons learned. This task is best characterized as summative, since its pri-mary role in this thesis is to develop a final version of the framework fromthe output of the formative studies.

T3: Survey to check existing value-driven data in organizations. This taskrepresents one study of the framework, inside the understanding step and thatapproaches the RQ 1. It aims to discover existing data that organizationshave to quantitatively calculate the costs and benefits of adopting a softwarereference architecture.

As defined in [18], there are several steps along the conduction of a survey:definition, design, implementation, execution, analysis and packaging. Forthis reason, this task has three sub-tasks: Definition, Design and Implementationof the Survey (T3.1); Execution of the Survey at everis (T3.2); and Analysis andPackaging of the Survey (T3.3).

Results from this survey are published in [44].

T4: An Economic Model to Calculate the Return-on-Investment of adopt-ing a Software Reference Architecture (REARM). This task represents onestudy of the framework, inside the evaluation step and that approaches theRQ 1. It aims to assess whether it is worth or not investing in a softwarereference architecture.

The first sub-task of T4 is the Definition of REARM (T4.1). REARM, whoseacronym comes from REference ARchitecture Model, is an economic modelto quantitatively analyze the adoption of software reference architectures inorganizations. A preliminary version of REARM was published in a technicalreport [46].

We plan to use REARM in two client organizations of everis that respec-tively have adopted and will adopt a software reference architecture. Thesetasks are: Application of REARM in Organization X (T4.2) and Application ofREARM in Organization Y (T4.4). With the feedback and lessons learned fromsuch applications of REARM in real projects, we plan to incrementally up-date it (if necessary) in tasks T4.3 (Update of REARM with feedback from T4.2)and T4.5 (Update of REARM with feedback from T4.4). The first application ofREARM has already been done and published in [45].

Finally, throughout the thesis, REARM also benefits from results in qua-litative surveys that help to understand cost and benefit factors. This task isT4.6 (Update of REARM with feedback from T5).

T5: Survey to understand the impact of using a software reference archi-tecture. This task represents one study of the framework, inside the under-standing step and that approaches the RQ 2. It aims to understand the impact

Page 49: A Framework for Software Reference Architecture Analysis and Reviesmartinez/files/thesis_proposal.pdf · 2013. 6. 17. · Universitat Politecnica de` Catalunya A Framework for Software

4.4. Tasks andWorking Plan 43

and suitability of a reference model for the elaboration of software referencearchitectures, and of a software reference architecture for the creation of con-crete software architectures. Improvement insights can also be identifiedfrom different stakeholders.

As we also did in T3, we have created sub-tasks to manage the complexityof a long task as the conduction of a survey.

The first two tasks are: Definition, Design and Implementation of the Survey(T5.1) and Execution of the Survey (T5.2). These two tasks have already beendone. We worked on nine projects in which everis defined and implementeda software reference architecture for different organizations. We conductedface-to-face interviews with the software architects for each project. In ad-dition, there were two on-line surveys for the architecture developers andapplication builders. In total twenty-eight people participated in the study.Currently, we are analyzing and packaging the data collected.

For analysis and packaging of the survey, we decided to create five sub-tasks, since we conducted long face-to-face interviews (with average durationof one hour and a half) dealing with several concepts and also long on-line questionnaires (with more than 50 questions). Moreover, the surveyinclude three different types of stakeholders with personalized questions.The division of analysis and packaging activities has been done by topic (i.e.,group of questions). We plan to conduct it in five phases, that have leadto the next sub-tasks: Analysis and Packaging of Survey’s Group of Questionsabout Benefits and Drawbacks (T5.3), Analysis and Packaging of Survey’s Groupof Questions about Elements and Guidelines (T5.4), Analysis and Packaging ofSurvey’s Group of Questions about Requirements (T5.5), Analysis and Packagingof Survey’s Group of Questions about Architectural Decisions (T5.6), and Analysisand Packaging of Survey’s Group of Questions about Methodologies and Technologies(T5.7). Preliminary results about the T5.3 has been published in [43].

T6: Write the thesis. In this task, we are going to write the documentationof the thesis.

T7: Design the presentation of the thesis. This task includes the timebetween handing the documentation in and the defense of the thesis.

Besides these tasks, other tasks related with the thesis (such as stays onforeign universities and attendance to conferences, workshops, seminars,courses and so on) have been and will be also done.

Page 50: A Framework for Software Reference Architecture Analysis and Reviesmartinez/files/thesis_proposal.pdf · 2013. 6. 17. · Universitat Politecnica de` Catalunya A Framework for Software

44 Chapter 4. Thesis Proposal

4.4.1 Relationship of Tasks with Research Questions

The tasks presented above, have been carefully envisaged to fulfill the re-search questions defined in Section 4.1.

T1, T6 and T7 are the habitual tasks on every thesis (state-of-the-art,writing the thesis and preparation of defense), whereas T2, T3, T4 and T5stem from the stated goal and research questions of the thesis.

Specifically, Table 4.5 shows how the research questions are covered bythe latter group of tasks (T2, T3, T4 and T5).

Table 4.5: Relationship of Tasks with Research Questions.

Task RQ CommentsT1 None General task on every thesis.T2 RQ 1

andRQ2

The framework copes with both research questions byan assortment of studies.

T3 RQ 1 Study of the framework that is inside the understand-ing step and that approaches the RQ 1. Specifically, itcovers the following sub research questions: RQ 1.1,RQ 1.2.

T4 RQ 1 Study of the framework that is inside the evaluationstep and that approaches the RQ 1. Specifically, itcovers the following sub research questions: RQ 1.3,RQ 1.4.

T5 RQ 2 Study of the framework that is inside the understand-ing step and that approaches the RQ 2. Each sub-taskof the analysis and packaging of data, namely T5.3,T5.4, T5.5, T5.6, and T5.7, respectively covers one thefollowing sub research questions: RQ 2.1, RQ 2.2, RQ2.3, RQ 2.4, and RQ 2.5.

T6 None General task on every thesis.T7 None General task on every thesis.

Page 51: A Framework for Software Reference Architecture Analysis and Reviesmartinez/files/thesis_proposal.pdf · 2013. 6. 17. · Universitat Politecnica de` Catalunya A Framework for Software

4.4. Tasks andWorking Plan 45

4.4.2 Working Plan

The PhD thesis has a full duration of 4 years, starting October 18th 2011.Figure 4.3 shows a timeline with the general schedule for the tasks definedin Table 4.4. Figure 4.4 shows Gantt diagram with more details that includesub-tasks.

Figure 4.3: Timeline.

Figure 4.4: Gantt Diagram.

Page 52: A Framework for Software Reference Architecture Analysis and Reviesmartinez/files/thesis_proposal.pdf · 2013. 6. 17. · Universitat Politecnica de` Catalunya A Framework for Software

46 Chapter 4. Thesis Proposal

4.5 Publications

This section enumerates and summarizes the work that has already been pub-lished. For a better representation of the work done, the following subsectionsshow these publications grouped by topic.

1. Publications with both approaches (qualitative and quantitative) thatpresent the Framework for Software Reference Architecture Analysisand Review.

2. Publications that deal with the RQ 1 and present REARM, our SoftwareReference Architecture Economic Model.

3. Publications that deal with the RQ 2 and present reports about qualita-tive empirical studies.

4. Out of the Cátedra UPC-everis project, we have studied in the predic-tive service domain. The results have been a reference model and itsapplication for the weather forecast domain.

Besides the publication of research papers, I am going to use my personalpage of UPC, http://www.essi.upc.edu/~smartinez/, to disseminate thework as it progresses.

Page 53: A Framework for Software Reference Architecture Analysis and Reviesmartinez/files/thesis_proposal.pdf · 2013. 6. 17. · Universitat Politecnica de` Catalunya A Framework for Software

4.5. Publications 47

4.5.1 Framework for Software Reference Architecture

Title A Framework for Software Reference Architecture Analysis andReview [44]

Authors Silverio Martínez-Fernández, Claudia Ayala, Xavier Franch,Helena Martins, David Ameller

Publishedin

In Proceedings 10th Workshop on Experimental SoftwareEngineering (ESELAW), Montevideo (Uruguay), 10th April,2013

Year 2013Involved

ThesisTasks

T1.1, T2.1, T2.2, T3, T5.3

Title Conducting Empirical Studies on Reference Architectures in ITConsulting Firms [42]

Authors Silverio Martínez-Fernández, David Ameller, ClaudiaAyala, Xavier Franch and Xavier Terradellas

Published in Technical Report ESSI-TR-12-2, April 2012.Year 2012

InvolvedThesis Tasks

T1.1, T2.1

Page 54: A Framework for Software Reference Architecture Analysis and Reviesmartinez/files/thesis_proposal.pdf · 2013. 6. 17. · Universitat Politecnica de` Catalunya A Framework for Software

48 Chapter 4. Thesis Proposal

4.5.2 Software Reference Architecture Economics

Title REARM: A Reuse-Based Economic Model for SoftwareReference Architectures [45]

Authors Silverio Martínez-Fernández, Claudia Ayala, XavierFranch, Helena Martins

Publishedin

In Proceedings 13th International Conference on SoftwareReuse (ICSR), Pisa (Italy), 18th-21th June, 2013

Year 2013Involved

ThesisTasks

T1.2, T4.1, T4.2, T4.3

Title A Reuse-Based Economic Model for Software ReferenceArchitectures [46]

Authors Silverio Martínez-Fernández, Claudia Ayala, andXavier Franch

Published in Technical Report ESSI-TR-12-6, November 2012.Year 2012

Involved ThesisTasks

T4.1, T4.2

Page 55: A Framework for Software Reference Architecture Analysis and Reviesmartinez/files/thesis_proposal.pdf · 2013. 6. 17. · Universitat Politecnica de` Catalunya A Framework for Software

4.5. Publications 49

4.5.3 Empirical Research on Software Reference Architecture

Title Benefits and Drawbacks of Reference Architectures [43]Authors Silverio Martínez-Fernández, Claudia Ayala, Xavier

Franch, Helena MartinsPublished

inIn Proceedings 7th European Conference on SoftwareArchitecture (ECSA), Montpellier (France), 1st-5th July,2013.

Year 2013Involved

ThesisTasks

T1.2, T5.3

Page 56: A Framework for Software Reference Architecture Analysis and Reviesmartinez/files/thesis_proposal.pdf · 2013. 6. 17. · Universitat Politecnica de` Catalunya A Framework for Software

50 Chapter 4. Thesis Proposal

4.5.4 Application of a Reference Model for Predictive ServicesSelection

Title Verifying Predictive Services’ Quality with Mercury [48]Authors Silverio Martínez-Fernández, Xavier Franch, Jesús Bisbal.

Pub-lished

in

In Proceedings 4th International Workshop on AcademicSoftware Development Tools and Techniques (WASDeTT),Montpellier (France), 1st July, 2013.

Year 2013Involved

ThesisTasks

-

Title QuPreSS: A Service-Oriented Framework for Predictive ServicesQuality Assessment [47]

Authors Silverio Martínez-Fernández, Jesús Bisbal and Xavier Franch.Pub-

lishedin

In Proceedings 7th International Knowledge Management,Services and Cloud Computing Conference (KMO),Salamanca (Spain), 12th July, 2012.

Year 2012Involved

ThesisTasks

-

Page 57: A Framework for Software Reference Architecture Analysis and Reviesmartinez/files/thesis_proposal.pdf · 2013. 6. 17. · Universitat Politecnica de` Catalunya A Framework for Software

References

[1] Ali, M.S., Babar, M.A., Schmid, K.: A comparative survey of economicmodels for software product lines. In: Software Engineering and Ad-vanced Applications, 2009. SEAA’09. 35th Euromicro Conference on.pp. 275–278. IEEE (2009)

[2] Angelov, S., Grefen, P., Greefhorst, D.: A framework for analysis anddesign of software reference architectures. Information and SoftwareTechnology 54(4), 417–431 (2012)

[3] Angelov, S., Trienekens, J.J., Grefen, P.: Towards a method for the eval-uation of reference architectures: Experiences from a case. In: SoftwareArchitecture, pp. 225–240. Springer (2008)

[4] Angelov, S., Trienekens, J.J., Kusters, R.: Software reference architectures- exploring their usage and design in practice. In: Software Architecture.Springer (2013)

[5] Averdunk, I.: Tivoli reference architectures. https://www.ibm.com/developerworks/mydeveloperworks/blogs/tivoli-ra/entry/welcome_to_the_tivoli_reference_architecture_blog12?lang=es(2012), [Online; accessed 29-May-2013]

[6] Babar, M.A., Bass, L., Gorton, I.: Factors influencing industrial prac-tices of software architecture evaluation: an empirical investigation.In: Software Architectures, Components, and Applications, pp. 90–107.Springer (2007)

[7] Babar, M.A., Gorton, I.: Software architecture review: The state of prac-tice. Computer 42(7), 26–32 (2009)

[8] Bachmann, F.: Give the stakeholders what they want: Design peerreviews the atam style. http://www.crosstalkonline.org/storage/issue-archives/2011/201111/201111-Bachmann.pdf (2011), [Online;accessed 20-May-2013]

[9] Baldwin, C.Y., Clark, K.B.: Design rules: The power of modularity, vol. 1.mIt Press (2000)

51

Page 58: A Framework for Software Reference Architecture Analysis and Reviesmartinez/files/thesis_proposal.pdf · 2013. 6. 17. · Universitat Politecnica de` Catalunya A Framework for Software

52 References

[10] Bass, L., Clements, P., Kazman, R.: Software architecture in practice, 2nEdition. Addison-Wesley Professional (2002)

[11] Bass, L., Clements, P., Kazman, R.: Software architecture in practice, 3rdEdition. Addison-Wesley Professional (2012)

[12] Bass, L., Clements, P., Kazman, R., Klein, M.: Evaluating the software ar-chitecture competence of organizations. In: Software Architecture, 2008.WICSA 2008. Seventh Working IEEE/IFIP Conference on. pp. 249–252.IEEE (2008)

[13] Bass, L., Nord, R.L.: Understanding the context of architecture evalua-tion methods. In: Software Architecture (WICSA) and European Con-ference on Software Architecture (ECSA), 2012 Joint Working IEEE/IFIPConference on. pp. 277–281. IEEE (2012)

[14] Boehm, B., Brown, A.W., Madachy, R., Yang, Y.: A software product linelife cycle cost estimation model. In: Empirical Software Engineering,2004. ISESE’04. Proceedings. 2004 International Symposium on. pp. 156–164. IEEE (2004)

[15] Boehm, B.W.: Value-based software engineering: Seven key elementsand ethical considerations. In: Value-Based Software Engineering, pp.109–132. Springer (2006)

[16] Carriere, J., Kazman, R., Ozkaya, I.: A cost-benefit framework for makingarchitectural decisions in a business context. In: Software Engineering,2010 ACM/IEEE 32nd International Conference on. vol. 2, pp. 149–157.IEEE (2010)

[17] Carriere, S.J.: Architecture alternative assessmentmethod. http://technogility.sjcarriere.com/2009/05/11/its-pronounced-like-lamb-not-like-lame/ (2009), [Online; ac-cessed 20-May-2013]

[18] Ciolkowski, M., Laitenberger, O., Vegas, S., Biffl, S.: Practical experiencesin the design and conduct of surveys in empirical software engineering.Springer (2003)

[19] Clements, P., Kazman, R., Klein, M.: Evaluating software architectures.Addison-Wesley Reading (2001)

[20] Clements, P., McGregor, J.D., Cohen, S.G.: The structured intuitivemodel for product line economics (simple), software engineering in-stitute. Tech. rep., CMU/SEI-2005-TR-003 (2005)

[21] Clements, P., Northrop, L.: Software product lines. Addison-WesleyBoston (2002)

Page 59: A Framework for Software Reference Architecture Analysis and Reviesmartinez/files/thesis_proposal.pdf · 2013. 6. 17. · Universitat Politecnica de` Catalunya A Framework for Software

References 53

[22] Cloutier, R., Muller, G., Verma, D., Nilchiani, R., Hole, E., Bone, M.:The concept of reference architectures. Systems Engineering 13(1), 14–27(2010)

[23] Dobrica, L., Niemela, E.: A survey on software architecture analysismethods. Software Engineering, IEEE Transactions on 28(7), 638–653(2002)

[24] Eklund, U., Jonsson, N., Bosch, J., Eriksson, A.: A reference architecturetemplate for software-intensive embedded systems. In: Proceedings ofthe WICSA/ECSA 2012 Companion Volume. pp. 104–111. ACM (2012)

[25] Falessi, D., Babar, M.A., Cantone, G., Kruchten, P.: Applying empiricalsoftware engineering to software architecture: challenges and lessonslearned. Empirical Software Engineering 15(3), 250–276 (2010)

[26] Falessi, D., Kruchten, P., Cantone, G.: Issues in applying empirical soft-ware engineering to software architecture. In: Software Architecture, pp.257–262. Springer (2007)

[27] Forrester: Total Economic Impact (TEI). http://www.forrester.com/marketing/product/consulting/tei.html (2013), [Online; accessed04-June-2013]

[28] Frakes, W., Terry, C.: Software reuse: metrics and models. ACM Com-puting Surveys (CSUR) 28(2), 415–435 (1996)

[29] Gallagher, B.P.: Usice tradeoff analysis methodsm to evaluate a referencearchitecture: A case study. Tech. rep., DTIC Document (2000)

[30] Galster, M., Avgeriou, P.: Empirically-grounded reference architectures:a proposal. In: Proceedings of the joint ACM SIGSOFT conference–QoSA and ACM SIGSOFT symposium–ISARCS on Quality of softwarearchitectures–QoSA and architecting critical systems–ISARCS. pp. 153–158. ACM (2011)

[31] Galster, M., Avgeriou, P., Tofan, D.: Constraints for the design ofvariability-intensive service-oriented reference architectures–an indus-trial case study. Information and Software Technology (2012)

[32] Ganesan, D., Muthig, D., Yoshimura, K.: Predicting return-on-investment for product line generations. In: Software Product Line Con-ference, 2006 10th International. pp. 13–24. IEEE (2006)

[33] Glossary, G.I.: It glossary > enterprise architecture (ea). http://www.gartner.com/it-glossary/enterprise-architecture-ea/(2013), [Online; accessed 28-May-2013]

Page 60: A Framework for Software Reference Architecture Analysis and Reviesmartinez/files/thesis_proposal.pdf · 2013. 6. 17. · Universitat Politecnica de` Catalunya A Framework for Software

54 References

[34] Graaf, B., Van Dijk, H., van Deursen, A.: Evaluating an embeddedsoftware reference architecture -industrial experience report-. In: Soft-ware Maintenance and Reengineering, 2005. CSMR 2005. Ninth Euro-pean Conference on. pp. 354–363. IEEE (2005)

[35] Group, T.O.: Definitions togaf. http://pubs.opengroup.org/architecture/togaf9-doc/arch/chap03.html#tag_03_65 (2013),[Online; accessed 29-May-2013]

[36] Institute, C.M.S.E.: Software Architecture’s Definitions. http://www.sei.cmu.edu/architecture/start/glossary/index.cfm (2013), [On-line; accessed 13-May-2013]

[37] Kazman, R., Asundi, J., Klien, M.: Making architecture design decisions:An economic approach. Tech. rep., DTIC Document (2002)

[38] Khurum, M., Gorschek, T., Petersson, K.: Systematic review of solutionsproposed for product line economics. Strategic Decision Support forSoftware Intensive Product Management p. 64 (2008)

[39] Kruchten, P.: The rational unified process: an introduction. Addison-Wesley Professional (2004)

[40] Letouzey, J.L.: The sqale method for evaluating technical debt. In: Man-aging Technical Debt (MTD), 2012 Third International Workshop on. pp.31–36. IEEE (2012)

[41] MacCormack, A., Baldwin, C., Rusnak, J.: Exploring the duality betweenproduct and organizational architectures: A test of the “mirroring” hy-pothesis. Research Policy (2012)

[42] Martínez-Fernández, S., Ameller, D., Ayala Martínez, C.P.,Franch Gutiérrez, J., Terradellas Fernandez, X., et al.: Conducting em-pirical studies on reference architectures in it consulting firms. In: De-partament d’Enginyeria de Serveis i Sistemes d’Informació. Reports derecerca. Universitat Politècnica de Catalunya (2012)

[43] Martínez-Fernández, S., Ayala, C., Franch, X., Martins, H.: Benefits anddrawbacks of reference architectures. In: 7th European Conference onSoftware Architecture (ECSA) (2013)

[44] Martínez-Fernández, S., Ayala, C., Franch, X., Martins, H.: A frame-work for software reference architecture analysis and review. In: 10thWorkshop on Experimental Software Engineering (ESELAW) (2013)

[45] Martínez-Fernández, S., Ayala, C., Franch, X., Martins, H.: Rearm: Areuse-based economic model for software reference architectures. In:13th International Conference on Software Reuse (ICSR) (2013)

Page 61: A Framework for Software Reference Architecture Analysis and Reviesmartinez/files/thesis_proposal.pdf · 2013. 6. 17. · Universitat Politecnica de` Catalunya A Framework for Software

References 55

[46] Martínez-Fernández, S., Ayala Martínez, C.P., Franch Gutiérrez, J., et al.:A reuse-based economic model for software reference architectures. In:Departament d’Enginyeria de Serveis i Sistemes d’Informació. Reportsde recerca. Universitat Politècnica de Catalunya (2012)

[47] Martínez-Fernández, S., Bisbal, J., Franch, X.: Qupress: A service-oriented framework for predictive services quality assessment. In: 7thInternational Conference on Knowledge Management in Organizations:Service and Cloud Computing. pp. 525–536. Springer (2013)

[48] Martínez-Fernández, S., Bisbal, J., Franch, X.: Verifying predictive ser-vices’ quality with mercury. In: 4th International Workshop on AcademicSoftware Development Tools and Techniques (WASDeTT) (2013)

[49] Method, C.B.A.: Software Architecture’s Definitions. http://www.sei.cmu.edu/architecture/tools/evaluate/cbam.cfm (2013), [Online; ac-cessed 14-May-2013]

[50] Mili, A., Chmiel, S.F., Gottumukkala, R., Zhang, L.: An integrated costmodel for software reuse. In: Software Engineering, 2000. Proceedingsof the 2000 International Conference on. pp. 157–166. IEEE (2000)

[51] Muller, G., van de Laar, P.: Researching reference architectures. In: Viewson Evolvability of Embedded Systems, pp. 107–119. Springer (2011)

[52] Nakagawa, E.Y.: Reference architectures and variability: current sta-tus and future perspectives. In: Proceedings of the WICSA/ECSA 2012Companion Volume. pp. 159–162. ACM (2012)

[53] Nakagawa, E.Y., Antonino, P.O., Becker, M.: Reference architecture andproduct line architecture: A subtle but critical difference. In: SoftwareArchitecture, pp. 207–211. Springer (2011)

[54] Nakagawa, E.Y., Oquendo, F., Becker, M.: Ramodel: A reference modelfor reference architectures. In: Software Architecture (WICSA) and Eu-ropean Conference on Software Architecture (ECSA), 2012 Joint WorkingIEEE/IFIP Conference on. pp. 297–301. IEEE (2012)

[55] Nóbrega, J.P., Almeida, E., Meira, S.R.L.: Income: Integrated cost modelfor product line engineering. In: Software Engineering and AdvancedApplications, 2008. SEAA’08. 34th Euromicro Conference. pp. 27–34.IEEE (2008)

[56] Nord, R.L., Ozkaya, I., Kruchten, P., Gonzalez-Rojas, M.: In search ofa metric for managing architectural technical debt. In: Software Archi-tecture (WICSA) and European Conference on Software Architecture(ECSA), 2012 Joint Working IEEE/IFIP Conference on. pp. 91–100. IEEE(2012)

Page 62: A Framework for Software Reference Architecture Analysis and Reviesmartinez/files/thesis_proposal.pdf · 2013. 6. 17. · Universitat Politecnica de` Catalunya A Framework for Software

56 References

[57] Oliveira, L.B.R., Nakagawa, E.Y.: A service-oriented reference architec-ture for software testing tools. In: Software Architecture, pp. 405–421.Springer (2011)

[58] Ozkaya, I., Kazman, R., Klein, M.: Quality-attribute based economicvaluation of architectural patterns. In: Economics of Software and Com-putation, 2007. ESC’07. First International Workshop on the. pp. 5–5.IEEE (2007)

[59] Perry, D.E., Wolf, A.L.: Foundations for the study of software architec-ture. ACM SIGSOFT Software Engineering Notes 17(4), 40–52 (1992)

[60] Pohl, K., Böckle, G., van der Linden, F.J.: Software product line engi-neering: foundations, principles, and techniques. Springer (2005)

[61] Poort, E.R., Van Vliet, H.: Rcda: Architecting as a risk-and cost manage-ment discipline. Journal of Systems and Software (2012)

[62] Poulin, J.S.: Measuring software reuse: principles, practices, and eco-nomic models. Addison–Wesley (1997)

[63] Reifer, D.J.: Making the software business case: Improvement by thenumbers. Addison-Wesley Professional (2001)

[64] Schmid, K.: An initial model of product line economics. In: SoftwareProduct-Family Engineering, pp. 38–50. Springer (2002)

[65] Scott, D.: Gartner hype cycle for real-time infrastructure. http://www.gartner.com (2012), [Online; accessed 1-Mar-2013]

[66] Simanta, S., Ha, K., Lewis, G., Morris, E., Satyanarayanan, M.: A ref-erence architecture for mobile code offload in hostile environments. In:Mobile Computing, Applications, and Services, pp. 274–293. Springer(2013)

[67] STANDARD, I.: IEEE STANDARD 1471-2000 - IEEE RecommendedPractice for Architectural Description for Software-Intensive Sys-tems. http://standards.ieee.org/findstds/standard/1471-2000.html (2000), [Online; accessed 24-May-2013]

[68] Welch, L.R., Masters, M.W., Madden, L.A., Marlow, D.T., Irey IV, P.M.,Werme, P.V., Shirazi, B.A.: A distributed system reference architecturefor adaptive qos and resource management. In: Parallel and DistributedProcessing, pp. 1316–1326. Springer (1999)

[69] Wikipedia: Empirical research. http://en.wikipedia.org/wiki/Empirical_research (2013), [Online; accessed 14-May-2013]

Page 63: A Framework for Software Reference Architecture Analysis and Reviesmartinez/files/thesis_proposal.pdf · 2013. 6. 17. · Universitat Politecnica de` Catalunya A Framework for Software

References 57

[70] Williams, T.J.: The purdue enterprise reference architecture. Computersin industry 24(2), 141–158 (1994)

[71] Wilson, A., Lindholm, D.M., LASP, C.: Towards a domain specific soft-ware architecture for scientific data distribution. In: AGU Fall MeetingAbstracts. vol. 1, p. 1609 (2011)

[72] Wohlin, C., Höst, M., Henningsson, K.: Empirical research methods insoftware engineering. In: Empirical Methods and Studies in SoftwareEngineering, pp. 7–23. Springer (2003)

[73] Woods, E.: Industrial architectural assessment using tara. Journal ofSystems and Software (2012)

Page 64: A Framework for Software Reference Architecture Analysis and Reviesmartinez/files/thesis_proposal.pdf · 2013. 6. 17. · Universitat Politecnica de` Catalunya A Framework for Software
Page 65: A Framework for Software Reference Architecture Analysis and Reviesmartinez/files/thesis_proposal.pdf · 2013. 6. 17. · Universitat Politecnica de` Catalunya A Framework for Software

Appendix A

Glossary

Enterprise architecture Enterprise architecture (EA) is a discipline for proac-tively and holistically leading enterprise responses to disruptive forces byidentifying and analyzing the execution of change toward desired businessvision and outcomes. EA delivers value by presenting business and IT leaderswith signature-ready recommendations for adjusting policies and projects toachieve target business outcomes that capitalize on relevant business disrup-tions. EA is used to steer decision making toward the evolution of the futurestate architecture [33].

Reference architecture A Reference Architecture provides a prescriptiveway (a template solution) for an architecture for a particular domain [5]. Areference architecture is a set of domain concepts mapped onto a standard setof software components and relationships [19].

Return-on-Invest (ROI) Measure of how much profit an investment earnscomputed by dividing net income by the assets used to generate it [63].

Software architecture The software architecture of a system is the set ofstructures needed to reason about the system, which comprise software ele-ments, relations among them, and properties of both [11, p. 4].

Software reference architecture An architecture that encompasses the knowl-edge about how to design concrete architectures of systems of a given ap-plication [or technological] domain; therefore, it must address the businessrules, architectural styles (sometimes also defined as architectural patternsthat address quality attributes in the reference architecture), best practicesof software development (for instance, architectural decisions, domain con-straints, legislation, and standards), and the software elements that supportdevelopment of systems for that domain. All of this must be supported by aunified, unambiguous, and widely understood domain terminology [53].

59

Page 66: A Framework for Software Reference Architecture Analysis and Reviesmartinez/files/thesis_proposal.pdf · 2013. 6. 17. · Universitat Politecnica de` Catalunya A Framework for Software

60 Appendix A. Glossary

System architecture A system’s architecture is a representation of a systemin which there is a mapping of functionality onto hardware and softwarecomponents, a mapping of the software architecture onto the hardware ar-chitecture, and a concern for the human interaction with these components[11, p. 7].

Page 67: A Framework for Software Reference Architecture Analysis and Reviesmartinez/files/thesis_proposal.pdf · 2013. 6. 17. · Universitat Politecnica de` Catalunya A Framework for Software

A Framework for Software Reference Architecture

Analysis and Review

Silverio Martínez-Fernández1, Claudia Ayala

1, Xavier Franch

1, Helena Martins

Marques2, and David Ameller

1

1 GESSI Research Group, Universitat Politècnica de Catalunya, Barcelona, Spain

{smartinez,cayala,franch,dameller}@essi.upc.edu 2 everis, Barcelona, Spain

[email protected]

Abstract. Tight time-to-market needs pushes software companies and IT con-

sulting firms to continuously look for techniques to improve their IT services in

general, and the design of software architectures in particular. The use of soft-

ware reference architectures allows IT consulting firms reusing architectural

knowledge and components in a systematic way. In return, IT consulting firms

face the need to analyze the return on investment in software reference architec-

tures for organizations, and to review these reference architectures in order to

ensure their quality and incremental improvement. Little support exists to help

IT consulting firms to face these challenges. In this paper we present an empiri-

cal framework aimed to support the analysis and review of software reference

architectures and their use in IT projects by harvesting relevant evidence from

the wide spectrum of involved stakeholders. Such a framework comes from an

action research approach held in everis, an IT consulting firm. We report the

issues found so far.

Keywords: Software architecture, reference architecture, architecture analysis,

architecture evaluation, empirical software engineering.

1 Introduction

Nowadays, the size and complexity of information systems, together with critical

time-to-market needs, demand new software engineering approaches to design soft-

ware architectures (SA) [17]. One of these approaches is the use of software reference

architectures (RA) that allows to systematically reuse knowledge and components

when developing a concrete SA [8][13].

As defined by Bass et al. [3], a reference model (RM) is „„a division of functionali-

ty together with data flow between the pieces‟‟ and an RA is „„a reference model

mapped onto software elements (that cooperatively implement the functionality de-

fined in the reference model) and the data flows between them‟‟.

A more detailed definition of RAs is given by Nakagawa et al. [17]. They define an

RA as “an architecture that encompasses the knowledge about how to design concrete

architectures of systems of a given application [or technological] domain; therefore, it

61

Page 68: A Framework for Software Reference Architecture Analysis and Reviesmartinez/files/thesis_proposal.pdf · 2013. 6. 17. · Universitat Politecnica de` Catalunya A Framework for Software

must address the business rules, architectural styles (sometimes also defined as archi-

tectural patterns that address quality attributes in the reference architecture), best

practices of software development (for instance, architectural decisions, domain con-

straints, legislation, and standards), and the software elements that support develop-

ment of systems for that domain. All of this must be supported by a unified, unambig-

uous, and widely understood domain terminology”.

In this paper, we use these two RA definitions. We show the relationships among

RM, RM-based RA and RA-based concrete SA in Fig. 1. Throughout the paper, we

use the term RA to refer to RM-based RA and SA to refer to RA-based concrete SA.

Angelov et al. have identified the generic nature of RAs as the main feature that dis-

tinguishing them from concrete SAs. Every application has its own and unique SA,

which is derived from an RA. This is possible because RAs are abstract enough to

allow its usage in differing contexts. [2]

Reference Model (RM)

Software Reference

Architecture (RA)

Concrete Software Architecture (SA) for an application

Concrete Software Architecture (SA) for an application

Software Reference

Architecture (RA)

Concrete Software Architecture (SA) for an application

Concrete Software Architecture (SA) for an application

…Information system of

Organisation 1Information system of

Organisation n

Software company orIT consulting firm

Abstract

Concrete

Fig. 1. Relationships among RM, RA and SA.

Research problem. The motivations behind RAs are: to facilitate reuse, and thereby

harvest potential savings through reduced cycle times, cost, risk and increased quality

[8]; to help with the evolution of a set of systems that stem from the same RA [13];

and to ensure standardization and interoperability [2]. Due to this, RAs are becoming

a key asset of organizations [8].

However, although the adoption of an RA might have plenty of benefits for an or-

ganization, it also implies several challenges, such as the need for an initial invest-

ment [13] and ensuring its adequacy for the organization‟s portfolio of applications.

Hence, in order to use RAs, software companies and information technology consult-

ing firms face two fundamental questions:

1) Is it worth to invest on the adoption of an RA?

2) Once adopted, how the suitability of an RA for deriving concrete

SAs for an organization‟s applications can be ensured?

62

Page 69: A Framework for Software Reference Architecture Analysis and Reviesmartinez/files/thesis_proposal.pdf · 2013. 6. 17. · Universitat Politecnica de` Catalunya A Framework for Software

Currently, organizations lack of support for dealing with these questions. On the

one hand, there is a shortage of economic models to precisely evaluate the benefit of

architecture projects [6] in order to take informed decisions about adopting an RA in

an organization. On the other hand, although there are qualitative evaluation methods

for RAs [1][12][14], they do not systematize how these RAs should be evaluated

regarding certain quality attributes (for instance, their capability to satisfy the varia-

bility in applications developed from RAs [18]).

In this context, the goal of this research is to devise a framework that supports or-

ganizations to deal with the aforementioned questions by providing procedural guide-

lines for setting up and carrying out empirical studies aimed to extract evidence for:

1) supporting organizations to assess if it is worth to adopt an RA, and 2) ensuring the

suitability of an RA for deriving concrete SAs for an organization‟s applications.

It is worth mentioning that this research has its origin in an ongoing action-

research initiative among our research group and everis, a multinational consulting

company based in Spain. The architecture group of everis faced the fundamental

questions stated above and the framework proposed in this paper was mainly originat-

ed and shaped throughout our involvement for helping everis to envisage a suitable

solution. The idea behind devising such a framework is twofold: to help other organi-

zations dealing with similar problems as everis; and to improve the guidelines of the

framework by the experience gained in each application of the framework in order to

consolidate architectural knowledge from the industrial practice.

The paper is structured as follows. In Section 2 we describe the fundamental as-

pects of RAs that are suggested to be assessed. In Section 3 we describe the empirical

studies that compose the framework. In Section 4 we present the context of IT con-

sulting firms and show how the framework can be applied in the context of an IT

consulting firm. In Sections 5 and 6 we present preliminary results of two studies of

the framework applied in everis. In Section 7 we end up with conclusions and future

work.

2 Practical Review Criteria for Reference Architectures

In order to devise the framework for RA analysis and review, it becomes necessary to

previously identify relevant aspects to assess RAs. However, a commonly accepted

set of criteria to assess RAs does not exist [1][12-14]. Thus, in this section we identify

important aspects to assess RAs out of practice and out of the literature. The frame-

work presented in this paper envisages these aspects as a primary input for their fur-

ther refinement based on the evidence from organizations.

In [1], Angelov et al. state that SAs and RAs have to be assessed for the same as-

pects. For this reason, we started by analyzing some available works on SA assess-

ment [4][10]. However, existing evaluation methods for SAs are not directly applica-

ble to RAs because they do not cover the generic nature of RAs [1]. Therefore, we

elaborated further this analysis considering both the specific characteristics of RAs as

described in [1][12-13][17] and our own experience in the field. The resulting aspects

for assessing RA are detailed below and summarized in Table 1.

63

Page 70: A Framework for Software Reference Architecture Analysis and Reviesmartinez/files/thesis_proposal.pdf · 2013. 6. 17. · Universitat Politecnica de` Catalunya A Framework for Software

Aspect 1 refers to the need of having an overview of the RA. It includes an analy-

sis of its generic functionalities, its domain [1], its origin and motivation, its correct-

ness and utility, and its support for efficient adaptation and instantiation [13]. Since

RAs are defined to abstract from certain contextual specifics allowing its usage in

differing contexts [2], their support for efficient adaptation and instantiation while

deriving concrete SAs is an aspect to assess [13].

Many prominent researchers [1][7][10][12] highlight the importance of quality at-

tributes, as well as architectural decisions for the SA design process and the architec-

tural assessment. These two aspects should also be considered for the RA assessment

because, as we said, SAs and RAs have to be assessed for the same aspects [1]. Thus,

we considered them as Aspects 2 and 3 respectively. However, since an RA has to

address more architectural qualities than an SA (e.g., applicability) [1], this analysis

could be wider for RAs in this sense. A list of quality attributes that are strictly deter-

mined by SAs is defined in [7]. This list consists of the following ten quality attrib-

utes: performance, reliability, availability, security, modifiability, portability, func-

tionality, variability, subsetability and conceptual integrity.

SAs also address business qualities [1] (e.g., cost, time-to-market) that are business

goals that affect their competence [4]. It is considered as Aspect 4.

To improve the SA design process, there also exist supportive technologies such as

methods, techniques and tools [10][17]. Thus, it is not only important for an RA to

collect data to assess its design process, but also its supportive technologies, which

are assessed by Aspects 5 and 6.

As stated in [10], a crucial aspect to define the goodness of a SA is related to the

ROI. The optimal set of architectural decisions is usually the one that maximizes the

ROI. Aspect 7 is intended to quantify benefits and costs of RAs to calculate their ROI.

We recommend gathering evidence about all these aspects, which are summarized

in Table 1, while assessing an RA. Existing methods for SA assessment have been

previously applied for RA assessment, such as in [1][12][14]. However, none of them

cover all the aspects of Table 1, especially Aspect 7. Hence, new approaches to assess

RAs considering these aspects altogether are required. This has motivated our work.

These architectural aspects can be divided in two areas of different nature. First,

Aspects 1 to 6 are qualitative architectural concerns. Second, Aspect 7 consists of

quantitative metrics to calculate the benefits and costs of deriving SAs from RAs.

Table 1. Summary of relevant aspects for software reference architecture assessment.

Aspect Description of the Architectural Aspect

Qualitative

1 Overview: functionalities [1], origin, utility and adaptation [13]

2 Requirements and quality attributes analysis [1][10][12]

3 Architectural knowledge and decisions [10][12][17]

4 Business qualities [1] and architecture competence [4]

5 Software development methodology [10][17]

6 Technologies and tools [10][17]

Quantitative 7 Benefits and costs metrics to derive SAs from RAs [10]

64

Page 71: A Framework for Software Reference Architecture Analysis and Reviesmartinez/files/thesis_proposal.pdf · 2013. 6. 17. · Universitat Politecnica de` Catalunya A Framework for Software

3 An Empirical Framework to Review Reference Architectures

In this section, we present the ongoing version of our empirical framework. It is com-

posed of an assortment of empirical studies. Each empirical study reviews a subset of

the relevant architectural aspects presented in Table 1.

Current economic models [16] and RAs evaluation methods (e.g., [1][12-14]) sug-

gest to gather Aspect 7, and Aspect 1-6 respectively, directly from the organizations.

However, they do not provide support or guidelines for doing so. Thus, our frame-

work is aimed to provide support for such gathering process while suggests to apply

any of the existing methods to evaluate the economic costs of adopting an RA or its

quality based on the empirically obtained data. The selection of the method used in

each situation would depend on the organization context [5].

Regarding to Aspect 7, an economic model becomes necessary. The data needed to

feed such an economic model depends on the existing value-driven data in the organi-

zation (see Sections 3.1 and 5). Such data may be gathered by conducting post-

mortem studies that collect real metrics or, when the organization does not have pre-

vious experience with RAs, by estimating these metrics using historical data.

In order to gather data to cover Aspects 1-6, our framework suggests conducting

surveys (see Sections 3.3 and 6). These studies gather information not only from RA

projects, but also from SA projects as they are a direct outcome of the RA usage. This

allows analyzing the RA‟s suitability for producing the SAs of enterprise applications

in organizations as well as detecting improvement opportunities.

Fig. 2 summarizes the studies that compose the framework. The studies are classi-

fied by their approach to assess the RA (qualitative or quantitative), depending on

which question of Section 1 they answer.

Moreover, the studies have been designed by following the guidelines for empirical

studies of Wohlin et al. [21]. They state that “it is in most cases impossible to start

improving directly”. Therefore, the framework is based on three steps: understand,

evaluate and improve. The current version of the framework deals with the two for-

mer steps, in which surveys are inside the understanding step, and models and meth-

ods in the evaluation step. Thus, studies are complementary and support each other

(e.g., results from a preceding study can be used to corroborate or develop further

these results). For this reason, the suggested studies should be conducted sequentially.

Survey to check existing value-driven data in organizations

• Existing data that organizations have to quantitatively calculate the costs and benefits of adopting an RA in an organization.

Economic model to calculate the ROI of adopting

an RA

• What is the value of an RA? (quantitative)

Survey to understand the impact of using

an RA

• Evidence about RA practices and RA impact on the organization.

• Refined review criteria for RA.

• Context of the organization.

Architectural evaluation

method specific for RA

• How well an RA supports key aspects? (qualitative)

Is it worth to invest in the adoption of an RA?

Once adopted, how can we ensure the suitability of an RA for deriving concrete SAs for an organization’s applications?

Step

1U

nd

erst

an

dSt

ep 2

Eva

lua

te

Fig. 2. Empirical studies of the framework to assess RAs.

65

Page 72: A Framework for Software Reference Architecture Analysis and Reviesmartinez/files/thesis_proposal.pdf · 2013. 6. 17. · Universitat Politecnica de` Catalunya A Framework for Software

3.1 Surveys to check existing value-driven data in RA projects

Context. Typically, organizations do not have resources to compare the real cost of

creating applications with and without an RA. Thus, alternatives should be envisaged.

Objective. To discover existing data that organizations have to quantitatively calcu-

late the costs and benefits of adopting an RA in an organization.

Method. Exploratory surveys with personalized questionnaires applied to relevant

stakeholders (e.g., manager, architect, developer) to find out the quantitative data that

has been collected in RA projects and application projects.

3.2 Applying an economic model to calculate the ROI of adopting an RA

Context. Before deciding to launch an RA, organizations need to analyze whether

undertaking or not the investment. Offering organizations an economic model that is

based on former projects data can help them to make more informed decisions.

Objective. To assess whether it is worth investing in an RA.

Method. Depending on the maturity of the organization, two methodologies can be

applied. If the organization does not have an RA, the economic model should be fed

with estimated data. Nevertheless, when the organization already has an RA, real data

can be gathered by means of an exploratory quantitative post-mortem analysis. Then,

the economic model quantifies the potential advantages and limitations of using an

RA. Some related works explain how to calculate the ROI of a product [11], and

software reuse [19]. We suggest using the economic model for RAs presented in [14].

3.3 Surveys to understand the impact of using an RA

Context. To refine the set of review criteria for RAs, it is needed to understand RA‟s

characteristics, as well as its potential benefits and limitations. Assessing previous RA

projects is a feasible way to start gaining such an understanding.

Objective. To understand the impact and suitability of an RM for the elaboration of

RAs, and of an RA for the creation of SAs. Improvement insights can also be identi-

fied from different stakeholders.

Method. Exploratory surveys with personalized questionnaires applied to relevant

stakeholders (e.g., architects, developers) to gather their perceptions and needs.

3.4 Applying an architectural evaluation method to prove RA effectiveness

Context. Architecture is the product of the early design phase [7]. RA evaluation is a

way to find potential problems before implementing RA modules, and to gain confi-

dence in the RA design provided to SA projects.

Objective. To analyze the RA strengths and weaknesses and to determine which im-

provements should be incorporated in the RA.

Method. To apply an existing evaluation method specific for RAs such as [1][12-14].

The selection of the method would depend on the organization context [5].

66

Page 73: A Framework for Software Reference Architecture Analysis and Reviesmartinez/files/thesis_proposal.pdf · 2013. 6. 17. · Universitat Politecnica de` Catalunya A Framework for Software

4 Use of the framework in an IT consulting firm

4.1 Context of Information Technology Consulting Firms

Motivation. We are interested in the case in which an IT consulting firm has designed

an RA with the purpose of deriving concrete SAs for each application of a client or-

ganization. This usually happens when the IT consulting firm is regularly contracted

to create or maintain information systems in client organizations. Each information

system is built upon the RA and includes many enterprise applications (see Fig. 3).

An RA can be designed with an intended scope of a single organization or multiple

organizations that share a certain property. Although Fig. 3 shows RAs that are used

for the design of SAs in a single organization, there also exist RAs for multiple organ-

izations that share a market or technological domain such as web applications [2].

The use of RAs allows IT consulting firms to reuse the architectural knowledge of

their RM, and software components (normally associated to particular technologies)

for the design of SAs in client organizations. Thus, RAs inherit best practices from

previous successful experiences and a certain level of quality. These RAs provide a

baseline that facilitates standardization and interoperability as well as the attainment

of business goals during enterprise applications‟ development and maintenance.

Types of projects. There are three types of projects with different targets (Fig. 3):

1) RM projects; 2) RA projects; and 3) SA projects.

Stakeholders for RA analysis. Stakeholders need to be clearly defined for RA as-

sessment purposes [1]. The people involved in an RA assessment are the evaluation

team, which conducts the empirical studies of the framework, and stakeholders from

architectural projects. In the three types of projects defined above performed by IT

consulting firms, we consider the following five stakeholders essential for RA as-

sessment: project business manager, project technological manager, software archi-

tect, developer, and application builder. Each of these stakeholders has a vested inter-

est in different architectural aspects, which are important to analyze and reason about

the appropriateness and the quality of the three types of projects [12]. However, there

could be more people involved in an architectural evaluation, as Clements et al. indi-

cate in [7]. As a consequence, although this context is generic for IT consulting firms,

projects‟ stakeholders may vary between firms. Below, we describe to which type of

project essential stakeholders belong and their interests.

RM projects. It is composed of software architects from the IT consulting firm that

worked in previous successful RA projects. They are specialized in architectural

knowledge management. Their goal is to gather the best practices from previous RA

projects‟ experiences in order to design and/or improve the corporate RM.

RA projects. RA projects involve people from the IT consulting firm and likely

from the client organization. Their members (project technological managers, soft-

ware architects and architecture developers) are specialized in architectural design

and have a medium knowledge of the organization business domain.

Project technological managers from the IT consulting firm are responsible for

meeting schedule and interface with the project business managers from the client

organization.

67

Page 74: A Framework for Software Reference Architecture Analysis and Reviesmartinez/files/thesis_proposal.pdf · 2013. 6. 17. · Universitat Politecnica de` Catalunya A Framework for Software

Software architects (also called as RA managers) usually come from the IT con-

sulting firm, although it may happen that the client organization has software archi-

tects in which organization‟s managers rely on. In the latter case, software architects

from both sides cooperatively work to figure out a solution to accomplish the desired

quality attributes and architecturally-significant requirements.

Architecture developers come from the IT consulting firm and are responsible for

coding, maintaining, integrating, testing and documenting RA software components.

SA projects. Enterprise application projects can involve people from the client or-

ganization and/or subcontracted IT consulting firms (which may even be different

than the RM owner) whose members are usually very familiar with the specific organ-

ization domain. The participation of the client organization in RA and SA projects is

one possible strategy for ensuring the continuity of their information systems without

having much dependency on subcontracted IT consulting firm.

Project business managers (i.e., customer) come from client organizations. They

have the power to speak authoritatively for the project, and to manage resources.

Their aim is to provide their organization with useful applications that meet the mar-

ket expectations on time.

Application builders take the RA reusable components and instantiate them to

build an application.

Reference Model (RM)

Reference Architecture

(RA)

Concrete Software

Architecture(SA)

SoftwareArchitect &

Project Tech.Manager

ArchitectureDeveloper

ProjectBusinessManager

ApplicationBuilder

serves asa reference serves as a reference

designs develops

provides abaseline for

manages

provides abaseline for

RA Team(from IT consulting

firm andmaybe from

client organization)

Concrete SATeams

(from IT consultingfirms and/or

client organization.There could be many

teams for severalapplications)

SoftwareArchitects from

previous RA projects

RM Team(from IT

consultingfirm) design and

improve

Reference Architecture

(RA)

SoftwareArchitect &

Project Tech.Manager

ArchitectureDeveloper

ProjectBusinessManager

ApplicationBuilder

serves as a referenceserves as

a reference

designs develops

provides abaseline for

provides abaseline for

Concrete Software

Architecture(SA)

builds

Concrete Software

Architecture(SA)

manages

Concrete Software

Architecture(SA)

builds

Fig. 3. Relevant stakeholders for RA analysis.

68

Page 75: A Framework for Software Reference Architecture Analysis and Reviesmartinez/files/thesis_proposal.pdf · 2013. 6. 17. · Universitat Politecnica de` Catalunya A Framework for Software

4.2 Instantiation of the Framework

The presented empirical framework is currently being applied at everis. The main

motivation of everis for conducting the empirical studies is twofold: 1) strategic:

providing quantitative evidence to their clients about the potential benefits of applying

an RA; 2) technical: identifying strengths and weaknesses of an RA.

As an IT consulting firm, everis fits into the context described in Section 4.1 (e.g.,

they carry out the three types of projects described there). Following the criteria found

in [1], RAs created by everis can be seen as Practice RAs, since they are defined from

the accumulation of practical knowledge (the architectural knowledge of their corpo-

rate RM). According to the classification of [2], they are also classical, facilitation

architectures designed to be implemented in a single organization. They are classical

because their creation is based on experiences, and their aim is to facilitate guidelines

for the design of systems, specifically for the information system domain.

All the studies suggested in Section 3 are planned to be conducted to understand

and evaluate RAs defined by everis. In this paper, we present the protocol and prelim-

inary results of the two surveys of the understanding step. Section 5 describes the

available value-driven data in projects in order to create or choose an economic model

to calculate the ROI of adopting an RA. In Section 6, an excerpt of the survey proto-

col, which has already been designed and reviewed, is presented. The survey is still in

the analysis step. However, the data about the Aspect 4 (business qualities) have al-

ready been processed. Preliminary results about this aspect show the benefits and

aspects to consider in everis‟ RA projects, and we think that such aspects might be

similar in other IT consulting firms that adopt RAs in client organizations.

Table 2 shows how the roles are covered by the different studies in the everis case.

Table 2. Stakeholders of the everis case.

Projecta Business

Manager

Technical

Manager

Software

Architect

Architecture

Developer

Application

Builder

RM n/a n/a S1, ROI, S2 n/a n/a

RA S2, Eva S1, S2, Eva ROI, S2, Eva S2, Eva S2, Eva

SA n/a n/a n/a n/a S1, S2

a. Legend: Survey to study existing data (S1), Economic model for RA‟s ROI (ROI), Survey to understand RA projects (S2), and RA evaluation (Eva).

5 Survey to check existing value-driven data in projects

5.1 Protocol

Objectives of this study. The objective of this survey is to identify the quantitative

information that can be retrieved from past projects in order to perform a cost-benefit

analysis. The cost-benefit analysis, which is the evaluation step of the framework,

needs this kind of data to calculate the ROI of adopting an RA in an organization.

Sampling. A sample of 5 everis‟ RA projects and 5 SA projects built upon their RAs

have been selected.

69

Page 76: A Framework for Software Reference Architecture Analysis and Reviesmartinez/files/thesis_proposal.pdf · 2013. 6. 17. · Universitat Politecnica de` Catalunya A Framework for Software

Approach for data collection. The main perceived economic benefit on the use of

RAs are the cost savings in the development and maintenance of systems due to the

reuse of software elements and the adoption of best practices of software development

that increase the productivity of developers [16]. We use online questionnaires to ask

project technical managers and application builders about existing information in past

projects for calculating these cost savings. When the client organization has no expe-

rience in RAs, these data need to be estimated, what could be potentially error-prone.

5.2 Preliminary results: costs and benefits metrics for RAs

In this section we describe the information that was available in order to calculate the

costs and benefits of adopting an RA. We divide existing information in two catego-

ries: effort and software metrics. On the one hand, the invested effort from the tracked

activities allows the calculation of the costs of the project. On the other hand, soft-

ware metrics help to analyze the benefits that can be found in the source code.

Effort metrics to calculate projects’ costs. In RA projects, 4 out 5 client organiza-

tions tracked development efforts, while maintenance effort was tracked in 5. In SA

projects, 4 client organizations tracked development and maintenance effort.

The development effort is the total amount of hours invested in the development of

the RA and the SAs of applications. It could be extracted from the spent time for each

development‟s activity of the projects. The maintenance effort is the total amount of

hours invested in the maintenance of the RA and the SAs of applications. Mainte-

nance activities include changes, incidences, support and consults.

Software metrics to calculate benefits in reuse and maintainability. Code in RA

and SA projects was obviously available in all projects. However, due to confidential-

ity issues with client organizations, it is not always allowed to access source code.

The analysis of the code from RA and SA projects allow quantifying the size of

these projects in terms of LOC or function points (number of methods). Having calcu-

lated the project costs as indicated above, we can calculate the average cost of a LOC

or a function point. Since the cost of applications‟ development and maintenance is

lower because of the reuse of RA modules, we can calculate the benefits of RA by

estimating the benefits of reusing them. Poulin defines a model for measuring the

benefits of software reuse [19]. Maintenance savings due to a modular design could

be calculated with design structured matrices [15]. For a detailed explanation about

how such metrics can be used in a cost-benefit analysis, the reader is referred to [16].

5.3 Lessons learned

Architecture improvements are extremely difficult to evaluate in an analytic and

quantitative fashion as the efficacy of the business (e.g., sales) [6]. This is because

software development is a naturally low-validity environment and reliable expert

intuition can only be acquired in a high-validity environment [9]. In order to evaluate

RAs based on an economics-driven approach, software development needs to move to

a high-validity environment. The good news is that it could be done with the help of

good practices like time tracking, continuous feedback, test-driven development and

70

Page 77: A Framework for Software Reference Architecture Analysis and Reviesmartinez/files/thesis_proposal.pdf · 2013. 6. 17. · Universitat Politecnica de` Catalunya A Framework for Software

continuous integration. In order to get the metrics defined in the Section 5.2, tools

such as JIRA1 and Redmine

2 allow managing the tasks and their invested time, gen-

eral software metrics (like LOC) and percentages of tests and rules compliance can be

calculated by Sonar3 and Jenkins

4. We think that adopting good practices to collect

data is the basis for moving software development to a high-validity environment and

consequently being able of performing an accurate cost-benefit analysis.

6 Survey to understand the impact of using an RA

6.1 Protocol

Objectives of this survey. The purpose of the survey is to understand the impact of

using RAs for designing the SAs of the applications of an information system of a

client organization. This is a descriptive survey that measures what occurred while

using RAs rather than why. The following research questions are important in order to

review relevant Aspects 1 to 6 of RAs (defined in Section 2):

1. How is an RA adapted for creating SAs of an organization‟s applications?

2. What is the state of practice on requirements engineering for RAs?

3. What is the state of practice on architectural design for RAs?

4. How does the adoption of RAs provide observable benefits to the different in-

volved actors?

5. What methodologies are currently being used in RA projects by everis?

6. Which tools and technologies are currently being used in RAs projects by everis?

Sampling. The target populations of this survey are RA projects and SA projects

executed by everis. A sample of 9 representative everis‟ projects in client organiza-

tions were selected. All these projects were from Europe (seven from Spain).

Approach for data collection. On the one hand, semi-structured interviews are used

for project technological managers, software architects, and client‟s project business

managers. The reason of using interviews is that these roles have higher knowledge

than the other roles about the architectural aspects of the Table 1, or another perspec-

tive in the case of client‟s project business managers, so we want to collect as much

information as possible from them. Prior to the interviews, questionnaires are deliv-

ered to collect personal information about the interviewee and to inform him/her

about the interview. On the other hand, online questionnaires are used for RA devel-

opers and application builders, since most of their questions are about supportive

technologies and their responses can be previously listed, simplifying the data collec-

tion process.

This is an excerpt of the survey protocol. The complete version of the protocol is

available at http://www.essi.upc.edu/~gessi/papers/eselaw13-survey-protocol.pdf.

1 JIRA, http://www.atlassian.com/es/software/jira/overview 2 Redmine, http://www.redmine.org/ 3 Sonar, http://www.sonarsource.org/ 4 Jenkins, http://jenkins-ci.org/

71

Page 78: A Framework for Software Reference Architecture Analysis and Reviesmartinez/files/thesis_proposal.pdf · 2013. 6. 17. · Universitat Politecnica de` Catalunya A Framework for Software

6.2 Preliminary results: strengths and weaknesses of RAs

In this section we present preliminary results about the business quality section of the

survey, which are the answer to the fourth research question of the protocol: “How

does the adoption of RAs provide observable benefits to the different involved ac-

tors?” Below, the resulting benefits and aspects to consider are reported, followed of

further statements. Benefits in everis‟ RA projects are:

4 out of 9 projects mentioned “increased quality of the enterprise applications”.

─ An RA helps to accomplish business needs by improving key quality attributes.

─ An RA helps to improve the business processes of an organization.

─ An RA reuses architectural knowledge of previous successful experiences.

7 out of 9 projects stated “reduction of the development time and faster delivery of

applications”.

─ An RA allows starting developing applications since the first day by following

architectural decisions already taken.

─ An RA decreases the development time of applications since the RA‟s modules

that implement needed functionality are reused in the application.

7 out of 9 projects mentioned “increased productivity of application builders”.

─ An RA facilitates material and tools for the development, testing and documen-

tation of applications, and for training application builders.

─ An RA generates or automatizes the creation of code in the applications.

─ An RA indicates the guidelines to be followed by the application builders.

─ An RA reduces the complexity of applications‟ developments because part of

the functionality is already resolved in the RA.

─ An RA facilitates the configuration of its modules and the integration with lega-

cy systems or external systems.

6 out of 9 projects stated “cost savings in the maintenance of the applications”.

─ An RA increases the control over applications through their homogeneity.

─ An RA maintains only once reused services by all applications.

─ An RA allows adding or changing functionalities by means of a modular design.

─ An RA establishes long term support standards and “de facto” technologies.

Aspects to consider that eventually could become risks in everis‟ RA projects are:

5 out of 9 projects considered “additional learning curve”. An RA implies an addi-

tional training for their own tools and modules, even if its technologies are stand-

ard or “de facto” already known by the application builder.

3 out of 9 projects stated “dependency on the RA”. Applications depend on the

reused modules of the RA. If it is necessary to make changes in a reused module of

the RA or to add a new functionality, application builders have to wait for the RA

developers to include it in the RA for all the applications.

2 out of 9 projects considered “limited flexibility of the applications”. The use of

an RA implies following its guidelines during the application development and

adopting its architectural design. If business needs require a different type of appli-

cation, the RA would limit the flexibility of that application.

72

Page 79: A Framework for Software Reference Architecture Analysis and Reviesmartinez/files/thesis_proposal.pdf · 2013. 6. 17. · Universitat Politecnica de` Catalunya A Framework for Software

6.3 Lessons learned

During the pilot of the survey, we learnt the following lessons about its design:

The same term could have slightly different meaning in the academia and in the

industry (for instance, the term “enterprise architecture” is sometimes used in the

industry to mean “software reference architecture for a single organization”).

Questions that deal with several variables disconcert the interviewee and make the

analysis more difficult. It is better to split them to cover only one variable.

If a survey targets several stakeholders, their questionnaires should be designed

having into account their knowledge and interest about architectural concerns.

In online questionnaires, it is recommendable to allow the interviewee to write any

comments or clarifications in some field and also include an “n/a” option when

necessary. Besides, a previous button is useful to make changes in prior questions.

Contacting stakeholders from client organizations was harder than contacting in-

terviewees from the IT consulting firm. This is mainly because it was the IT con-

sulting firm who requested the study, so they had a clear interest on it.

7 Conclusions and Future Work

Driving empirical studies is becoming one of the main sources of communication

between practitioners and the academia. The main contribution of this ongoing work

intends to be the formulation of a framework to conduct empirical studies for support-

ing decision making and assessment related to RAs. It consists of a list of relevant

aspects for RAs assessment, and an assortment of four complementary empirical stud-

ies that allow understanding and evaluating these aspects.

It is a practical framework that can be adapted to the specific context of software

companies and IT consulting firms. Consequently, organizations that apply the

framework could benefit from a common reference framework to review RAs.

The framework is being applied in everis. This allows getting feedback for as-

sessing its effectiveness and gathering industrial evidence. Preliminary results of this

application indicate the importance of good practices like time tracking, continuous

feedback, test-driven development and continuous integration in order to quantitative-

ly evaluate RAs. Another result is that the adoption of an RA could bring as main

benefits cost savings in the development and maintenance of applications.

Future work spreads into two directions. In terms of validation, we are also con-

ducting the evaluation step of the framework in everis. With respect to this first ver-

sion of the framework, we aim to extend it considering Wohlin‟s improvement step in

order to build preliminary guidelines for improving RAs in IT consulting firms.

Acknowledgements. This work has been supported by “Cátedra everis” and the

Spanish project TIN2010-19130-C02-00. We would also like to thank all participants

of the surveys for their kindly cooperation.

73

Page 80: A Framework for Software Reference Architecture Analysis and Reviesmartinez/files/thesis_proposal.pdf · 2013. 6. 17. · Universitat Politecnica de` Catalunya A Framework for Software

References

1. Angelov, S., Trienekens, J., Grefen, P.: Towards a method for the evaluation of reference

architectures: Experiences from a case. In: Morrison, R., Balasubramaniam, D., Falkner,

K. (eds.) Software Architecture, LNCS, vol. 5292, pp. 225-240. (2008).

2. Angelov, S., Grefen, P., Greefhorst, D.: A framework for analysis and design of software

reference architectures. Information and Software Technology 54(4), 417 - 431 (2012).

3. Bass, L., Clements, P., Kazman, R.: Software Architecture in Practice. Addison-Wesley

Longman Publishing Co., Inc., Boston, MA, USA, 2 edn. (2003).

4. Bass, L., Clements, P., Kazman, R., Klein, M.: Evaluating the software architecture com-

petence of organizations. In: WICSA, pp. 249-252. IEEE (2008).

5. Bass, L., Nord, R.L.: Understanding the context of architecture evaluation methods. In:

WICSA, pp. 277--281. IEEE (2012).

6. Carriere, J., Kazman, R., Ozkaya, I.: A cost-benefit framework for making architectural

decisions in a business context. In: Software Engineering, vol. 2, pp. 149 -157 (2010).

7. Clements, P., Kazman, R., Klein, M.: Evaluating software architectures: methods and case

studies. Addison-Wesley Professional. (2001).

8. Cloutier, R., Muller, G., Verma, D., Nilchiani, R., Hole, E., Bone, M.: The concept of ref-

erence architectures. Systems Engineering 13(1), 14-27 (2010).

9. Erdogmus, H., Favaro, J.: The Value Proposition for Agility–A Dual Perspective. (2012).

Available at: http://www.infoq.com/presentations/Agility-Value

10. Falessi, D., Babar, M.A., Cantone, G., Kruchten, P.: Applying empirical software engi-

neering to software architecture: challenges and lessons learned. Empirical Software Engi-

neering 15(3), 250-276 (2010).

11. Forrester Research: Forrester‟s Total Economic Impact (TEI). Available online at:

www.forrester.com/TEI , last access: January 2012.

12. Gallaguer, B.P.: Using the Architecture Tradeoff Analysis MethodSM to Evaluate a Refer-

ence Architecture: A Case Study. DTIC Document, (2000).

13. Galster, M., Avgeriou, P.: Empirically-grounded reference architectures: a proposal. In:

Proceedings of QoSA and ISARCS, pp. 153-158. (2011).

14. Graaf, B., van Dijk, H., van Deursen, A.: Evaluating an embedded software reference ar-

chitecture. CSMR, pp. 354-363, (2005).

15. MacCormack, A., Rusnak, J., Baldwin, C.: Exploring the duality between product and or-

ganizational architectures. Harvard Business School Technology Paper, pp. 8-39, (2011).

16. Martínez-Fernández, S., Ayala, C., Franch, X.: A Reuse-Based Economic Model for Soft-

ware Reference Architectures. Technical Report ESSI-TR-12-6, (2012).

17. Nakagawa, E., Oliveira, P., Becker, M.: Reference architecture and product line architec-

ture: A subtle but critical difference. ECSA, pp. 207-211 (2011).

18. Nakagawa, E.: Reference architectures and variability: current status and future perspec-

tives. In: Proceedings of the WICSA/ECSA 2012, pp. 159-162. ACM (2012).

19. Poulin, J.: Measuring software reuse: principles, practices, and economic models. Addi-

son-Wesley. (1997).

20. Runeson, P., Höst, M.: Guidelines for conducting and reporting case study research in

software engineering. Empirical Software Engineering 14(2), pp. 131-164 (2009).

21. Wohlin, C., Höst, M., Henningsson, K.: Empirical Research Methods in Software Engi-

neering. ESERNET. (2003).

74

Page 81: A Framework for Software Reference Architecture Analysis and Reviesmartinez/files/thesis_proposal.pdf · 2013. 6. 17. · Universitat Politecnica de` Catalunya A Framework for Software

Conducting Empirical Studies on Reference Architectures in IT

Consulting Firms

Silverio Martínez-Fernández1, David Ameller1, Claudia Ayala1, Xavier Franch1, Xavier Terradellas2

1 Software Engineering for Information Systems Group

Universitat Politècnica de Catalunya (GESSI-UPC)

Barcelona, Spain

{smartinez, dameller, cayala, franch}@essi.upc.edu

2 Architecture Centre of Excellence

Everis (ARCHEX)

Barcelona, Spain

[email protected]

April 2012

Report ESSI-TR-12-2

Departament d’Enginyeria de Serveis i Sistemes d’Informació

Page 82: A Framework for Software Reference Architecture Analysis and Reviesmartinez/files/thesis_proposal.pdf · 2013. 6. 17. · Universitat Politecnica de` Catalunya A Framework for Software

Conducting Empirical Studies on Reference Architectures in

IT Consulting Firms

Silverio Martínez-Fernández, David Ameller, Claudia Ayala, Xavier Franch

Software Engineering for Information Systems Group

Universitat Politècnica de Catalunya (GESSI-UPC)

Barcelona, Spain

{smartinez, dameller, cayala, franch}@essi.upc.edu

Xavier Terradellas

Architecture Centre of Excellence

Everis (ARCHEX)

Barcelona, Spain

[email protected]

Abstract— Tight time-to-market needs pushes IT consulting firms (ITCFs) to continuously look for

techniques to improve their IT services in general, and the design of software architectures in

particular. The use of reference architectures allows ITCFs reusing architectural knowledge and

components in a systematic way. In return, ITCFs face the need to assess these reference

architectures in order to ensure their quality, return on investment and incremental improvement.

Little support exists to help ITCFs to face this challenge. In this work-in-progress paper we present

an empirical framework aimed to assess ITCFs’ reference architectures and their use in IT projects

by harvesting relevant evidence from the wide spectrum of involved stakeholders. We are currently

applying this framework in an ITCF and we report the issues found so far.

Keywords-Software architecture, reference architecture, empirical software engineering.

I. INTRODUCTION

Nowadays, the size and complexity of information systems (IS), together with critical time-to-market needs, demand new software engineering approaches to design software architectures (SA) [13]. One of these approaches is the use of reference architectures (RA) that allows to systematically reuse knowledge and components when developing a concrete SA [5][11].

As defined in [13], an RA “encompasses the knowledge about how to design concrete architectures of systems of a given application [or technological] domain; therefore, it must address the business rules, architectural styles […], best practices of software development […], and the software elements that support development of systems for that domain”.

Due to their reusable nature, RAs are becoming a key asset of information technology consulting firms (ITCFs). Therefore, their exhaustive assessment (e.g., in terms of quality, cost and time reduction) becomes necessary. The goal of this paper is to present an empirical framework aimed to assess the RAs used by ITCFs in their IT projects executed in client organizations. This framework could be used by ITCFs to drive improvements on their RAs.

The paper is structured as follows. In Section 2 we present the context of our proposal. In Section 3 we describe the fundamental aspects of RAs that are suggested to be assessed. In Section 4 we describe the empirical studies that compose the framework. In Section 5 we present the ongoing application of the framework in the context of an ITCF. In Section 6 we end up with conclusions and future work.

II. CONTEXT OF IT CONSULTING FIRMS

We are interested in the case in which an ITCF has designed an RA with the purpose of deriving SAs for client organizations. This usually happens when the ITCF is regularly contracted to create or maintain ISs in client organizations. Each IS is built upon the derived SA (we call it RA-based SA) and includes many enterprise applications implemented on top of this SA (SA-based enterprise applications), see Fig. 1.

Page 83: A Framework for Software Reference Architecture Analysis and Reviesmartinez/files/thesis_proposal.pdf · 2013. 6. 17. · Universitat Politecnica de` Catalunya A Framework for Software

The use of RAs allows ITCFs to reuse their architectural knowledge and software components (normally associated to particular technologies) for the design of RA-based SAs in client organizations. Thus, a good RA guarantees a certain level of quality for each RA-based SA. Resulting RA-based SAs provide a baseline that facilitates standardization and interoperability as well as the attainment of business goals during enterprise applications‟ development and maintenance.

In the scenario depicted in Fig.1, there are three kinds of projects with different targets: 1) RA projects; 2) RA-based SA projects; 3) SA-based enterprise application projects. Each kind of project has its own stakeholders who need to be clearly defined for assessment purposes [1]. RA projects are run exclusively by an ITCF team, specialized in architectural knowledge management. RA-based SA projects involve one ITCF team and likely another team from the client organization; their members are specialised in architectural design and have relevant knowledge of the organisation business domain. Finally, SA-based enterprise application projects can involve teams from the client organization and/or subcontracted ITCFs (which may even be different than the RA owner) whose members are usually very familiar with the specific organisation domain. The participation of the client organization in these two last types of projects is one possible strategy for ensuring the continuity of their ISs without having much dependency on the ITCF.

Reference Architecture (RA)

Software Architecture (SA)

Enterprise Application

Enterprise Application

Software Architecture (SA)

Enterprise Application

Enterprise Application

…Organisation 1 Organisation n

IT consulting firm

Figure 1. Relationship among RAs, SAs and enterprise applications.

III. RELEVANT ASPECTS OF REFERENCE ARCHITECTURES

In this section we identify important aspects to assess RAs. In [1], Angelov et al. state that SAs and RAs have to be assessed for the same aspects. For this reason, we started by analysing some available works on SA assessment [3][7]. However, due to the generic nature of RAs, some of the aspects found for SA assessment were not directly applicable to RA assessment. Therefore, we elaborated further this analysis considering both the specific characteristics of RAs as described in [1][10][11][13] and our own experience in the field. The resulting aspects for assessing RA are detailed below and summarized in Table I.

Aspect 1 refers to the need of having an overview of the RA. It includes an analysis of its generic functionalities, its domain [1], its origin and motivation, its correctness and utility, and its support for efficient adaptation and instantiation [11].

Falesi et al. [7] and other studies such as [10] highlight the importance of requirements analysis and quality attributes, as well as decision-making and architectural evaluation for the SA design process. These two aspects should also be considered for the RA assessment because, as we said, SAs and RAs have to be assessed for the same aspects [1]. Thus, we considered them as Aspects 2 and 3 respectively. However, since an RA has to address more architectural qualities than an SA (e.g., applicability) [1], this analysis could be wider for RAs in this sense.

SAs also address business qualities [1] (e.g., cost, time-to-market) that are business goals that affect their competence [3]. It is also applicable to RAs, so it is considered as Aspect 4.

To improve the SA design process, there also exist supportive technologies such as methods, and techniques and tools [7][13]. Thus, it is not only important for an RA to collect data to assess its design process, but also its supportive technologies, which are assessed by Aspects 5 and 6.

Page 84: A Framework for Software Reference Architecture Analysis and Reviesmartinez/files/thesis_proposal.pdf · 2013. 6. 17. · Universitat Politecnica de` Catalunya A Framework for Software

As stated in [7], a crucial aspect to define the goodness of a SA is related to the Return on Investment (ROI). The optimal set of architectural decisions is usually the one that maximizes the ROI. Aspect 7 is intended to quantify benefits and costs of RAs to calculate their ROI.

We recommend gathering evidence about all these aspects, which are summarised in Table I, while assessing an RA. Existing methods for SA assessment have been previously applied for RA assessment, such as in [1] and [10]. However, up to our knowledge none of them cover all the aspects of Table I. Hence, new approaches to assess RAs considering these aspects altogether are required. This has motivated our work.

TABLE I. SUMMARY OF RELEVANT ASPECTS FOR RA ASSESSMENT

Aspect Description of the Architectural Aspect

1 Overview: functionalities [1], origin, utility and adaptation [11]

2 Requirements analysis [7], also called quality attributes [1][10]

3 Architectural knowledge and decisions [7][10][13]

4 Business qualities [1] and architecture competence [3]

5 Software development methodology [7][13]

6 Technologies and tools [7][13]

7 Benefits and costs metrics to derive SAs from RAs [7]

IV. AN EMPIRICAL FRAMEWORK TO ASSESS REFERENCE ARCHITECTURES

In this section, we present the ongoing version of our empirical framework to assess RAs (considering the relevant architectural aspects presented in Table I) in the context described in Section II. The framework aims to serve as a point of reference for practitioners (mainly ITCFs) that need to assess their RAs, who can apply it by themselves or with the support of a research team, as in our case (see Section V).

The pillars of the framework are the guidelines for conducting empirical studies in software engineering recommended by Wohlin et al. [17]. These guidelines suggest envisaging activities to understand, evaluate and improve the main object of a study, which is RAs in our case. Owing to it is impossible to start improving directly in most cases [17], the current version of the framework has mainly addressed the activities of understanding and evaluating RAs.

On the one hand, in order to understand the ITCF‟s RA setting and how well such RA is working, the framework suggest three different and complementary types of empirical studies. First, qualitative surveys and case studies aimed to gather information related to the Aspects 1 to 6 (as defined in Section III). Second, a quantitative post-mortem analysis to target the collection of metrics related to the Aspect 7. These studies gather information not only from RA projects, but also from RA-based SA projects as they are a direct outcome of the RA usage, and from SA-based enterprise application projects as they are a direct outcome of the RA-based SA usage. This allows analysing the RA‟s suitability for producing the RA-based SAs for the ITCF‟s client organizations as well as the detection of improvement opportunities.

On the other hand, in order to evaluate the ITCF‟s RA, there exist some evaluation methods in the literature (e.g., [1], [10] and the last step of [11]). These evaluation methods mainly gather information from RA projects, mostly covering Aspects 1 to 6. In our framework, we propose to apply one of these methods to evaluate the quality of an RA.

Below, the empirical studies that have been envisaged for our framework are explained. We use the same structure as in [7]: context and motivation, objectives, method and expected results. Table II summarises the studies that compose the framework and gives some guidelines to support their conduction.

A. Qualitative surveys to understand the current situation

Context: Before deciding to launch an RA-based SA project (or improving an RA), it is needed to understand RA‟s characteristics, as well as its potential benefits and limitations. Assessing previous RA-based SA projects is a feasible way to start gaining such an understanding.

Objective: To understand the impact of using an RA in RA-based SA projects in the client organisations.

Method: Exploratory surveys with personalised questionnaires applied to relevant stakeholders (e.g., leader, architect, developer) to gather their perceptions and needs.

Page 85: A Framework for Software Reference Architecture Analysis and Reviesmartinez/files/thesis_proposal.pdf · 2013. 6. 17. · Universitat Politecnica de` Catalunya A Framework for Software

Expected results: To get an understanding of the impact and suitability of the RA for the elaboration of RA-based SA projects. Improvement insights can also be identified from different stakeholders.

B. Quantitative post-mortem analysis to calculate ROI

Context: Before investing in an RA-based SA, project business leaders from prospective client organisations need to analyse whether undertaking or not the investment. Offering them evidence from former projects can help them to make more informed decisions.

Objective: To assess whether it is worth investing in an RA-based SA. Method: An exploratory quantitative post-mortem analysis. It is aimed to quantify the

potential advantages and limitations of using an RA-based SA. Results from the qualitative survey detailed above are an important input for the design of this study. Some examples can be found at [9] [16].

Expected results: A quantitative report that supports business leaders to make informed

decisions.

C. Case studies to seek an explanation of the situation

Context: Potential actions need to be envisaged after identifying potential problems, improvement opportunities and ROI information from the previous empirical studies.

Objective: To formulate hypotheses from the two previous studies and run case studies to seek an explanation for the intended hypothesis.

Method: Explanatory case study design to seek and explanation of previously identified situations.

Expected results: Feedback and interpretation with respect to previously identified situations from a case study in which the RA has been used.

D. RA Evaluation to prove its effectiveness

Context: A positive evaluation of the RA would prove its effectiveness and quality. Hence, an RA must be evaluated to justify its use. The three previous studies offer potential insights for RA improvements for that cases in which the quality of the RA is not sufficient.

Objective: To evaluate the RA. Method: An existing empirical method to evaluate RAs such as [1], [10] and the last step of

[11]. Expected results: An evaluation of the RA to analyse its effectiveness and to determine which

improvements should be incorporated in the RA.

E. Summary of the empirical studies of our framework

Table II summarises the characteristics of the empirical studies of our framework. The first column shows in which step of the guidelines of [17] the study applies. The second column indicates its type. The third column points out the stakeholders that are involved in the study. Characteristics of the empirical methodological approach are in the fourth column. It comprises three characteristics [17]: the purpose of the study, which could be exploratory, descriptive, explanatory or improving; the collected data that may be quantitative or qualitative; and the research design that may be fixed, semi-fixed or flexible. The fifth column describes the main goal of each study. The sixth column emphasizes the aspects from Table I that should be covered by the study, which depends on its data collected (i.e., qualitative or quantitative). In the last columns, existing guidelines (both general and specific for software engineering) to conduct the studies are recommended.

It is important to note that the empirical studies suggested by our framework are complementary and support each other. Our framework benefits from this combination of studies. For instance, collecting data from different studies allows triangulation (i.e., data validation). Also, results from a preceding empirical study can be used to corroborate or develop further these results (e.g., using an explanatory case study to find out why the results from an exploratory survey are as they are). For this reason, the suggested studies have been designed to be conducted sequentially.

Page 86: A Framework for Software Reference Architecture Analysis and Reviesmartinez/files/thesis_proposal.pdf · 2013. 6. 17. · Universitat Politecnica de` Catalunya A Framework for Software

TABLE II. EMPIRICAL STUDIES OF THE FRAMEWORK TO ASSESS REFERENCE ARCHITECTURES

Step Type of

study

Study’s

stakeholders

Methodology

characteristics Goal

Aspects

targeted

Guidelines

General For SE

Un

der

stan

d

Survey

Several RA-based

SA teams, several

SA-based enterprise

application teams

Exploratory

To understand the

scenario from

each stakeholder‟s

perpective

1, 2, 3,

4, 5, 6

[12]

[14] [4] [17]

Qualitative

Semi-fixed

Post-

mortem

analysis

The RA team,

several RA-based

SA teams

Exploratory To calculate the

ROI for RA-based

SAs

7 [12]

[14]

[6] [9]

[16] [17]

Quantitative

Fixed

Case study An RA-based SA

team

Explanatory

To seek an

explanation of the

situation found

out in the two

previous studies

1, 2, 3,

4, 5, 6

[12]

[14] [15] [17]

Qualitative

Flexible

Ev

alu

ate

RA

Evaluation The RA team

Improving

To evaluate the

RA quality

1, 2, 3,

4, 5, 6 n/a

[1] [7]

[10] [11]

Qualitative

Fixed

V. INSTANTIATION OF THE FRAMEWORK: THE EVERIS CASE

The presented empirical framework is currently being applied at the Architecture Centre of Excellence of Everis, a multinational ITCF. The main motivation of Everis for conducting the empirical studies is twofold: 1) technical: identifying strengths and weaknesses for their RA; 2) strategic: providing evidence to their clients about the potential benefits of applying their RA. Everis fits into the context described in Section II, e.g., they carry out the three types of projects described there.

Following the criteria found in [1], Everis‟ RA can be seen as a Practice RA, since it is defined from the accumulation of practical knowledge. According to the classification of [2], it is also a classical, facilitation RA for multiple organisations designed by a software organisation in cooperation with user organisations. It is classical because its creation is based on experiences, and its aim is to facilitate guidelines for the design of systems, specifically for the IS

domain. Fattah presents in [8] another classification scheme that would consider it as an enterprise RA because it is “a blueprint for the Solution Architecture [RA-based SA] of a number of potential projects [SA-based enterprise applications projects] within an organisation that embodies […] principles, policies, standards and guidelines”.

All the studies presented in this paper are planned to be conducted to assess Everis‟ RA. The survey protocol has already been designed and reviewed. On the other hand, the post-mortem analysis to calculate the RA‟s ROI is currently under design. The roles of the different stakeholders and an excerpt of the survey protocol are shown below. The complete version of the survey protocol is available at http://www.essi.upc.edu/~gessi/ecsa12-survey-protocol.pdf .

A. Mapping between studies and stakeholders

As it was already said, stakeholders need to be clearly defined for RA assessment purposes [1]. In Everis‟ projects, there are four kinds of stakeholders in both ITCF and client organisation teams: project business leader, project technological leader, software architect and developer. Each of these stakeholders has a vested interest in different architectural aspects, which are important to analyse and reason about the appropriateness and the quality of the three kinds of projects [10]. Table III shows how the roles are covered by the different studies in the Everis case.

B. The survey protocol of the Everis case

1) Sampling. The target population of this survey are RA-based SA projects and SA-based enterprise application projects. A representative sample of these projects in several client

Page 87: A Framework for Software Reference Architecture Analysis and Reviesmartinez/files/thesis_proposal.pdf · 2013. 6. 17. · Universitat Politecnica de` Catalunya A Framework for Software

organisations has been selected. Table III indicates with an „S‟ the roles that will be interviewed in each project.

2) Approach for data collection. On the one hand, semi-structured interviews will be used for Project Technological Leaders and Software Architects, and Client‟s Project Business Leaders. The reason of using interviews is that these roles have higher knowledge than the other roles about the architectural aspects of the Table I, or another perspective in the case of Client‟s Project Business Leaders, so we want to collect as much information as possible from them. Prior to the interviews, questionnaires might be delivered to collect personal information about the interviewee and to inform him/her about the interview. On the other hand, online questionnaires will be used for RA-based SA Developers and SA-based enterprise application Developers, since most of their questions are about supportive technologies and their responses can be previously listed, simplifying the data collection process.

TABLE III. STAKEHOLDERS OF THE EVERIS CASE

Projecta ITCF Team Client Organization Team

PBL PTL Arc Dev PBL PTL Arc Dev

RA E E R, E E n/a n/a n/a n/a

SA C S, C S, R, C S, C S, C C C C

Application n/a n/a n/a S n/a n/a n/a n/a

a. Legend: Project Business Leader (PBL), Project Technological Leader (PTL),

Software Architect (Arc), Developer (Dev), Survey (S), ROI study (R), Case study (C),

and RA evaluation (E).

VI. CONCLUSIONS

Driving empirical studies is becoming one of the main sources of communication between practitioners and the academia. The main contribution of this work-in-progress paper intends to be the formulation of a framework to conduct empirical studies for assessing RAs. It consists of a list of relevant aspects for RAs assessment, and an assortment of four complementary empirical studies that allow assessing these aspects. The framework can be adapted to the specific context of ITCFs. Consequently, practitioners that apply the framework in their ITCFs, either by themselves of through collaboration with researchers, could benefit from a common reference framework to assess RAs.

Future work spreads into two directions. In terms of validation, we are conducting the Everis case using our framework, getting feedback for assessing its effectiveness. With respect to this first version of the framework, we aim to extend it considering Wohlin‟s improvement step (see Section IV) in order to build preliminary guidelines for improving RAs in ITCFs.

ACKNOWLEDGMENTS

This work has been supported by the “Cátedra Everis” project. We would also like to thank Matthias Galster for his comments and suggestions.

REFERENCES

[1] S. Angelov, J.J.M. Trienekens, P. Grefen, “Towards a Method for the Evaluation of Reference Architectures: Experiences from a Case,” ECSA 2008.

[2] S. Angelov, P. Grefen, D. Greefhorst, “A Framework for Analysis and Design of Software Reference Architectures,” Information and Software Technology, 54(4), 2012.

[3] L. Bass, P. Clements, R. Kazman, M. Klein, “Evaluating the Software Architecture Competence of Organisations,” ECSA 2008.

[4] M. Ciolkowski, O. Laitenberger, S. Vegas, S. Biffl, “Practical Experiences in the Design and Conduct of Surveys in Empirical Software Engineering,” ESERNET 2003.

[5] R. Cloutier et al., “The Concept of Reference Architectures,” Systems Engineering, 13(1), 2010.

[6] B. Collier, T. De Marco, P. Fearey, “A Defined Process for Project Post Mortem Review,” Software IEEE, 13(4), 1996.

Page 88: A Framework for Software Reference Architecture Analysis and Reviesmartinez/files/thesis_proposal.pdf · 2013. 6. 17. · Universitat Politecnica de` Catalunya A Framework for Software

[7] D. Falessi, M. Ali Babar, G. Cantone, P. Kruchten, “Applying Empirical Software Engineering to Software Architecture: Challenges and Lessons Learned,” Empirical Software Engineering, 15(3), 2010.

[8] A. Fattah, “Enterprise Reference Architecture,” Via Nova Architectura, 2009.

[9] Forrester Research, “Forrester‟s Total Economic Impact (TEI)”, available online at: www.forrester.com/TEI, last accessed: Dec 2011.

[10] B.P. Gallaguer, “Using the Architecture Tradeoff Analysis MethodSM to Evaluate a Reference Architecture: A Case Study,” DTIC Document, 2000.

[11] M. Galster, P. Avgeriou, “Empirically-grounded Reference Architectures: A Proposal,” QoSA+ISARCS, 2011.

[12] D.E. Gray, “Doing Research in the Real World,” SAGE Publications Ltd, 2009.

[13] E. Y. Nakagawa, P. O. Antonino, M. Becker, “Reference Architecture and Product Line Architecture: A Subtle But Critical Difference,” ECSA 2011.

[14] C. Robson, “Real World Research: A Resource for Social Scientists and Practitioner-Researchers,” Blackwell Publishers, 2002.

[15] P. Runeson, M. Höst, “Guidelines for Conducting and Reporting Case Study Research in Software Enginnering,” ESEM 2008.

[16] R. van Solingen, “Measuring the ROI of software process improvement,” Software IEEE, 21(3), 2004.

[17] C. Wohlin, M. Höst, K. Henningsson, “Empirical Research Methods in Software Engineering,” ESERNET 2003.

Page 89: A Framework for Software Reference Architecture Analysis and Reviesmartinez/files/thesis_proposal.pdf · 2013. 6. 17. · Universitat Politecnica de` Catalunya A Framework for Software

REARM: A Reuse-Based Economic Model for Software

Reference Architectures

Silverio Martínez-Fernández1, Claudia Ayala

1, Xavier Franch

1, Helena Martins

Marques2

1 GESSI Research Group, Universitat Politècnica de Catalunya, Barcelona, Spain {smartinez,cayala,franch}@essi.upc.edu

2 everis, Barcelona, Spain [email protected]

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

83

Page 90: A Framework for Software Reference Architecture Analysis and Reviesmartinez/files/thesis_proposal.pdf · 2013. 6. 17. · Universitat Politecnica de` Catalunya A Framework for Software

savings through reduced cycle times, cost, risk and increased quality [11]; to help

with the evolution of a set of systems that stem from the same RA [18]; and to ensure

standardization and interoperability [3].

However, although the adoption of an RA might have plenty of benefits for an or-

ganization, it also implies several challenges, among them the need for an initial in-

vestment [18]. Hence, in order to use RAs, organizations face a fundamental question:

“Is it worth to invest on the adoption of an RA?”

Thus, organizations need to ensure the feasibility of adopting an RA by assessing

their goals, the resources they can invest and the expected benefits. In spite of this

need, there is a lack of research methods for economics-driven RA evaluation [29].

Besides, there is a shortage of economic models to “precisely evaluate the benefit of

‘architecture projects’ - those that aim to improve one or more quality attributes of a

system” [8]. Thus, the adoption of RAs is usually made without evaluating their eco-

nomic impact. To make informed decisions, it becomes necessary to make a business

case in order to know how many instantiations (i.e., applications) are necessary before

savings pay off for the up-front investment in building an RA.

The goal of this paper is to present a pragmatic preliminary economic model to

perform cost-benefit analysis on the adoption of RAs as a key asset for optimizing

architectural decision-making (referred to as REARM, REference ARchitecture Mod-

el). This goal is of interest for researchers for the need of formulating accurate models

and practitioners for the opportunity of making more informed decision-making about

whether to implement the strategic move to RA adoption. Due to the aforementioned

lack of research in this specific area, we have aimed at adopting and adapting existing

results in related areas, from classical software reuse to product line engineering.

It is worth mentioning that the paper has its origin in an ongoing action-research

[36] initiative among our research group and everis, a multinational consulting com-

pany based in Spain. The architecture group of everis experienced the inability to

calculate the return on investment (ROI) derived from RAs that they create for organ-

izations. The model stemming from this collaboration is currently under formative

evaluation [36], but results so far are already triggering change in some development

processes in the organization (e.g., bug reporting). As part of the collaboration, we

had the chance to provide an initial validation of the economic model. It comprises a

retrospective evaluation of an RA created by everis for the IT department of a public

administration center in Spain.

2 Background and related work

Current research on RA evaluation consists of analysis methods [2][17][21] that in-

volve the analysis of risks, non-risks, benefits and trade-offs. Although they facilitate

the analysis of those aspects based on the most important and critical scenarios, they

have little support to analyze the cost and benefits of RAs based on economics.

Introducing an RA into an organization involves making a decision of a greater de-

gree than only considering the aforementioned aspects, since it should not only in-

clude quality, but it should also include productivity issues. Whereas architectural

84

Page 91: A Framework for Software Reference Architecture Analysis and Reviesmartinez/files/thesis_proposal.pdf · 2013. 6. 17. · Universitat Politecnica de` Catalunya A Framework for Software

quality is usually estimated in relation to eliciting implicit and explicit requirements

of the different stakeholders affected by the development of the system, productivity

is actually measured in terms of effort, cost, and economic benefits. Nevertheless,

both views are necessary to achieve a comprehensive analysis of the system.

Up to our knowledge, there is no specific economic model for estimating whether

it is worth or not to invest in an RA for an organization. Due to the lack of research in

this specific area, we have aimed at adopting and adapting existing results in related

areas: economic models for software product lines (SPL), cost-benefit analysis meth-

ods for SAs, and more generic metrics about cost savings.

Economic models for software product lines and software reuse. The terms RA

and product line architecture (PLA) are sometimes used indistinctly inside the SPL

engineering context, in which the term RA is used to refer to “a core architecture that

captures the high-level design for the applications of the SPL” [33, p. 124] or “just

one asset, albeit an important one, in the SPL’s asset base” [9, p. 12].

However, out of the SPL context, RA and PLA are considered different types of ar-

tifacts [3][12][19][28]. In Fig. 1 we show the main similarities and differences:

PLAs are RAs whereas not all RAs are PLAs [3], i.e. PLAs are one type of RAs

[19]. PLAs are just one asset of SPL [9, p. 12].

RAs are more generic and abstract than PLAs that are more complete architectures

[3][19]. Hence, “RAs can be designed with an intended scope of a single organiza-

tion or multiple organizations that share a certain property” [3] whereas PLAs are

produced for a single organization [19].

RAs provide standardized solutions for a broader domain (i.e., “spectrum of sys-

tems in a technology or application domain” [19]) whereas PLAs provide standard-

ized solutions for a smaller subset of the software systems of a domain [28] (i.e.,

“group of systems that are part of a product line” [19]). Therefore, PLAs give a co-

herent and more congruent view of the products in a project (i.e., possible to track

the status of) [12] whereas by means of RAs it is more difficult to obtain congru-

ence [3], since they can only provide guidelines for applications’ development.

PLAs specifically address points of variability and more formal specification in

order to ensure clear and precise behavior specifications at well-specified extension

points [3]. In contrast, RAs have less focus on capturing variation points

[3][12][28]. Although variability is not typically addressed by RAs in a systematic

manner, it is also a key fact for RAs [18], and it can be treated as a quality attrib-

ute, rather than explicitly as ‘features’ and ‘decisions’ [18].

RAs include “the reuse of knowledge about software development in a given do-

main, in particular with regard to architectural design” [28] and dictate the patterns

and principles to implement, i.e. “what the design should be” [12]. Conversely,

PLAs specifically indicate deviations, i.e. “what the design is” [12].

RAs include architectural knowledge and the instantiation of this architectural

knowledge (i.e., reference model) into software elements [5]. In this sense, both

RAs and PLAs are “a superset, a tool box, with every possible architecture element

described, which can be used in the design of a product architecture” [12].

85

Page 92: A Framework for Software Reference Architecture Analysis and Reviesmartinez/files/thesis_proposal.pdf · 2013. 6. 17. · Universitat Politecnica de` Catalunya A Framework for Software

Fig. 1. Similarities and differences between RAs, PLAs, and SPLs.

Although we also consider that RA and PLA are different, some perceived benefits of

RA (e.g., cost saving from reusing software elements) and cost-benefit factors (e.g.,

common software costs, unique development costs) are applicable to both, since both

have reuse as their core strategy. For this reason, we studied the applicability of some

economic models originally conceived for SPL to RAs. Below, we summarize our

results with respect to cost and benefit factors. To see more models, the reader is re-

ferred to [1], in which Ali et al. surveyed twelve economic models for SPL, and to

[16][27] in which the authors surveyed economic models for software reuse.

Cost and Benefit Factors of Economic Models. SIMPLE [10], Poulin’s model [34],

and COPLIMO [7] are some of the most widespread economic models for SPLs.

SIMPLE [10] comprises a set of seven cost factors:

Corg, upfront investments to establish a SPL infrastructure.

Ccab, the cost to build reusable assets of the SPL.

Cunique, the cost to develop unique parts of products in a SPL.

Creuse, the cost of reusing reusable assets in a product inside the SPL.

Ccabu, the cost to evolve the core asset in a SPL.

Cprod, the cost to build a product in a stand-alone fashion.

Cevo, the cost to evolve a product in a stand-alone fashion.

Core AssetDevelopment

(includingPLA)

Management

Productdevelopment

reference model domain engineering application engineering

Spe

ctru

m/s

et o

f ap

plic

atio

ns

Sub

set

app

licat

ion

sSu

bse

tnWhat the design SHOULD be

• Knowledge, in particular with regard to architectural design

• Architectural styles• Best practices of

software development

Varia-bility

REFERENCEARCHITECTURE

SOFTWAREPRODUCT

LINE

What the design IS• Domain knowledge• Business rules• Domain terminology • Software elements

Instantiation• Guidelines

more abstract more specialized

morecongruence

lesscongruence

86

Page 93: A Framework for Software Reference Architecture Analysis and Reviesmartinez/files/thesis_proposal.pdf · 2013. 6. 17. · Universitat Politecnica de` Catalunya A Framework for Software

These cost factors and benefit functions can be used to construct equations that can

answer a number of questions such as whether the SPL approach is the best option for

development and what is the ROI for this approach. Ganesan et al. extended SIMPLE

by considering infrastructure degeneration over time [20].

On the other hand, Poulin [34] and Boehm et al. [7] base their reuse-based models

in two parameters: RCR and RCWR.

RCR (Relative Cost of Reuse). Assuming that the cost to develop a reusable asset

equals one unit of effort, RCR is the portion of this effort that it takes to reuse a re-

usable asset without modification (black-box reuse).

RCWR (Relative Cost of Writing for Reuse). Assuming that the cost to develop a

new asset for one-time use equals one unit of effort, RCWR is the portion of this

effort that it takes to write a similar “reusable” asset.

For those cases in which there are difficulties to obtain historical data of building

and evolving products in a stand-alone fashion (Cprod, Cevo), we consider more ade-

quate the use of RCR and RCWR (see Section 4.1, step 2).

Finally, we must note two models (Schmid [37], InCoME [30]) that integrate cost

and investment models in different layers, which make them more comprehensive.

Value of software architecture design decisions. There exist a few economics-based

SA analysis methods that drive the decision-making process during SA review and

design. In this direction, CBAM [22] is a useful method for prioritizing architectural

decisions that bring higher value. In addition, Ozkaya et al. proposed an economic

valuation of architectural patterns [32].

These approaches help to find the optimal set of decisions that maximizes the ROI

[15]. They pursue to solve the same problem of this paper, but their scope is broader

and general for any kind of SA decision and do not reflect fundamental characteristics

of adopting an RA. Therefore, their applicability for studying the ROI of RA adoption

would require more effort, since specific cost-benefit factors for architecture-centric

reuse are not considered. Hence, they are not the most convenient approaches for

making the business case of adopting an RA and calculating its payback time.

Generic software metrics. There exist several approaches that propose metrics for

estimating cost savings in software development and maintenance. Metrics as de-

pendency structure matrices (DSM) have been applied to assist architecture-level

analysis, such as value of modular designs, and they have proven to be particularly

insightful for validating the future value of architecting modular systems [8]. Mac-

Cormack et al. extracted coupling metrics from an architecture DSM view for infer-

ring the likelihood of change propagation and, hence, future maintenance costs [25].

Baldwin et al. presented a generic expression for evaluating the option to redesign a

module also based on DSMs [4].

In addition, the concept of technical debt (either architecture-focused [31] or code-

based [24]) is a way to measure unexpected rework costs due to expediting the deliv-

ery of stakeholder value in short.

87

Page 94: A Framework for Software Reference Architecture Analysis and Reviesmartinez/files/thesis_proposal.pdf · 2013. 6. 17. · Universitat Politecnica de` Catalunya A Framework for Software

Summary. Although there is a lack of research in evaluating the economic viability

of RA adoption, there is a strong base of research in related areas. The most important

related area is economic models that identify cost and benefit factors for PLA adop-

tion. Although there is a significant amount of research is this direction, it falls short

in:

Validation in industry. “Very few [economic models for SPL] actually have been

used as a basis for further development or adopted in industry” [23]. Thus, “there is

a clear need for many more empirical studies to validate existing models” [1].

Easy adoption of models in industry by identifying realistic metrics to collect and

report. “It is difficult for the practitioners to evaluate the usability and usefulness of

a proposed solution [economic model for SPL] for application in industry” [23].

Not guidelines exist to fully operationalize the models in practice [37].

Economics-driven SA analysis methods do not specifically aim at making an in-

vestment analysis of the adoption of an architecture-centric program. RA adoption is a

subarea inside their generic decision-making context.

At a lower level, more simple metrics like DSM, could also be adequate for calcu-

lation the cost and benefit factors of RA adoption and make more complete models.

This state of the art drove us to the formulation of an economic model for RAs,

which is currently on its formative stage. The formulation of the model aims to:

Adapt cost and benefit factors from SPL models that are easy-to-apply by industry.

The goal is to provide guidelines to fully operationalize the model in practice.

Fill the gap of RA economics inside the SA decision-making context.

Look for generic software metrics that can quantify new cost and benefit factors.

3 Industrial context

The architecture group of everis is an initiative to manage architectural knowledge,

best practices and lessons learned from previous experiences; and to provide efficient

solutions to a better cost, flexibility and agility to the demands of client organizations.

This architecture group offers solutions for big businesses (e.g., banks, insurance

companies, public administration and service, and industrial organizations) that offer

a wide spectrum of services to their clients. Often, already existing commercial pack-

ages are not completely aligned with the business needs of these organizations, there-

by requiring custom development and maintenance of applications. In this scenario,

everis foster the use RAs for managing a wide spectrum of applications.

The architecture group of everis experienced the inability to calculate the ROI de-

rived from RAs that they create for organizations. The purpose of our research is to

create a method for extracting costs and benefits of RAs based on data that they were

already collected.

88

Page 95: A Framework for Software Reference Architecture Analysis and Reviesmartinez/files/thesis_proposal.pdf · 2013. 6. 17. · Universitat Politecnica de` Catalunya A Framework for Software

4 An economic model for reference architectures

4.1 Method for formulating the economic model

An RA cost-benefit analysis should be based on giving an economic value to its ac-

tivities. We designed our economic model through the three following steps:

1. Identify the costs and benefits stemming from the use of an RA. Although cost

modeling is already a mature field within software engineering, benefits have tradi-

tionally been far more elusive to quantify [8]. For this reason, it is necessary to

identify the RA quality attributes that bring more benefit to the development and

maintenance of applications, and the costs of constructing these applications [22].

These attributes may vary depending on the architecturally-significant require-

ments coming from the applications based on the RA. It is crucial to involve rele-

vant stakeholders to ensure the trustworthiness of the collected information [38].

The outputs of this step are, therefore, the costs factors of adopting an RA and

the list of quality attributes in which the RA brings more benefit.

2. Adopt metrics that quantify the costs and benefits identified in the first step in

order to convert them into a monetary value. The metrics to quantify them may

vary depending on the data available in the organization involved.

The output of this step is providing guidelines for collecting simple metrics

that make possible to calculate the cost and benefits factors in practice.

3. Make the business case for the adoption of the RA. Add the costs and benefits

calculated in the second step to the formula for calculating the ROI (proposed by

Boehm [6]), where the benefits are the improvements of applications quality attrib-

utes, and the costs are the expenses in constructing the systems and the RA.

The output of this step is a business case that captures the reasoning for adopt-

ing an RA. The RA business case analysis involves determining the relative finan-

cial costs, benefits, and ROI across its life-cycle.

R I enefits - osts

osts (1)

4.2 Execution of the method for formulating the economic model

The action-research collaboration with everis provided us the opportunity of im-

plementing this general-purpose method in a particular case.

Step 1. We conducted a survey involving project managers, architects and developers

of 9 organizations in Europe (7 from Spain) [26]. The survey pointed out that the

main perceived economic benefits on the use of RAs were: (1) an increased value

from the improvement of quality attributes, since their reused architectural knowledge

is incrementally improved with previous successful experiences from its application

domain; (2) cost savings in the development and maintenance of systems due to the

reuse of software elements and the adoption of best practices of software development

that increase the productivity of developers. Therefore, RAs bring most of the benefit

89

Page 96: A Framework for Software Reference Architecture Analysis and Reviesmartinez/files/thesis_proposal.pdf · 2013. 6. 17. · Universitat Politecnica de` Catalunya A Framework for Software

because of the improvement of reusability and maintainability quality attributes. One

of the reasons why RAs were adopted in these organizations is that the most im-

portant architecturally-significant requirement was reusability. Thus, we decided to

focus our cost-benefit analysis over reusability and maintainability.

We found that some of the potential metrics to be used were not as pragmatic as

the organization needed. In other words, the organization should have been invested

extra time which was not an option. Furthermore, we faced the problem that some of

the required data to apply the proposed metrics was not previously registered by the

organization. Thus, we stressed the emphasis on formulating a practical model that

incrementally deals with diverse cost-benefit aspects.

We identified six cost-benefit factors for RA adoption. We started the formulation

of factors by adopting Poulin’s method for measuring code reuse [34][35]. We

adapted Poulin’s model because it has been applied in industry, offers parameters to

operationalize it, and we could feed it with available data in everis (see Step 2 below).

We adopted its benefit factors (DCA, SCA) published in [35]. Conversely, we consid-

er more appropriate for RAs to adopt the cost factors defined for SPL (CSWdev_costs,

CSWservice_costs) in [35], instead of the additional development costs [34].

To complete the model we add the unique development costs of applications. Also,

with the help of the propagation cost metric [25], we also consider necessary changes

to reusable elements (which are not considered by Poulin’s method) and, therefore,

evolution. These two new factors include parameters to operationalize them.

The former three factors are for development and the latter ones for maintenance:

DCA (Development Cost Avoidance). It is the benefit from reusing RA’s software

modules in applications compared to building the applications independently.

UDC (Unique Development Costs). It is the cost to develop the unique parts of an

application that are not already implemented in the modules of the RA. UDC is

equivalent to Creuse+Cunique.

CSWD (Common Software Development costs). It is the cost of the initial invest-

ment, i.e., developing an RA. CSWD is equivalent to Corg+Ccab.

SCA (Service Cost Avoidance). It is the benefit of modifying reused code once.

CSWS (Common Software Service costs). It is the cost of fixing bugs in the (reus-

able) RA modules. CSWS calculates the cost of changes due to bugs in Ccabu.

CSWE (Common Software Evolution costs). It is the cost of changing or adding

functionalities to the RA modules. CSWE calculates the cost of evolutions in Ccabu.

Therefore, CSWS+CSWE are equivalent to Ccabu.

Putting everything together, given a number n of applications built in top of the

RA, and a number m of RA modules changed as it evolves, the benefits and costs of

adopting an RA are defined as:

enefits ∑ ( Ai S Ai)ni 1 (2)

osts S S S ∑ ini 1 ∑ S j

mj 1 (3)

Step 2. We divide the second step in two activities: checking the data available in

practice and guide the information extraction from this data.

90

Page 97: A Framework for Software Reference Architecture Analysis and Reviesmartinez/files/thesis_proposal.pdf · 2013. 6. 17. · Universitat Politecnica de` Catalunya A Framework for Software

Data commonly available in practice that should be collected. The data that typically

is available in order to calculate the aforementioned costs and benefits are effort and

software metrics [26]. It allows converting cost-benefit factors into a monetary value.

On the one hand, the invested effort from the tracked activities allows the calcula-

tion of costs. We distinguish between three types of activities: training, development

and maintenance. JIRA1 and Redmine

2 are tools that support keeping track of activi-

ties and their invested time. Keeping track of activities is common in practice for

project management and auditing. Activity tracking is also known as tickets [8].

On the other hand, software metrics help to analyze the benefits that can be found

in the source code. For example, since the cost of applications’ development is lower

because of the reuse of RA, we estimate the cost avoidance of reusing its LOC. Sonar3

offers tool support for obtaining general software metrics such as LOC, dependencies

between modules, technical debt [24], and percentages of tests and rules compliance.

Software development is a naturally low-validity environment and reliable expert

intuition can only be acquired in a high-validity environment. As stated by Erdogmus

and Favaro [14], the adoption of practices like time tracking and tools to collect data

is the basis for moving software development from its usual low-validity environ-

ment, to a high-validity environment.

We experienced difficulties collecting historical data (as in [20]), especially for the

“before” state of adopting an RA. We noted that Cprod and Cevo were seldom available

since the “before” state did not exist. For this reason, we use RCR and RCWR.

Using commonly available data in practice to quantify the costs and benefits. In

Table 1, we present ten basic parameters that are required for calculating the six cost-

benefit factors of the Step 1. Table 2 shows the formulas to calculate this six cost-

benefit factors as well as parameters that are needed for these calculations.

Table 1. Basic parameters in order to feed the factors of Table 2.

Description of the parameters (adapted for the RA context)

RCR Relative Cost of Reuse: effort that it takes to reuse a component without modifica-

tion versus writing it new one-at-a-time [34]

RCWR Relative Cost of Writing for Reuse: effort that it takes to write a reusable component

versus writing it for one-time use only [34]

ER Error Rate: the historical error rate in new software developed by your organization,

in errors per thousand lines of code [34]

EC rror ost: your organization’s historical cost to fix errors after releasing new soft-

ware to the customer, in euros per error [34]

NMSI New Module Source Instruction: the LOC that the changed or new module has,

which can be the average of previous ones

PC Propagation Cost: the percentage of code affected in the RA when performing evo-

lutions (i.e., changing modules) [25]

CPKL Cost per KLOC: the historical cost to develop a KLOC of new software in your

organization [34]

1 JIRA, http://www.atlassian.com/es/software/jira/overview 2 Redmine, http://www.redmine.org/ 3 Sonar, http://www.sonarsource.org/

91

Page 98: A Framework for Software Reference Architecture Analysis and Reviesmartinez/files/thesis_proposal.pdf · 2013. 6. 17. · Universitat Politecnica de` Catalunya A Framework for Software

USI Unique Source Instructions: the amount of unique software (i.e., not reused) that

was written or modified for an application

RSI Reused Source Instructions: it is the total LOC of the RA’s modules that are reused

in an application. It supports variability. In other words, reuse of RA might not be

complete but partial, since different applications can reused different RA’s modules.

Therefore RSI depend on each application [34].

TSI Total Source Instructions: it is the total LOC of the RA that can be reused [34].

Table 2. Cost-benefit factors to calculate the ROI of adopting an RA in an organization.

Description of the cost-benefit factors (adapted for the RA context)

DCA evelopment ost Avoidance: the benefits from reusing RA’s modules [34]

DCA = RSI * (1-RCR) * CPKL

CSWD Common Software Development costs: the costs to develop the RA [35]

CSWD = RCWR * TSI * CPKL

UDC Unique Development Costs: the costs to develop the unique part of an application

UDC = USI*CPKL

SCA Service ost Avoidance: benefits from maintaining only once RA’s modules [34]

SCA = RSI * ER * EC

CSWS Common Software Maintenance costs: cost of fixing bugs in reusable modules [35]

CSWS = TSI * ER * EC

CSWE Common Software Evolution costs: the costs of changing or adding a new function-

ality and maintaining it to the RA

CSWE = evolution development + evolution maintenance + propagation =

(NMSI*RCWR*CPKL)+(NMSI*ER*EC)+(TSI*CPKL*PC)

Step 3. As final step, we can use calculated factors in order to calculate the ROI:

R I [∑ ( Ai S Ai)ni 1 ]-[ S S S ∑ i

ni 1 ∑ S j

mj 1 ]

S S S ∑ ini 1 ∑ S j

mj 1

(4)

We also suggest using these cost-benefit factors to make a business case for calculat-

ing the ROI of building an RA vs. building the applications independently. Table 3

shows an example of business case and how to calculate the cost and benefits for

three years since the RA adoption. The parameters n1, n2, n3 indicate the number of

applications developed per year respectively, and m the number of evolved modules.

Table 3. Example of design of a business case with the cost-benefit factors of the model

Year 1 Year 2 Year 3

Total benefit n1*(DCA+SCA) n2*(DCA+SCA) n3*(DCA+SCA)

Total cost CSWD+

n1*UDC+CSWS*1/5

n2*UDC+

CSWS*2/5+m*CSWE

n3*UDC+

CSWS*2/5+m*CSWE

As Boehm points out [6], two additional factors may be important in business case

analysis: unquantifiable benefits, and uncertainties and risk.

First, the economic model that we propose promotes benefits in reusability and

maintainability. However, other quality attributes, such as security, could be as rele-

92

Page 99: A Framework for Software Reference Architecture Analysis and Reviesmartinez/files/thesis_proposal.pdf · 2013. 6. 17. · Universitat Politecnica de` Catalunya A Framework for Software

vant as those for this analysis, even when they may be difficult to quantify. This other

benefits should also been taken into account when adopting and RA. Unquantifiable

benefits are also considered as “flexibility” in T I4, the economic model of Forrester.

Second, to adjust cost and benefits to risk, they can be multiplied by percentages

that generally increase the costs and reduce the benefits (assuming the worst case).

For instance, TEI propose to multiple costs by values that range from 98% to 150%

and benefits by values between 50% and 110%.

5 Preliminary validation

To assess the feasibility of the economic model, we conducted a retrospective

analysis of a particular case. We calculated the costs and benefits (and hence the ROI)

of an RA adoption driven by everis in the IT department of a public organization.

By the time we performed the validation, the public organization had already: (1)

adopted an RA, (2) created an application using the RA –which we consider “exem-

plar” application–, and (3) fixed errors discovered in the RA software elements that

were reused by the application.

The validation consisted of 4 parts. First, a post-mortem analysis in which our

challenge was to extract the parameters of Table 1 from already collected data. The

values that we got are shown in Table 4.

Table 4. Values of the basic parameters in the study.

RCR RCWR ER EC NMSI PC CPKL USI RSI TSI

0,064 1,243 2,879

err./kLOC

7,02

hours/err.

1.526

LOC/module

9,7 % 75,22

hours/kLOC

2.885

LOC

8.364

LOC

41.189

LOC*

* In TSI, 9.231 LOC were refactored from previous project. So, 31.958 were new.

Recommended values for RCR range from 0,03 and 0,25, and for RCWR from 1 to

2,2 [34]. Therefore, with the values that we got in the study, we can see that both

RCR and RCWR are low for RAs. A low RCR could show the trend of moving the

complexity to the architecture in order to simplify the development of applications.

We can also see this trend comparing the code of the RA software elements with the

code of applications. RA code present higher values for complexity metrics such as

coupling and cohesion. A reason why RCWR is low could be that RA architectural

knowledge speeds up the development.

Second, with the data of Table 4, we had real data to calculate (see Table 5):

CSWD, the RA initial investment, which lasted 6 months.

DCA, the benefit of reusing RA code in the exemplar application development.

SCA, the cost from fixing the errors of the reused code in the exemplar application.

UDC, the cost of developing the application.

4 Total Economic Impact, http://www.forrester.com/marketing/product/consulting/tei.html

93

Page 100: A Framework for Software Reference Architecture Analysis and Reviesmartinez/files/thesis_proposal.pdf · 2013. 6. 17. · Universitat Politecnica de` Catalunya A Framework for Software

The above costs were accurately computed because everis keeps track of activities

with their invested time. Third, it was necessary to estimate the rest of factors:

CSWS, the cost of fixing all bugs in RA code. Since we knew the SCA for the

exemplar application and the percentage of reuse, we calculated the error rate and

error cost, which we used to estimate CSWS.

CSWE, the cost of: (1) changing or developing a module with new functionality,

(2) fixing its bugs, (3) making changes in the rest of the RA to integrate it.

Table 5. Values of the cost-benefit factors in the study*.

DCA CSWD UDC SCA CSWS CSWE

589 hours 2.988 hours 217 hours 169 hours 832 hours 474 hours

* Values in bold are real data. Values in italic are estimated.

Fourth, we made the business case analysis with two different scenarios:

Scenario 1. Is it worth to invest on the adoption of an RA? We constructed a business

case for 3 years starting when the organization decided to adopt the RA, in order to

calculate the ROI. For the first 8 months of those 3 years, we have real data about the

RA development and the exemplar RA-based application. To estimate the costs and

benefits for the rest of these 3 years, we conducted some additional interviews to the

involved stakeholders. Stakeholders were carefully selected according to their

knowledge and experience to increase the degree of confidence on the data gathered.

After these interviews, we made the following assumptions:

Future applications will have similar characteristics and complexity as the exem-

plar one.

The public organization will develop 8 applications per year. Since the RA creation

lasted 6 months, the first year they will develop just 4 applications.

The totality of CSWS is computed proportionally starting the seventh month.

A module is evolved (with new functionality) or added to the RA every year since

the second year.

Under these assumptions, the costs and benefits in hours for the future can be cal-

culated as shown in Table 3. They can be converted into a monetary value by multi-

plying them by an hourly rate. Assuming a rate of 30€ per hour for an application

developer (which affects to DCA, SCA, ) and a rate of 40€ per hour for a devel-

oper and maintainer of the architecture (which affects to CSWD, CSWM, CSWE),

Fig. 2 summarizes financial results for first three years of the RA. This organization

will realize a ROI within 2 years through gains in systematic reuse.

Scenario 2. How many instantiations (i.e., applications) are necessary before savings

pay off for the up-front investment in building an RA? In this scenario we calculated

how many applications need to be build based on the RA to have a positive ROI. Fig.

3 shows the ROI due to developing and maintaining applications based on an RA

rather than in a stand-alone fashion.

94

Page 101: A Framework for Software Reference Architecture Analysis and Reviesmartinez/files/thesis_proposal.pdf · 2013. 6. 17. · Universitat Politecnica de` Catalunya A Framework for Software

Fig. 2. Summary financial results.

Fig. 3. ROI of developing and maintaining RA-based applications vs. stand-alone fashion.

As Fig. 3 shows, after building 7 applications, savings pay off for the up-front in-

vestment in the RA. It must be noted that the exemplar application is small and only

20% of the RA is being reused (RSI/TSI). On the other hand, the application has a

high reuse percentage of 74% (RSI/USI+RSI). The higher these percentages are (like-

ly in medium to large applications), the greater the benefit from the RA is.

Moreover, applications are introduced into the market earlier from the seventh

month on. This is due to the effort avoidance of 589 hours (DCA) of reusing the RA.

To sum up, this study illustrates the potential way in which an organization can

evaluate the value of RA adoption. We calculated a three-year ROI of 42% with a

payback period of 16,5 months and 7 applications.

-200.000

-150.000

-100.000

-50.000

0

50.000

100.000

150.000

200.000

Year 1 Year 2 Year 3Euro

s

Time

Return on Investment

Total cost

Total benefit

Cumulative cash flow

-16

-11

-6

-1

4

9

14

19

24

-4000

-3000

-2000

-1000

0

1000

2000

3000

4000

5000

6000

7000

1,5 4,5 7,5 10,5 13,5 16,5 19,5 22,5 25,5 28,5 31,5 34,5

Nu

mb

er

of

app

licat

ion

s

Co

sts

Ho

urs

Be

ne

fits

Months

Return on Investment

Hours Number of Applications

95

Page 102: A Framework for Software Reference Architecture Analysis and Reviesmartinez/files/thesis_proposal.pdf · 2013. 6. 17. · Universitat Politecnica de` Catalunya A Framework for Software

6 Discussion

Once we applied the economic model and calculated the ROI, a last question remains:

How accurate are these calculations and the obtained quantitative data? If the eco-

nomic model is applied with existing data (as we have done in Section 5), the calcula-

tion of the ROI reaches a high degree of correctness, since the data that feeds the

model is trustworthy. The metrics coming from code analysis (e.g., size in LOC) do

not reflect any error. Also, we saw that time tracking is reliable. During data collec-

tion we found invested time in activities in two different sources: JIRA, which is op-

tionally used by the project team and keeps the invested time of the project’s activi-

ties; and a mandatory corporate financial tool, which is used by the financial depart-

ment. This data differ in 8,75%, being lower internally time tracking of the project.

The reason could be that JIRA does not include other activities out of the scope of the

project like traveling. To adjust the calculations to this risk, we have always consid-

ered the worst case (i.e., greater costs).

Contrary, when the economic model is used to predict the ROI of a completely

new RA adoption in an organization, there is not real data since it does not exist yet.

In this case, the accuracy totally depends on expert intuition and historical data. His-

torical data can be scarce in small and medium organizations; especially considering

that reuse of architectures is still a research area in progress. In addition, historical

data must be continuously updated, since some values of effort-related parameters

(such as RCR) are expected to decrease each time a developer instantiates the RA.

As a final remark, the construction of an economic model from the data available

in software companies is yet-another-instance of research question which needs to

balance soundness with applicability. The awareness of this problem by the software

engineering community is increasing and even dedicated events are being organized

(See CESI 2013 @ ICSE, http://www.essi.upc.edu/~franch/cesi2013/).

7 Conclusions & next steps

Architecture improvements are extremely difficult to evaluate in an analytic and

quantitative way, contrary to business efficacy (sales, marketing, and manufacturing)

[8]. Methods and models for changing this state of the practice are demanded.

This paper has opened the path on the area of using economic models for RA as-

sessment. We think that this area has a significant impact not just for researchers but

also for practitioners in software development and organization’s executives. e

presented REARM, an economic model to translate measured or estimated data (i.e.,

metrics) into monetary terms (i.e., cost-benefit analysis). Then, we use them as the

basis for analyzing the economic value of an RA (i.e., valuation) that is adapted by an

organization in the pursuit of its business strategies. Thus, our work aligns with Er-

dogmus et al. vision on economic activities in software industry, that fall into 4 levels:

metrics, cost-benefit analysis, valuation and business strategy [13].

We have conducted a preliminary validation to calculate the ROI of adopting an

RA in a real organization. This organization will realize a return on their investment

96

Page 103: A Framework for Software Reference Architecture Analysis and Reviesmartinez/files/thesis_proposal.pdf · 2013. 6. 17. · Universitat Politecnica de` Catalunya A Framework for Software

within two years through gains in systematic reuse and applications maintainability.

The method presented is generic enough to be used when other quality attributes are

prioritized by relevant stakeholders. The presented economic model allows quantify-

ing the value that an RA of Type 2 or 4 (those designed with an intended scope of a

single organization) [3] brings to an organization. Its strongest points are:

It translates RA costs and benefits into monetary values, which can be considered

an innovative approach in RA research and practice.

The integration of different metrics from existing models that complement each

other evaluating several RA-relevant aspects.

It provides guidelines for easily collecting and reporting data for practitioners,

and for using it to make a business case.

The model has been applied in a public organization and validated with real data.

On the other hand, potential weaknesses of this approach are:

It does not consider RA’s software elements degeneration over time [20].

The risk increases when neither real nor historical data are available.

As future work, we plan to enrich the economic model by: (1) adding more metrics

(such as technical debt [24], degeneration over time [20], risk metrics, homogeneity

metrics [10]), and (2) validating it for bigger applications and in more organizations.

Acknowledgements. This work has been supported by “Cátedra everis” and the

Spanish project TIN2010-19130-C02-00. We would also like to thank all participants

of the data collection process for their kindly cooperation.

References

1. Ali, M., Babar, M., Schmid, K.: A comparative survey of economic models for software

product lines. In: Software Engineering and Advanced Applications, 2009. pp. 275-278.

2. Angelov, S., Trienekens, J., Grefen, P.: Towards a method for the evaluation of reference

architectures: Experiences from a case. ECSA, 2008.

3. Angelov, S., Grefen, P., Greefhorst, D.: A framework for analysis and design of software

reference architectures. Information and Software Technology 54(4), 417-431, 2012.

4. Baldwin, C.Y., Clark, K.B.: Design Rules: The Power of Modularity. MIT Press, 1999.

5. Bass, L., Clements, P., Kazman, R.: Software Architecture in Practice. Addison-W, 2003.

6. Biffl, S., Aurum, A., Boehm, B., Erdogmus, H., Grünbacher, P.: Value-Based Software

Engineering. Springer-Verlag, 2005.

7. Boehm, B., Brown, A., Madachy, R., Yang, Y.: A software product line life cycle cost es-

timation model. In: Empirical Software Engineering, 2004. pp. 156-164.

8. Carriere, J., Kazman, R., Ozkaya, I.: A cost-benefit framework for making architectural

decisions in a business context. In: ICSE. vol. 2, pp. 149-157, 2010.

9. Clements, P., Northrop, L.: Software Product Lines. Addison-Wesley, 2002.

10. Clements, P., McGregor, J., Cohen, S.: The structured intuitive model for product line

economics (SIMPLE). Tech. rep., DTIC Document, 2005.

97

Page 104: A Framework for Software Reference Architecture Analysis and Reviesmartinez/files/thesis_proposal.pdf · 2013. 6. 17. · Universitat Politecnica de` Catalunya A Framework for Software

11. Cloutier, R., Muller, G., Verma, D., Nilchiani, R., Hole, E., Bone, M.: The concept of ref-

erence architectures. Systems Engineering 13(1), 14-27, 2010.

12. Eklund, U., Jonsson, N., Bosch, J., Eriksson, A.: A reference architecture template for

software-intensive embedded systems. In: WICSA/ECSA, 2012.

13. Erdogmus, H., Favaro, J., Strigel, W.: Return on investment. IEEE Software 21(3), 2004.

14. Erdogmus, H., Favaro, J.: The Value Proposition for Agility–A Dual Perspective, 2012.

http://www.infoq.com/presentations/Agility-Value

15. Falessi, D., Kruchten, P., Cantone, G.: Issues in applying empirical software engineering

to software architecture. In: LNCS, vol. 4758, pp. 257-262, 2007.

16. Frakes, W., Terry, C.: Software reuse: metrics and models. Comput. Surv. 28(2), 1996.

17. Gallagher, B.P.: Using the architecture tradeoff analysis method to evaluate a reference ar-

chitecture: A case study. Technical Report CMU/SEI, 2000.

18. Galster, M., Avgeriou, P.: Empirically-grounded reference architectures: a proposal. In:

Proceedings of the joint ACM SIGSOFT conference QoSA/ISARCS, 2011.

19. Galster, M., Avgeriou, P., Tofan, D.: Constraints for the design of variability intensive ser-

vice-oriented reference architectures an industrial case study. IST 55(2), 428-441, 2013.

20. Ganesan, D., Muthig, D., Yoshimura, K.: Predicting return-on-investment for product line

generations. In: SPLC, pp. 13-24, 2006.

21. Graaf, B., van Dijk, H., van Deursen, A.: Evaluating an embedded software reference

architecture. In: CSMR, pp. 354-363, 2005.

22. Kazman, R., Asundi, J., Klien, M.: Making architecture design decisions: An economic

approach. Tech. rep., DTIC Document, 2002.

23. Khurum, M., Gorschek, T., Petersson, K.: Systematic review of solutions proposed for

product line economics. Decision Support Software Intensive Product Management, 2008.

24. Letouzey, J.: The sqale method for evaluating technical debt. In: MTD@ICSE, 2012.

25. MacCormack, A., Rusnak, J., Baldwin, C.: Exploring the duality between product and or-

ganizational architectures. Harvard Business School Research Paper (08-039), 2011.

26. Martínez-Fernández, S., Ayala, C., Franch, X., Ameller, D.: A Framework for Software

Reference Architecture Analysis and Review. ESELAW@CIbSE, 2013, (in press).

27. Mili, A., Chmiel, S., Gottumukkala, R., Zhang, L.: An integrated cost model for software

reuse. In: ICSE, pp. 157-166, 2000.

28. Nakagawa, E., Oliveira Antonino, P., Becker, M.: Reference architecture and product line

architecture: A subtle but critical difference. ECSA, pp. 207-211, 2011.

29. Nakagawa, E.: Reference architectures and variability: current status and future perspec-

tives. In: Proceedings of the WICSA/ECSA, pp. 159-162, 2012.

30. Nóbrega, J., Almeida, E., Meira, S.: Income: Integrated cost model for product line engi-

neering. In: SEAA, pp. 27-34, 2008.

31. Nord, R., Ozkaya, I., Kruchten, P., Gonzalez-Rojas, M.: In search of a metric for managing

architectural technical debt. In: WICSA/ECSA, pp. 91-100, 2012.

32. Ozkaya, I., Kazman, R., Klein, M.: Quality-attribute based economic valuation of architec-

tural patterns. In: ESC, 2007.

33. Pohl, K., Bockle, G., Van Der Linden, F.: Software product line engineering, vol. 10, 2005

34. Poulin, J.: Measuring Software Reuse. Reading, MA: Addison-Wesley, 1997.

35. Poulin, J.: The economics of product line development. International Journal of Applied

Software Technology 3, 15-28, 1997.

36. Robson, C.: Real world research, vol. 2. Blackwell Oxford, 2002

37. Schmid, K.: An initial model of product line economics. SPFE pp. 198-201, 2002.

38. van Solingen, R.: Measuring the ROI of software process improvement. Software, IEEE

21(3), 32-38, 2004.

98

Page 105: A Framework for Software Reference Architecture Analysis and Reviesmartinez/files/thesis_proposal.pdf · 2013. 6. 17. · Universitat Politecnica de` Catalunya A Framework for Software

A Reuse-Based Economic Model for Software Reference Architectures

Silverio Martínez-Fernández1, Claudia Ayala1, Xavier Franch1

1 Software Engineering for Information Systems Group

Universitat Politècnica de Catalunya (GESSI-UPC)

Barcelona, Spain

{smartinez, cayala, franch}@essi.upc.edu

November 2012

Report ESSI-TR-12-6

Departament d’Enginyeria de Serveis i Sistemes d’Informació

99

Page 106: A Framework for Software Reference Architecture Analysis and Reviesmartinez/files/thesis_proposal.pdf · 2013. 6. 17. · Universitat Politecnica de` Catalunya A Framework for Software

ESSI-TR-12-6 2

A Reuse-Based Economic Model for

Software Reference Architectures

Silverio Martínez-Fernández, Claudia Ayala, Xavier Franch

Universitat Politècnica de Catalunya (UPC)

Barcelona, Spain

Abstract—The growing size and complexity of software systems, together with critical time-to-market

needs, demand new software engineering approaches for software development. To remain competitive,

organizations are challenged to make informed and feasible value-driven design decisions in order to

ensure the quality of the systems. However, there is a lack of support for evaluating the economic

impact of these decisions with regard to software reference architectures. This damages the

communication among architects and management, which can result in poor decisions. This paper aims

at opening a path in this direction by presenting a pragmatic preliminary economic model to perform

cost-benefit analysis on the adoption of software reference architectures as key asset for optimizing

architectural decision-making. The model is based on existing value-based metrics and economics-

driven models used in other areas. A preliminary 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 consulting

company. This validation involved a cost-benefit analysis related to reuse and maintenance; other

qualities will be incorporated as our research progresses.

Index Terms—Software architecture, reference architecture, architecture evaluation, cost-benefit

analysis, quality attributes.

I. INTRODUCTION AND MOTIVATION

Nowadays, the size and complexity of software systems, together with critical time-to-market

needs, demand new software engineering (SE) approaches to software development. One of these

approaches is the use of software reference architectures (RA), which are becoming widely studied

and adopted in SE research and practice [3]. An RA encompasses the knowledge about how to

design concrete software architectures (SA) of systems of a given application domain; therefore, it

must address the business rules, architectural styles, best practices of software development, and the

software elements that support development of systems [18].

The motivation behind RAs is to systematically reuse knowledge and software elements when

developing concrete SA for new systems, to help with the evolution of a set of systems that stem

from the same RA, or to ensure standardization and interoperability. However, although the adoption

of an RA might have plenty of benefits for an organization, it also implies several challenges, among them the need for an initial investment [11].

Thus, organizations need to ensure the feasibility of adopting an RA by assessing their goals, the

resources they can invest and the expected benefits. In spite of this need, there is a lack of research

methods for economics-driven RA evaluation [19]. In particular, there is a shortage of economic

models to “precisely evaluate the benefit of ‘architecture projects’ - those that aim to improve one or

more quality attributes of a system” [6]. Thus, the adoption of RAs is usually made without evaluating their economic impact.

The goal of this paper is to set a new research direction on RA evaluation attracting both:

researchers for the need to formulate accurate models, and practitioners for the opportunity of

making more informed decision-making about whether to make the strategic move to RA adoption.

100

Page 107: A Framework for Software Reference Architecture Analysis and Reviesmartinez/files/thesis_proposal.pdf · 2013. 6. 17. · Universitat Politecnica de` Catalunya A Framework for Software

ESSI-TR-12-6 3

Due to the aforementioned lack of research in this specific area, we have aimed at adopting and

adapting existing results in related areas, from classical software reuse to product line engineering.

It is worth mentioning that the paper has its origin in an ongoing action-research initiative among

our research group and the Center of Excellence on Software Architectures (ARCHEX) of Everis, a

multinational consulting company based in Spain. ARCHEX experienced the inability to calculate

the return on investment (ROI) derived from RAs that they create for organizations. The model

stemming from this collaboration is currently under formative evaluation, but the current results are

already triggering change in some development processes in the organization (e.g., bug reporting and

management). As part of the collaboration, we had the chance to provide an initial validation of the

economic model. It comprises a retrospective evaluation of an RA created by Everis for the IT department of a public administration center in Spain.

II. BACKGROUND

Current research on RA evaluation [2][10][12] has little support to analyze the cost and benefits

of RAs based on economics. However, there exist a few SA evaluation methods that drive the

decision-making process during SA review and design. In this direction, Moore et al. presented

CBAM [17], Ozkaya et al. proposed an economic valuation of architectural patterns [21], and

Ivanovic et al. quantified the customer value that stems from quality improvements [13]. Although

these SA methods are useful for prioritizing architectural strategies that bring higher value, they can

be applied only in a restricted way for RAs adoption. RAs involve fundamental assumptions that

these methods do not reflect, especially when it comes to defining potential economic benefits and the payback time.

Another inspiring area is Software Product Lines (SPL). A survey by Ali et al. [1] summarized

twelve economic models for SPL. Among them, we may remark SIMPLE [7]. SIMPLE comprises a

set of cost and benefit functions that can be used to construct equations that can answer a number of

questions such as whether the SPL approach is the best option for development and what is the ROI for this approach.

On the other hand, there exist several approaches that propose metrics for estimating cost savings

in software development and maintenance. For instance, Poulin considered the reuse of assets in

developing individual applications, and the potential costs savings that it implies to the development

and maintenance [22]. Metrics as dependency structure matrices (DSM) have been applied to assist

architecture-level analysis, such as value of modular designs, and they have proven to be particularly

insightful for validating the future value of architecting modular systems [6]. MacCormack et al.

extracted coupling metrics from an architecture DSM view for inferring the likelihood of change

propagation and, hence, future maintenance costs [15]. Baldwin et al. presented a gene-ric expression

for evaluating the option to redesign a module also based on DSMs [4] that is used in [24]. In

addition, the use of technical debt (either architecture-focused [20] or code-based [14]) is a way to measure unexpected rework costs due to expediting the delivery of stakeholder value in short.

Despite the existence of this inspiring body of work from the SPL, software reuse and modular

design areas, the proposed models are not directly applicable to RAs. Although SPL and RAs have

similarities (both have reuse as their core strategy) they have also important differences. RAs deal

with the range of knowledge of an application domain, providing standardized solutions for such a

broad domain, while SPL approaches are more specialized, focusing sometimes on a specific subset of the systems of a domain and providing standardized solutions for a smaller family of systems [18].

This state of the art drove us to the formulation of an economic model for RAs, which is currently on its formative stage.

101

Page 108: A Framework for Software Reference Architecture Analysis and Reviesmartinez/files/thesis_proposal.pdf · 2013. 6. 17. · Universitat Politecnica de` Catalunya A Framework for Software

ESSI-TR-12-6 4

III. AN ECONOMIC MODEL FOR REFERENCE ARCHITECTURES

A. Method for formulating the model

An RA cost-benefit analysis should be based on giving an economic value to its activities. This can be done in three steps:

1) Identify the costs and benefits stemming from the use of an RA: It is necessary to identify the RA

quality attributes that bring more benefit to the development and maintenance of systems, and the

costs of constructing these systems [17]. These attributes may vary depending on the characteristics

of RA [3]. It is crucial to involve relevant stakeholders to ensure the trustworthiness of the collected

information [23].

2) Adopt metrics that quantify the costs and benefits identified in the first step in order to convert

them into a monetary value: The metrics to quantify them may vary depending on the data available in the organization involved.

3) Add the costs and benefits calculated in the second step to the formula for calculating the ROI:

ROI=Benefits-Costs

Costs

(1)

where the benefits are the improvements of system quality attributes, and the costs are the

expenses in constructing the systems and the RA. Eq. 1 has been proposed by Boehm [5].

B. Example of application

The action-research collaboration with Everis provided us the opportunity of implementing this

general-purpose method in a particular case.

For the first step, we conducted a survey involving project managers, architects and developers of

9 organizations in Europe (7 from Spain) [16]. The survey pointed out that the main perceived

economic benefits on the use of RAs were: (1) an increased value from the improvement of quality

attributes, since their reused architectural knowledge is incrementally improved with previous

successful experiences from its application domain; (2) cost savings in the development and

maintenance of systems due to the reuse of software elements and the adoption of best practices of

software development that increase the productivity of developers. These cost savings could be seen

as the improvement of reusability and maintainability quality attributes. Thus, we decided to focus

our cost-benefit analysis over these particular dimensions.

For the second step, we found that some of the potential metrics to be used were not as pragmatic

as the organization needed. In other words, the organization should have been invested extra time

which was not an option. Furthermore, we faced the problem that some of the required data to apply

the proposed metrics was not previously registered by the organization. Thus, we stressed the

emphasis on formulating a practical model that incrementally deals with diverse cost-benefit aspects.

This helped us to prioritize the operationalization of these aspects into the model.

We started the formulation of metrics by adopting Poulin’s method for measuring code reuse

[22]. With the help of the propagation cost metric [15], we also consider necessary changes to

reusable elements (which are not considered by Poulin’s method) and, therefore, maintainability. For

this purpose, we use six cost-benefit factors, which we classify into development and maintenance:

a) Benefits and costs of development:

DCA (Development Cost Avoidance). It is the benefit from reusing RA’s software modules

in applications compared to building the applications independently.

UDC (Unique Development Costs). It is the cost to develop the unique parts of an application

that are not already implemented in the modules of the RA.

ADC (Additional Development Costs). It is the cost of developing an RA for a particular

organization.

102

Page 109: A Framework for Software Reference Architecture Analysis and Reviesmartinez/files/thesis_proposal.pdf · 2013. 6. 17. · Universitat Politecnica de` Catalunya A Framework for Software

ESSI-TR-12-6 5

b) Benefits and costs of maintenance:

SCA (Service Cost Avoidance). It is the benefit from modifying the reused code only once.

AMC (Additional Maintenance Costs). It is the cost of fixing bugs in the (reusable) RA

modules.

AEC (Additional Evolution Costs). It is the cost of changing or adding functionalities to the

RA modules.

Given a number n of applications built in top of the RA, and a number m of RA modules added or

changed as it evolves, the benefits and costs of adopting an RA are defined as:

Benefits= DCAi+SCAi

n

i=1

(2)

Costs=ADC+AMC+ UDCi

n

i=1

+ AECj

m

j=1

(3)

Table I shows the formulas to calculate the six factors as well as parameters that are needed for

these calculations.

As final step, we can use the benefits of Eq. 2 and costs of Eq. 3 into the Eq. 1 in order to calculate the ROI.

TABLE I. PARAMETERS OF THE ECONOMIC MODEL TO CALCULATE THE ROI OF ADOPTING A REFERENCE ARCHITECTURE IN

AN ORGANIZATION

Parameter Description (adapted for the RA context) Value in the

study

RCR [22] Relative Cost of Reuse: effort that it takes to reuse a component without modification

versus writing it new one-at-a-time

0.064

RCWR [22] Relative Cost of Writing for Reuse: effort that it takes to write a reusable component versus

writing it for one-time use only

2.468

ER [22] Error Rate: the historical error rate in new software developed by your organization, in

errors per thousand lines of code

2.015

errors/kLOC

EC [22] Error Cost: your organization’s historical cost to fix errors after releasing new software to

the customer, in euros per error

1,036.38

€/error

NMSI New Module Source Instruction: the LOC that the changed or new module has, which can

be the average of previous ones

1,526

LOC/module

PC [15] Propagation Cost: the percentage of code affected in the RA when performing evolutions

(i.e., changing modules)

9.7 %

CPL [22] Cost per LOC: the historical cost to develop a LOC of new software in your organization 2.5 €

USI Unique Source Instructions: the amount of unique software (i.e., not reused) that was

written or modified for an application

2,885

RSI [22] Reused Source Instructions: it is the total LOC of the RA’s modules that are reused in an

application

8,364

TSI [22] Total Source Instructions: it is the total LOC of the RA that can be reused 41,189 LOC

DCA [22] Development Cost Avoidance: the benefits from reusing RA’s modules DCA = RSI *

(1-RCR) * CPL

19,579 €

ADC [22] Additional Development Costs: the costs to develop the RA ADC = (RCWR-1) * TSI *

CPL

151,213 €

UDC Additional Unique Development Costs: the costs to develop the unique part of an

application UDC = USI*CPL

7,212 €

SCA [22] Service Cost Avoidance: the benefits from maintaining only once RA’s modules SCA =

RSI * ER * EC

17,467 €

AMC Additional Maintenance Costs: the cost of fixing bugs in the (reusable) RA modules

AMC = TSI * ER * EC

86,019 €

AEC Additional Evolution Costs: the costs of changing or adding a new functionality and

maintaining it to the RA AEC = evolution development + evolution maintenance +

propagation = (NMSI*CPL) +(NMSI*ER*EC) +(TSI*CPL*PC)

17,028 €

103

Page 110: A Framework for Software Reference Architecture Analysis and Reviesmartinez/files/thesis_proposal.pdf · 2013. 6. 17. · Universitat Politecnica de` Catalunya A Framework for Software

ESSI-TR-12-6 6

IV. PRELIMINARY VALIDATION

To assess the feasability of the economic model, we con-ducted a retrospective analysis of a

particular case, in which we calculated the costs and benefits (and hence the ROI) of adopting an RA

in the IT department of a public organization. This adoption was driven by Everis so that we applied the implementation of the model described in Section III.B.

By the time we performed the validation, the public organization had already: (1) adopted an RA,

(2) created an application using the RA –which we consider “exemplar” application–, and (3) fixed

errors discovered in the RA software elements that were reused by the application.

The validation consisted of 3 parts. First, a post-mortem analysis in which our challenge was to extract metrics (see Table I) from already collected data. We calculated:

ADC, RA initial investment, which lasted 6 months.

DCA, the benefit of reusing code from the RA in the development of the exemplar

application.

SCA, the cost from fixing the errors of the reused code in the exemplar application.

UDC, the cost of developing the application.

The above costs were accurately computed because this organization keeps track of project

activities with their invested time. To identify the benefits, we interviewed application developers to

estimate the costs of developing applications without using the RA. When there was no data, we

asked the involved stakeholders as a light-weight solution [23].

Second, it was necessary to estimate the rest of factors:

AMC, the cost of fixing all bugs in RA code. Since we knew the SCA for the exemplar

application and the percentage of reuse, we calculated the error rate and error cost, which we

used to estimate AMC.

AEC, the cost of: (1) changing or developing a module with new functionality, (2) fixing its

bugs, (3) making changes in the rest of the RA to integrate it.

Third, we constructed a business case for 3 years starting when the organization decided to adopt

the RA, in order to calculate the ROI. For the first 8 months of those 3 years, we have real data about

the RA development and the exemplar RA-based application. To estimate the costs and benefits for

the rest of these 3 years, after some additional interviews, we have made the following assumptions:

Future applications will have similar characteristics and complexity as the exemplar one.

The public organization will develop 8 applications per year. Since the RA creation lasted 6

months, the first year they will develop just 4 applications.

The totality of AMC is computed in the first year.

A module is evolved (with new functionality) or added to the RA every year starting the

second year.

Under these assumptions, the costs and benefits for the future can be calculated as shown in Table

II. Table III summarizes the total costs and benefits for these 3 years. As we can see in Table III, this

organization will realize a ROI within 2 years through gains in systematic reuse and application

maintainability. The ROI after 3 years is 78%.

TABLE II. DESIGN OF THE BUSINESS CASE

Year 1 Year 2 Year 3

Total benefit 4*(DCA+SCA) 8*(DCA+SCA) 8*(DCA+SCA)

Total cost ADC+AMC+4*UDC 8*UDC+AEC 8*UDC+AEC

104

Page 111: A Framework for Software Reference Architecture Analysis and Reviesmartinez/files/thesis_proposal.pdf · 2013. 6. 17. · Universitat Politecnica de` Catalunya A Framework for Software

ESSI-TR-12-6 7

TABLE III. RESULTS OF THE BUSINESS CASE

Year 1 Year 2 Year 3 Total

Total benefit 148,190 € 296,379 € 296,379 € 740,948 €

Total cost 266,083 € 74,729 € 74,729 € 415,540 €

Net cash flow -117,894 € 221,651 € 221,651 € 325,408 €

Cumulative cash flow .. -117,894 € 103,757 € 325,408 €

Data collection in this exemplar case was supported by the adoption of good practices with tool

support: activity tracking with JIRA1 (keeping track of activities and their invested time); test-driven

development with Sonar2 that informed about basic software metrics and percentages of tests

compliance; and continuous integration with Jenkins3. The adoption of these practices and tools to

collect data is the basis for moving software development from its usual low-validity environment, to

a high-validity environment. As stated by Erdogmus and Favaro [9], high-validity environments

allow acquiring reliable expert intuition and performing an accurate cost-benefit analysis, in this case

of RAs.

V. CONCLUSIONS & NEXT STEPS

Architecture improvements are extremely difficult to evaluate in an analytic and quantitative way,

contrary to the business efficacy (sales, marketing, and manufacturing) [6]. Methods and models for

changing this state of the practice are demanded.

This paper has opened the path on the area of using economic models for RA assessment. We

think that this area has a significant impact not just for researchers but also for practitioners in

software development and organization’s executives. We presented an economic model to translate

measured or estimated data (i.e., metrics) into monetary terms (i.e., cost-benefit analysis). Then, we

use them as the basis for analyzing the economic value of an RA (i.e., valuation) that is adapted by

an organization in the pursuit of its business strategies. Thus, our work aligns with Erdogmus et al.

vision on economic activities in software industry, that fall into 4 levels: metrics, cost-benefit analysis, valuation and business strategy [8].

We have conducted a preliminary validation to calculate the ROI of adopting an RA in a real

organization. This organization will realize a return on their investment within two years through

gains in systematic reuse and applications maintainability. The method presented is generic enough

to be used when other quality attributes are prioritized by relevant stakeholders. The presented

economic model allows quantifying the value that an RA of Type 2 or 4 (those designed with an

intended scope of a single organization) [3] brings to an organization. Its strongest point is the

integration of different metrics that complement each other evaluating several RA-relevant aspects. On the other hand, a potential weakness of this approach is that it does not look at risks.

As future work, we plan to enrich the economic model with more metrics (like technical debt) to

analyze more quality attributes, and coping with metrics risk. Also, we want to use homogeneity

metrics to discover the RA modules that bring more benefit to an organization [7].

1 http://www.atlassian.com/es/software/jira/overview 2 http://www.sonarsource.org/ 3 http://jenkins-ci.org/

105

Page 112: A Framework for Software Reference Architecture Analysis and Reviesmartinez/files/thesis_proposal.pdf · 2013. 6. 17. · Universitat Politecnica de` Catalunya A Framework for Software

ESSI-TR-12-6 8

REFERENCES

[1] M. Ali, M. Ali Babar, K. Schmid, “A Comparative Survey of Economic Models for Software Product

Lines,” SEAA 2009.

[2] S. Angelov, J.J.M. Trienekens, P. Grefen, “Towards a Method for the Evaluation of Reference

Architectures: Experiences from a Case,” ECSA, 2008.

[3] S. Angelov, P. Grefen, D. Greefhorst, “A framework for analysis and design of software reference

architectures,” Information and Software Technology, vol. 54, 2012.

[4] C.Y. Baldwin, K.B. Clark, “Design Rules: Volume 1, The Power of Modularity,” Cambridge, MA: MIT

Press, 2000.

[5] B. Boehm, “Value-based software engineering: Seven key elements and ethical considerations,” Value-

Based Software Engineering, 2006.

[6] J. Carriere, R. Kazman, I. Ozkaya, “A cost-benefit framework for making architectural decisions in a

business context,” ICSE 2010.

[7] P.C. Clements, J.D. McGregor, and S.G. Cohen, "The Structured Intuitive Model for Product Line

Economics (SIMPLE)," Technical Report CMU/SEI, 2005.

[8] H. Erdogmus, J. Favaro, W. Strigel, “Return on Investment,” IEEE Software, 2004.

[9] H. Erdogmus, J. Favaro, “The Value Proposition for Agility–A Dual Perspective,” 2012. Available at:

http://www.infoq.com/presentations/Agility-Value

[10] B.P. Gallagher, “Using the architecture tradeoff analysis method to evaluate a reference architecture: A

case study,” Technical Report CMU/SEI, 2000.

[11] M. Galster, P. Avgeriou, “Empirically-grounded reference architectures: a proposal,” QoSA/ISARCS,

2011.

[12] B. Graaf, H. van Dijk, A. van Deursen, “Evaluating an embedded software reference architecture,”

CSMR, 2005.

[13] A. Ivanovic, P. America, “Customer Value in Architecture Decision Making,” ECSA, 2010.

[14] J. Letouzey, “The SQALE Method for Evaluating Technical Debt,” MTD@ICSE, 2012.

[15] A. MacCormack, J. Rusnak, and C. Baldwin, “Exploring the Duality between Product and Organizational

Architectures: A Test of the Mirroring Hypothesis”, Harvard Business School Working Paper,

http://hbswk.hbs.edu/item/5894.html.

[16] S. Martínez-Fernández, D. Ameller, C. Ayala, X. Franch and X. Terradellas, “Conducting Empirical

Studies on Reference Architectures in IT Consulting Firms,” UPC, 2012.

[17] M. Moore, R. Kazman, M. Klein, J. Asundi, “Quantifying the Value of Architecture Design Decisions:

Lessons from the Field,” ICSE, 2003.

[18] E.Y. Nakagawa, P.O. Antonino, M. Becker, “Reference architecture and product line architecture,”

ECSA, 2011.

[19] E.Y. Nakagawa, “Reference Architectures and Variability: Current Status & Future Perspectives,”

VARSE/ECSA, 2012.

[20] R.L. Nord, I. Ozkaya P. Kruchten, M. Gonzalez-Rojas, “In Search of a Metric for Managing

Architectural Technical Debt”, ECSA, 2012.

[21] I. Ozkaya, R. Kazman, M. Klein, “Quality-Attribute Based Economic Valuation of Architectural

Patterns,” ESC, 2007.

[22] J.S. Poulin, “Measuring Software Reuse,” Reading, MA: Addison-Wesley, 1997.

[23] R. van Solingen, “Measuring the ROI of Software Process Improvement,” IEEE Software, 2004.

[24] K.J. Sullivan, W. Griswold, Y. Cai, B. Hallen, “The structure and value of modularity in software

design,” ESEC/FSE 2001.

106

Page 113: A Framework for Software Reference Architecture Analysis and Reviesmartinez/files/thesis_proposal.pdf · 2013. 6. 17. · Universitat Politecnica de` Catalunya A Framework for Software

Benefits and Drawbacks of Reference Architectures

Silverio Martínez-Fernández1, Claudia Ayala

1, Xavier Franch

1, Helena Martins

Marques2

1 GESSI Research Group, Universitat Politècnica de Catalunya, Barcelona, Spain

{smartinez,cayala,franch}@essi.upc.edu 2 everis, Barcelona, Spain

[email protected]

Abstract. Reference architectures (RA) have been studied to create a consistent

notion of what constitutes them as well as their benefits and drawbacks. How-

ever, few empirical studies have been conducted to provide evidence that sup-

port the claims made. To increase this evidence, this paper investigates the ac-

tual industrial practice of using RAs. The study consists of a survey with 28

stakeholders from everis, a multinational consulting company based in Spain.

We report the findings and contextualize them with previous research.

Keywords. Software reference architecture, empirical software engineering

1 Introduction

Software reference architectures (RA) have emerged as an approach to guide the de-

velopment, standardization and evolution of concrete software architectures for new

systems [5]. As in [1], we refer to the definition of RA as stated by Bass et al.: “a

reference model mapped onto software elements and the data flows between them”.

RAs have become widely studied and used in research and practice [1], as they are

claimed to increase speed, reduce operational expenses and improve quality in soft-

ware systems development mainly due to reuse [6]. Nonetheless, limited evidence

exists to support these claims [7]. Therefore, the goal of this study is to investigate:

How practitioners perceive the potential benefits and drawbacks of RAs?

Industrial context. This study is part of an ongoing action-research initiative among

everis and our research group, aimed to improve everis’ architectural practices. everis

is a software consulting company that offers solutions for big businesses that provide

a wide spectrum of services to their customers. The solution that everis provides them

is based on the deployment of an RA in their company, from which concrete software

architectures are derived and used in a wide spectrum of applications. In this context,

everis commissioned our research group to systematically gather empirical evidence

about the benefits and drawbacks of the adoption of RAs for their clients, in order to

avoid just relying on anecdotal evidences.

107

Page 114: A Framework for Software Reference Architecture Analysis and Reviesmartinez/files/thesis_proposal.pdf · 2013. 6. 17. · Universitat Politecnica de` Catalunya A Framework for Software

2 Benefits and drawbacks of RAs from the Literature

We identified the following benefits (B) and drawbacks (D) from the literature:

(B1) Standardization of concrete architectures of systems [1][4][5][7][8].

(B2) Facilitation of the design of concrete architectures for system development

and evolution [1][5], improving the productivity of system developers [3][4][8].

(B3) Systematic reuse of common functionalities and configurations in systems

generation [2][4][5], implying shorter time-to-market and reduced cost [3][4].

(B4) Risk reduction through the use of proven and partly prequalified architec-

tural elements [2][4].

(B5) Better quality by facilitating the achievement of quality attributes [3][8].

(B6) Interoperability of different systems [2][4][5].

(B7) Creation of a knowledge repository that allows knowledge transfer [2][7].

(B8) Flexibility and a lower risk in the choice of multiple suppliers [2].

(B9) Elaboration of the organization mission, vision and strategy [2].

(D1) The need for an initial investment [6].

(D2) Inefficient instantiation for the organization’s systems [5].

3 Benefits and Drawbacks of RAs from our Study

9 RA projects executed in 9 different organizations that were clients of everis were

analyzed. 28 stakeholders from these projects participated in the study. They covered

3 essential roles: 9 software architects and 9 architecture developers that designed and

implemented RAs for the 9 client organizations; and 10 application builders who

created RA-based applications. We report the benefits and drawbacks of RAs for the

development of systems as seen by these practitioners. Fig. 1 includes a bar chart that

shows the frequency in which stakeholders mentioned RA benefits and drawbacks.

The reader is encouraged to see how this study was conducted in

www.essi.upc.edu/~gessi/papers/ecsa13-annex.pdf .

Main benefits of RA adoption. We report benefits for RA acquisition organizations

with the code “Ben” whereas we use the code “Ven” for the benefits to RA vendors.

(Ben-A) Reduced development costs. Mainly due to software component reuse that

facilitate functionality and speed up the process, leading to shorter time-to-market.

(Ben-B) Reduced maintenance costs. Because of: better understandability of sys-

tems derived from the RA; the fact that RA common elements have fewer errors.

(Ben-C) Easier development and increased productivity of application builders by

architecturally-significant requirements already addressed and RA artifacts.

(Ben-D) Incorporation of latest technologies, which among other things facilitates

the recruitment of professionals with the required technological skills.

(Ben-E) Applications more aligned with business needs.

(Ben-F) Homogenization (or standardization) of the development and maintenance

of a family of applications by defining procedures and methodologies.

108

Page 115: A Framework for Software Reference Architecture Analysis and Reviesmartinez/files/thesis_proposal.pdf · 2013. 6. 17. · Universitat Politecnica de` Catalunya A Framework for Software

(Ben-G) Increased reliability of RAs software elements, which are common for

applications, that have been tested and matured, with the reliability that it implies.

(Ben-H) Others benefits.

(Ven-A) The consulting company harvests experience for prospective RA projects.

The main reason is that requirements are very similar between client organizations.

(Ven-B) Reusing architectural knowledge can speed up prospective RA projects

and reduce time-to-market (e.g., by reducing their planning and development time).

(Ven-C) They gain reputation for prospective client organizations and gain organi-

zational competence.

(Ven-D) Previous experience reduces the risks in future projects because a “to-be”

model exists. It can be used in projects without very specific requirements.

(Ven-E) It provides a shared architectural mindset.

(Ven-F) It turns tacit knowledge into explicit knowledge in the reference model.

Some tool support (e.g., wiki technologies) helps in managing such knowledge.

Main drawbacks of using RAs.

(Dra-A) Additional high or medium learning curve for using the RA features.

(Dra-B) Limited innovation by giving prescriptive guidelines for applications.

(Dra-C) Applications’ dependency over the RA. When applications have require-

ments that the RA does not offer yet, applications development is stopped.

(Dra-D) Complexity. Participants who indicated that the use of the RA is complex.

(Dra-E) None. Responders who indicated that RA adoption presents no drawbacks.

(Dra-F) Wrong decisions about the technologies to be used in all the applications.

(Dra-G) Other drawbacks.

4 Discussion of Main Findings and Conclusions

Table 1 summarizes the benefits and drawbacks of RAs respectively. Its columns

respectively indicate: 1) benefits or drawbacks from the literature and uncovered ones

by our survey that we could not match to the former ones; 2) the extent to which the

results from our survey confirm (√), partially support or help to understand (±), do not

explicitly mention (°), refuse theoretical evidences (×) or uncover new results (new);

and 3) survey findings related to such benefits or drawbacks.

In conclusion, a survey was conducted to analyze benefits and drawbacks of RAs

in the industrial practice. It provides evidence to corroborate or refuse existing re-

search. The main findings were: 1) the support of already known RAs benefits, main-

ly cost savings in the development and evolution of software systems, and the facilita-

tion of the design of concrete software architectures; 2) new risks of adopting RAs

emerged, such as additional learning curve, less room for innovation and complexity.

As future work, we plan to perform further analysis of this survey.

Acknowledgements. This work has been supported by “Cátedra everis” and the

Spanish project TIN2010-19130-C02-00. We thank all participants of the survey.

109

Page 116: A Framework for Software Reference Architecture Analysis and Reviesmartinez/files/thesis_proposal.pdf · 2013. 6. 17. · Universitat Politecnica de` Catalunya A Framework for Software

Fig. 1. Benefits and Drawbacks of RA adoption in organizations as seen by practitioners.

Table 1. Summary of benefits and drawbacks of RAs.

Benefits D1 Findings Drawbacks D1 Findings

Standardization (B1) √ Ben-F Investment (D1) ± Dra-G

Facilitation (B2) √ Ben-C Inefficient

instantiation (D2)

± Imp-C

Reuse (B3) √ Ben-A, Ben-B,

Ven-B

Learning curve new Dra-A

Risk reduction (B4) √ Ben-G, Ven-D Limited innovation new Dra-B

Enhanced quality (B5) ± Ben-E RA dependency new Dra-C

Interoperability (B6) ° 2 Complexity new Dra-D

Knowledge repository (B7) √ Ven-A, Ven-F Wrong decisions new Dra-F

Flexibility for suppliers (B8) ± Ven-E

Mission, vision, strategy (B9) × 3

Latest technologies used new Ben-D

Reputation new Ven-C

a. Notes: 1) diagnostic; 2) not mentioned as a benefit; 3) mentioned as enterprise architecture benefit.

References

1. Angelov, S., Grefen, P., Greefhorst, D.: A framework for analysis and design of software

reference architectures. Information and Software Technology 54(4), 417 - 431 (2012).

2. Cloutier, R., Muller, G., Verma, D., Nilchiani, R., Hole, E., Bone, M.: The concept of ref-

erence architectures. Systems Engineering 13(1), 14-27 (2010)

3. Dobrica, L., Ovaska, E.: Analysis of a Cross-Domain Reference Architecture using

Change Scenarios. SAVA@ECSA, (2011)

4. Gallagher, B.: Using the architecture tradeoff analysis method sm to evaluate a reference

architecture: A case study. SEI CMU Tech. rep., DTIC Document (2000)

5. Galster, M., Avgeriou, P.: Empirically-grounded reference architectures: a proposal.

QoSA-ISARCS, pp. 153-158 (2011)

6. Martínez-Fernández, S, Ayala, C., Franch, X., Martins, H.: REARM: A Reused-Based

Economic Model for Software Reference Architectures. ICSR (2013)

7. Muller, G., Laar, P.: Researching reference architectures. CSER (2009)

8. Nakagawa, E., Oliveira, P., Becker, M.: Reference architecture and product line architec-

ture: A subtle but critical difference. ECSA, pp. 207-211 (2011)

0

5

10

15

20

25

Ben

-A

Ben

-B

Ben

-C

Ben

-D

Ben

-E

Ben

-F

Ben

-G

Ben

-H

Ven

-A

Ven

-B

Ven

-C

Ven

-D

Ven

-E

Ven

-F

Dra

-A

Dra

-B

Dra

-C

Dra

-D

Dra

-E

Dra

-F

Dra

-G

Nu

mb

er

of

ind

ust

rial

pra

ctit

ion

ers

Applicationbuilder

Architecturedeveloper

Softwarearchitect

110