A Survey of the Use and Documentation of Architecture Design Rationale

Many claims have been made about the problems caused by not documenting design rationale. The general perception is that designers and architects usually do not fully understand the critical role of systematic use and capture of design rationale. However, there is to date little empirical evidence available on what design rationale mean to practitioners, how valuable they consider them, and how they use and document design rationale during the design process. This paper reports an empirical study that surveyed practitioners to probe their perception of the value of design rationale and how they use and document background knowledge related to their design decisions. Based on eighty-one valid responses, this study has discovered that practitioners recognize the importance of documenting design rationale and frequently use them to reason about their design choices. However, they have indicated barriers to the use and documentation of design rationale. Based on the findings, we conclude that much research is needed to develop methodology and tool support for design rationale capture and usage. Furthermore, we put forward some research questions that would benefit from further investigation into design rationale in order to support practice in industry.

[1]  Matthias Jarke,et al.  Toward Reference Models of Requirements Traceability , 2001, IEEE Trans. Software Eng..

[2]  Colin Potts,et al.  ScenIC: a strategy for inquiry-driven requirements determination , 1999, Proceedings IEEE International Symposium on Requirements Engineering (Cat. No.PR00188).

[3]  Thomas P. Moran,et al.  Questions, Options, and Criteria: Elements of Design Space Analysis , 1991, Hum. Comput. Interact..

[4]  R. Henry,et al.  Principles of survey research. , 2018, Family practice research journal.

[5]  David Lorge Parnas,et al.  A rational design process: How and why to fake it , 1986, IEEE Transactions on Software Engineering.

[6]  Robert L. Nord,et al.  Proceedings of the Working IEEE/IFIP Conference on Software Architecture , 2006 .

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

[8]  Jintae Lee,et al.  What's in Design Rationale? , 1991, Hum. Comput. Interact..

[9]  Kenji Takahashi,et al.  Inquiry-based requirements analysis , 1994, IEEE Software.

[10]  Barbara Paech,et al.  Rationale-Based Use Case Specification , 2002, Requirements Engineering.

[11]  Bill Curtis,et al.  A field study of the software design process for large systems , 1988, CACM.

[12]  Jintae Lee,et al.  Extending the Potts and Bruns model for recording design rationale , 1991, [1991 Proceedings] 13th International Conference on Software Engineering.

[13]  Mark Keil,et al.  'Why didn't somebody tell me?': climate, information asymmetry, and bad news about troubled projects , 2004, DATB.

[14]  Jan Bosch,et al.  Experiences with ALMA: Architecture-Level Modifiability Analysis , 2002, J. Syst. Softw..

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

[16]  Michael L. Begeman,et al.  gIBIS: a hypertext tool for exploratory policy discussion , 1988, CSCW '88.

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

[18]  Thomas R. Gruber,et al.  Design Knowledge and Design Rationale: A Framework for Representation, Capture, and Use , 1991 .

[19]  Jan Bosch,et al.  Software Architecture: The Next Step , 2004, EWSA.

[20]  Raymond McCall,et al.  Rationale Management in Software Engineering , 2006 .

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

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

[23]  Kuntz Werner,et al.  Issues as Elements of Information Systems , 1970 .

[24]  Colin Potts,et al.  Recording the reasons for design decisions , 1988, Proceedings. [1989] 11th International Conference on Software Engineering.

[25]  Antony Tang,et al.  Architecture rationalization: a methodology for architecture verifiability, traceability and completeness , 2005, 12th IEEE International Conference and Workshops on the Engineering of Computer-Based Systems (ECBS'05).

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

[27]  Vasant Dhar,et al.  Supporting Systems Development by Capturing Deliberations During Requirements Engineering , 1992, IEEE Trans. Software Eng..

[28]  IEEE-SA Standards Board , 2000 .