Two controlled experiments on model-based architectural decision making

We conduct controlled experiments concerning reusable architectural decision models.We measure the effect of decision models on decision making and documentation.Reusable architectural decision models increase the effectiveness of users.Reusable architectural decision models increase the efficiency of users.We discuss the inference of our results for decision making by practitioners. ContextIn recent years, architectural design decisions are becoming more and more common for documenting software architectures. Rather than describing the structure of software systems, architectural decisions capture the design rationale and - often reusable - architectural knowledge. Many approaches and tools have been proposed in the literature to support architectural decision making and documentation (for instance, based on models, ontologies, or templates). In this context, the capturing, organization, and effective reuse of architectural knowledge has gained a lot of attention. ObjectiveHowever, there is little empirical evidence about the supportive effect of reusable architectural knowledge on the effectiveness and efficiency of architectural decision making. MethodTo investigate these aspects, we conducted two separate controlled experiments with software architecture students in which we tested the supportive effect of reusable decision models in decision making and documentation. ResultsOur results show that the use of reusable decision models can significantly increase both the efficiency and the effectiveness of novice architects. ConclusionWe can report, that our findings are in line with similar studies and support the claims regarding reusable architectural design decisions in principle.

[1]  T. Gonen,et al.  Questions , 1927, Journal of Family Planning and Reproductive Health Care.

[2]  Philippe Kruchten,et al.  Sharing and Reusing Architectural Knowledge--Architecture, Rationale, and Design Intent , 2007, 29th International Conference on Software Engineering (ICSE'07 Companion).

[3]  Steven H. Tang,et al.  Architectural thinking and modeling with the Architects' Workbench , 2006, IBM Syst. J..

[4]  Cesare Pautasso,et al.  Team Situational Awareness and Architectural Decision Making with the Software Architecture Warehouse , 2013, ECSA.

[5]  Uwe Zdun,et al.  Using Patterns to Capture Architectural Decisions , 2007, IEEE Software.

[6]  Rafael Capilla,et al.  Modeling and Documenting the Evolution of Architectural Design Decisions , 2007, Second Workshop on Sharing and Reusing Architectural Knowledge - Architecture, Rationale, and Design Intent (SHARK/ADI'07: ICSE Workshops 2007).

[7]  Mark Strembeck,et al.  Reusable Architectural Decisions for DSL Design Foundational Decisions in DSL Development , 2009 .

[8]  Gideon Vigderhous,et al.  The Level of Measurement and “Permissible” Statistical Analysis in Social Research , 1977 .

[9]  Mark Strembeck,et al.  Reusable Architectural Decisions for DSL Design: Foundational Decisions in DSL Projects , 2009, EuroPLoP.

[10]  Claes Wohlin,et al.  Experimentation in software engineering: an introduction , 2000 .

[11]  R Core Team,et al.  R: A language and environment for statistical computing. , 2014 .

[12]  T. Maurer,et al.  A comparison of Likert scale and traditional measures of self-efficacy. , 1998 .

[13]  Cesare Pautasso,et al.  ADkwik: Web 2.0 Collaboration System for Architectural Decision Engineering , 2007, SEKE.

[14]  Muhammad Ali Babar,et al.  A comparative study of architecture knowledge management tools , 2010, J. Syst. Softw..

[15]  David Garlan,et al.  Documenting software architectures: views and beyond , 2002, 25th International Conference on Software Engineering, 2003. Proceedings..

[16]  Patricia Lago,et al.  A Just-In-Time Architectural Knowledge Sharing Portal , 2008, Seventh Working IEEE/IFIP Conference on Software Architecture (WICSA 2008).

[17]  Peng Liang,et al.  Architectural design decision visualization for architecture design: preliminary results of a controlled experiment , 2011, ECSA '11.

[18]  Ioanna Lytra,et al.  Supporting Consistency between Architectural Design Decisions and Component Models through Reusable Architectural Knowledge Transformations , 2013, ECSA.

[19]  Richard M. Young,et al.  Options and Criteria: Elements of design space analysis , 1991 .

[20]  H. B. Mann,et al.  On a Test of Whether one of Two Random Variables is Stochastically Larger than the Other , 1947 .

[21]  Antony Tang,et al.  Does decision documentation help junior designers rationalize their decisions? A comparative multiple-case study , 2013, J. Syst. Softw..

[22]  Shari Lawrence Pfleeger,et al.  Preliminary Guidelines for Empirical Research in Software Engineering , 2002, IEEE Trans. Software Eng..

[23]  Olaf Zimmermann,et al.  Architectural Decisions as Reusable Design Assets , 2011, IEEE Software.

[24]  Frank Leymann,et al.  Architectural Decision Models as Micro-Methodology for Service-Oriented Analysis and Design , 2007 .

[25]  Jan Bosch,et al.  Software Architecture as a Set of Architectural Design Decisions , 2005, 5th Working IEEE/IFIP Conference on Software Architecture (WICSA'05).

[26]  Rainer Weinreich,et al.  Classification of Design Decisions - An Expert Survey in Practice , 2013, ECSA.

[27]  Dieter K. Hammer,et al.  Tool Support for Architectural Decisions , 2007, 2007 Working IEEE/IFIP Conference on Software Architecture (WICSA'07).

[28]  Johan F. Hoorn,et al.  The lonesome architect , 2009, 2009 Joint Working IEEE/IFIP Conference on Software Architecture & European Conference on Software Architecture.

[29]  Andrzej Zalewski,et al.  Capturing Architecture Evolution with Maps of Architectural Decisions 2.0 , 2011, ECSA.

[30]  Ralf H. Reussner,et al.  Towards architecture-centric evolution of long-living systems (the ADVERT approach) , 2013, QoSA '13.

[31]  Heiko Koziolek,et al.  CoCoME - The Common Component Modeling Example , 2007, CoCoME.

[32]  Carmen Zannier,et al.  2 . 1 . 2 Problem Structuring & Wicked Problems , 2005 .

[33]  S. Shapiro,et al.  An Analysis of Variance Test for Normality (Complete Samples) , 1965 .

[34]  Seventh Working IEEE / IFIP Conference on Software Architecture (WICSA 2008), 18-22 February 2008, Vancouver, BC, Canada , 2008, WICSA.

[35]  Iris Groher,et al.  A Fresh Look at Codification Approaches for SAKM: A Systematic Literature Review , 2014, ECSA.

[36]  Rick Kazman,et al.  Decision-making techniques for software architecture design: A comparative survey , 2011, CSUR.

[37]  Muhammad Ali Babar,et al.  A Tool for Managing Software Architecture Knowledge , 2007, Second Workshop on Sharing and Reusing Architectural Knowledge - Architecture, Rationale, and Design Intent (SHARK/ADI'07: ICSE Workshops 2007).

[38]  Frank Leymann,et al.  Combining Pattern Languages and Reusable Architectural Decision Models into a Comprehensive and Comprehensible Design Method , 2008, Seventh Working IEEE/IFIP Conference on Software Architecture (WICSA 2008).

[39]  Muhammad Ali Babar,et al.  Empirical Study of Architectural Knowledge Management Practices , 2014, 2014 IEEE/IFIP Conference on Software Architecture.

[40]  I. Gorton,et al.  A quality-driven systematic approach for architecting distributed software applications , 2005, Proceedings. 27th International Conference on Software Engineering, 2005. ICSE 2005..

[41]  Raffaela Mirandola,et al.  The Common Component Modeling Example: Comparing Software Component Models [result from the Dagstuhl research seminar for CoCoME, August 1-3, 2007] , 2007, CoCoME.

[42]  Uwe Zdun,et al.  The supportive effect of patterns in architecture decision recovery - A controlled experiment , 2012, Sci. Comput. Program..

[43]  Frank Leymann,et al.  Reusable Architectural Decision Models for Enterprise Application Development , 2007, QoSA.

[44]  Larix Lee,et al.  Capturing Software Architectural Design Decisions , 2007, 2007 Canadian Conference on Electrical and Computer Engineering.

[45]  Jeff Tyree,et al.  Architecture decisions: demystifying architecture , 2005, IEEE Software.

[46]  Schahram Dustdar,et al.  Reusable Architectural Decision Model for Model and Metadata Repositories , 2008, FMCO.

[47]  Xavier Franch,et al.  ArchiTech: Tool support for NFR-guided architectural decision-making , 2012, 2012 20th IEEE International Requirements Engineering Conference (RE).

[48]  Antony Tang,et al.  An analysis of decision-centric architectural design approaches , 2009, 2009 ICSE Workshop on Sharing and Reusing Architectural Knowledge.

[49]  Stefan Sobernig,et al.  Architectural Decision Making for Service-Based Platform Integration: A Qualitative Multi-Method Study , 2012, 2012 Joint Working IEEE/IFIP Conference on Software Architecture and European Conference on Software Architecture.

[50]  Cesare Pautasso,et al.  Architectural decision modeling with reuse: challenges and opportunities , 2010, SHARK '10.

[51]  Peng Liang,et al.  Architectural design decision: Existing models and tools , 2009, 2009 Joint Working IEEE/IFIP Conference on Software Architecture & European Conference on Software Architecture.

[52]  Paris Avgeriou,et al.  Past and future of software architectural decisions - A systematic mapping study , 2014, Inf. Softw. Technol..

[53]  Peng Liang,et al.  Improving understandability of architecture design through visualization of architectural design decision , 2010, SHARK '10.