Towards guidelines for building a business case and gathering evidence of software reference architectures in industry

BackgroundSoftware reference architectures are becoming widely adopted by organizations that need to support the design and maintenance of software applications of a shared domain. For organizations that plan to adopt this architecture-centric approach, it becomes fundamental to know the return on investment and to understand how software reference architectures are designed, maintained, and used. Unfortunately, there is little evidence-based support to help organizations with these challenges.MethodsWe have conducted action research in an industry-academia collaboration between the GESSI research group and everis, a multinational IT consulting firm based in Spain.ResultsThe results from such collaboration are being packaged in order to create guidelines that could be used in similar contexts as the one of everis. The main result of this paper is the construction of empirically-grounded guidelines that support organizations to decide on the adoption of software reference architectures and to gather evidence to improve RA-related practices.ConclusionsThe created guidelines could be used by other organizations outside of our industry-academia collaboration. With this goal in mind, we describe the guidelines in detail for their use.

[1]  A. vanDeursen,et al.  Evaluating an embedded software reference architecture: Experience report , 2005 .

[2]  Kari Känsälä,et al.  Software Product Family Evaluation , 2004, SPLC.

[3]  William B. Frakes,et al.  Software reuse: metrics and models , 1996, CSUR.

[4]  Muhammad Ali Babar,et al.  Applying empirical software engineering to software architecture: challenges and lessons learned , 2010, Empirical Software Engineering.

[5]  Xavier Franch,et al.  Artifacts of software reference architectures: a case study , 2014, EASE '14.

[6]  Muhammad Ali Babar,et al.  A Comparative Survey of Economic Models for Software Product Lines , 2009, 2009 35th Euromicro Conference on Software Engineering and Advanced Applications.

[7]  José García-Alonso,et al.  Java para Aplicaciones Corporativas de la Administración , 2010, JISBD.

[8]  Elisa Yumi Nakagawa,et al.  Reference Architecture and Product Line Architecture: A Subtle But Critical Difference , 2011, ECSA.

[9]  Paul Clements,et al.  A framework for software product line practice - version 2 , 1999 .

[10]  Claus Hagen,et al.  Fifteen Years of Service-Oriented Architecture at Credit Suisse , 2014, IEEE Software.

[11]  Paul Clements,et al.  Software product lines - practices and patterns , 2001, SEI series in software engineering.

[12]  Arie van Deursen,et al.  Evaluating an embedded software reference architecture - industrial experience report , 2005, Ninth European Conference on Software Maintenance and Reengineering.

[13]  Motoshi Saeki,et al.  Evaluating software architectures by coloured petri nets , 2002, SEKE '02.

[14]  Günter Reichart,et al.  Key Drivers for a Future System Architecture in Vehicles , 2004 .

[15]  Mary Shaw,et al.  Software architecture: the next step for object technology (panel) , 1993, OOPSLA '93.

[16]  Gerrit Muller,et al.  The Concept of Reference Architectures , 2010 .

[17]  Guilherme Horta Travassos,et al.  Proceedings of the 17th International Conference on Evaluation and Assessment in Software Engineering , 2013 .

[18]  Silverio Juan,et al.  Towards supporting the adoption of software reference architectures: an empirically-grounded framework , 2013 .

[19]  Jeffrey S. Poulin,et al.  Measuring software reuse - principles, practices, and economic models , 1996 .

[20]  Xavier Franch,et al.  REARM: A Reuse-Based Economic Model for Software Reference Architectures , 2013, ICSR.

[21]  Paul W. P. J. Grefen,et al.  Towards a Method for the Evaluation of Reference Architectures: Experiences from a Case , 2008, ECSA.

[22]  Naveed Ikram,et al.  Evidence in software architecture, a systematic literature review , 2013, EASE '13.

[23]  Leonard J. Bass,et al.  Evaluating the Software Architecture Competence of Organizations , 2008, Seventh Working IEEE/IFIP Conference on Software Architecture (WICSA 2008).

[24]  Xavier Franch,et al.  A Framework for Software Reference Architecture Analysis and Review , 2013, CIbSE.

[25]  Helena Martins Marques,et al.  Practical experiences in designing and conducting empirical studies in industry-academia collaboration , 2014, CESI 2014.

[26]  Sebastian Herold,et al.  Checking Conformance with Reference Architectures: A Case Study , 2013, 2013 17th IEEE International Enterprise Distributed Object Computing Conference.

[27]  Donald J. Reifer Making the software business case : improvement by the numbers , 2002 .

[28]  Paola Inverardi,et al.  Proceedings of the joint ACM SIGSOFT conference -- QoSA and ACM SIGSOFT symposium -- ISARCS on Quality of software architectures -- QoSA and architecting critical systems -- ISARCS , 2011, CBSE 2011.

[29]  Janice Singer,et al.  Studying Software Engineers: Data Collection Techniques for Software Field Studies , 2005, Empirical Software Engineering.

[30]  Alan MacCormack,et al.  Exploring the Duality between Product and Organizational Architectures: A Test of the Mirroring Hypothesis , 2011 .

[31]  Brian P. Gallagher,et al.  Using the Architecture Tradeoff Analysis Method SM to Evaluate a Reference Architecture: A Case Study , 2000 .

[32]  Chris Mattmann,et al.  Reuse of software assets for the NASA Earth science decadal survey missions , 2010, 2010 IEEE International Geoscience and Remote Sensing Symposium.

[33]  Xavier Franch,et al.  Benefits and Drawbacks of Reference Architectures , 2013, ECSA.

[34]  Linda M. Northrop,et al.  A Framework for Software Product Line Practice , 1999, ECOOP Workshops.

[35]  Rick Kazman,et al.  Evaluating Software Architectures: Methods and Case Studies , 2001 .

[36]  Silvia Mara Abrahão,et al.  A systematic review of quality attributes and measures for software product lines , 2011, Software Quality Journal.

[37]  Paris Avgeriou,et al.  Constraints for the design of variability-intensive service-oriented reference architectures - An industrial case study , 2013, Inf. Softw. Technol..

[38]  Paris Avgeriou,et al.  Empirically-grounded reference architectures: a proposal , 2011, QoSA-ISARCS '11.

[39]  Jakob Axelsson,et al.  Experience of introducing reference architectures in the development of automotive electronic systems , 2005, ACM SIGSOFT Softw. Eng. Notes.

[40]  Jan Bosch,et al.  Architecture for embedded open software ecosystems , 2014, J. Syst. Softw..

[41]  Rob J. Kusters,et al.  Software Reference Architectures - Exploring Their Usage and Design in Practice , 2013, ECSA.

[42]  Paul W. P. J. Grefen,et al.  A framework for analysis and design of software reference architectures , 2012, Inf. Softw. Technol..

[43]  Paul Clements,et al.  Software architecture in practice , 1999, SEI series in software engineering.

[44]  Rick Kazman,et al.  A cost-benefit framework for making architectural decisions in a business context , 2010, 2010 ACM/IEEE 32nd International Conference on Software Engineering.

[45]  Paul Clements,et al.  Software Architecture in Practice: Addison-Wesley , 1998 .

[46]  Marco Sinnema,et al.  Product derivation in software product families: a case study , 2005, J. Syst. Softw..

[47]  D. Greenwood,et al.  Why Action Research? , 2003 .