Benefits and drawbacks of software reference architectures: A case study

Context: Software Reference Architectures (SRAs) play a fundamental role for organizations whose business greatly depends on the efficient development and maintenance of complex software applications. However, little is known about the real value and risks associated with SRAs in industrial practice...

Descripción completa

Detalles Bibliográficos
Autores: Martínez Fernández, Silverio Juan|||0000-0001-9928-133X, Ayala Martínez, Claudia Patricia|||0000-0002-6262-3698, Franch Gutiérrez, Javier|||0000-0001-9733-8830, Martins Marques, Helena
Tipo de recurso: artículo
Fecha de publicación:2017
País:España
Institución:Universitat Politècnica de Catalunya (UPC)
Repositorio:UPCommons. Portal del coneixement obert de la UPC
Idioma:inglés
OAI Identifier:oai:upcommons.upc.edu:2117/106022
Acceso en línea:https://hdl.handle.net/2117/106022
https://dx.doi.org/10.1016/j.infsof.2017.03.011
Access Level:acceso abierto
Palabra clave:Software architecture
Software engineering
Reference architecture
Empirical software engineering
Case study
Benefits
Drawbacks
Programari -- Disseny
Enginyeria del programari
Àrees temàtiques de la UPC::Informàtica::Enginyeria del software
Descripción
Sumario:Context: Software Reference Architectures (SRAs) play a fundamental role for organizations whose business greatly depends on the efficient development and maintenance of complex software applications. However, little is known about the real value and risks associated with SRAs in industrial practice. Objective: To investigate the current industrial practice of SRAs in a single company from the perspective of different stakeholders. Method An exploratory case study that investigates the benefits and drawbacks perceived by relevant stakeholders in nine SRAs designed by a multinational software consulting company. Results: The study shows the perceptions of different stakeholders regarding the benefits and drawbacks of SRAs (e.g., both SRA designers and users agree that they benefit from reduced development costs; on the contrary, only application builders strongly highlighted the extra learning curve as a drawback associated with mastering SRAs). Furthermore, some of the SRA benefits and drawbacks commonly highlighted in the literature were remarkably not mentioned as a benefit of SRAs (e.g., the use of best practices). Likewise, other aspects arose that are not usually discussed in the literature, such as higher time-to-market for applications when their dependencies on the SRA are managed inappropriately. Conclusions: This study aims to help practitioners and researchers to better understand real SRAs projects and the contexts where these benefits and drawbacks appeared, as well as some SRA improvement strategies. This would contribute to strengthening the evidence regarding SRAs and support practitioners in making better informed decisions about the expected SRA benefits and drawbacks. Furthermore, we make available the instruments used in this study and the anonymized data gathered to motivate others to provide similar evidence to help mature SRA research and practice.