A value-based approach for documenting design decisions rationale: a replicated experiment

The explicit documentation of the rationale of design decisions is a practice generally encouraged but rarely implemented in industry because of a variety of inhibitors. Known methods for Design Decisions Rationale Documentation (DDRD) are aimed to maximize the benefits for practitioners who should utilize the DDRD by imposing the burden on the developers of documenting all the potentially useful information. In our view, the adoption of a tailored DDRD, consisting only of the required set of information, would mitigate the effects of DDRD inhibitors. This paper focuses on confirming empirically the feasibility of a value-based approach for documenting the rationale behind design decisions, and the importance of different DDRD information categories. In this context, this work describes a replicated experiment carried out at the University Rey Juan Carlos of Madrid (Spain) aimed to validate previous results from an analogous study conducted at the University of Roma Tor Vergata (Italy). Results confirm that the level of utility related to the same category of DDRD information significantly changes depending on its purpose.

[1]  Björn Regnell,et al.  Is a Design Rationale Vital when Predicting Change Impact? A Controlled Experiment on Software Architecture Evolution , 2000, PROFES.

[2]  Philippe Kruchten,et al.  The Rational Unified Process: An Introduction , 1998 .

[3]  Rafael Capilla,et al.  The Decision View of Software Architecture , 2005, EWSA.

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

[5]  Jintae Lee,et al.  Design Rationale Systems: Understanding the Issues , 1997, IEEE Expert.

[6]  Philippe Kruchten The Rational Unified Process - An Introduction, 3rd Edition , 2004, Addison Wesley object technology series.

[7]  Philippe Kruchten,et al.  Value-Based Design Decision Rationale Documentation: Principles and Empirical Feasibility Study , 2008, Seventh Working IEEE/IFIP Conference on Software Architecture (WICSA 2008).

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

[9]  John J. Marciniak,et al.  Encyclopedia of Software Engineering , 1994, Encyclopedia of Software Engineering.

[10]  Philippe Kruchten,et al.  Building up and Exploiting Architectural Knowledge , 2005, 5th Working IEEE/IFIP Conference on Software Architecture (WICSA'05).

[11]  Barry W. Boehm,et al.  Value-based software engineering: reinventing , 2003, SOEN.

[12]  Stefan Biffl,et al.  A case study on value-based requirements tracing , 2005, ESEC/FSE-13.

[13]  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).

[14]  Philippe Kruchten,et al.  Building Up and Reasoning About Architectural Knowledge , 2006, QoSA.

[15]  Muhammad Ali Babar,et al.  A survey of architecture design rationale , 2006, J. Syst. Softw..

[16]  Philippe Kruchten,et al.  An Ontology of Architectural Design Decisions in Software-Intensive Systems , 2004 .

[17]  Philippe Kruchten,et al.  The 4+1 View Model of Architecture , 1995, IEEE Softw..

[18]  Alexander L. Wolf,et al.  Acm Sigsoft Software Engineering Notes Vol 17 No 4 Foundations for the Study of Software Architecture , 2022 .

[19]  Laurent Karsenty,et al.  An empirical evaluation of design rationale documents , 1996, CHI.

[20]  Giovanni Cantone,et al.  Documenting design decision rationale to improve individual and team design decision making: an experimental evaluation , 2006, ISESE '06.