skip to main content
article

Design decision rationale: experiences and steps ahead towards systematic use

Published: 01 September 2006 Publication History

Abstract

Design decisions crucially influence the success of every software project. While the resulting design is typically documented quite well, the situation is usually different for the underlying rationale and decision-making process. Despite being recognized as a helpful approach in general, the explicit documentation of Design Decision Rationale (DDR) is not yet largely utilized due to some inhibitors (e.g., additional documentation effort). Experience with other qualities, e.g. software reusability, evidently shows that an improvement of these qualities only pays off on a large scale and therefore has to be pursued in a strategic, pre-planned, and carefully focused way. In this paper we argue that this also has to be considered for documenting DDR. To this end the paper presents: (i) the Decision, Goal, and Alternatives (DGA) DDR framework, (ii) experience in dealing with DGA, (iii) motivators and inhibitors of using DDR, and (iv) an approach for systematic DDR use that follows value-based software engineering principles.

References

[1]
P. Avgeriou and U. Zdun, "Architectural patterns revisited - a pattern language". In Proceedings of 10th European Conference on Pattern Languages of Programs 2005.
[2]
J. Bayer, O. Flege,P. Knauber, R. Laqua, D. Muthig, K. Schmid, T. Widen, J. DeBaud, "PULSE: A Methodology to Develop Software Product Lines", Proceedings of the 5th Symposium on Software Reusability, 1999.
[3]
S. Biffl, A. Aurum, B. Boehm, H. Erdogmus, P. Grünbacher, "Value-Based Software Engineering", Springer, 2005.
[4]
Bilateral German-Hungarian Collaboration Project on Ambient Intelligence Systems, Project Outline V2.2, 2005.
[5]
A. Boardman, D. Greenberg, A. Vining, D. Weimer, "Cost Benefit Analysis : Concepts and Practice", Prentice Hall; 3 ed. 2005.
[6]
L. Bratthall, E. Johansson, B. Regnell, "Is a Design Rationale Vital when Predicting Change Impact? A Controlled Experiment on Software Architecture Evolution", PROFES 2000.
[7]
J. Burge and D. Brown, "Design Rationale Types and Tools", http://web.cs.wpi.edu/Research/aidg/DR-Rpt98.html, 1998
[8]
J. Conklin and M. Begeman, "gIBIS: a hypertext tool for exploratory policy discussion", TOIS, v.6 n.4, 1988.
[9]
D. Falessi and M. Becker, "Documenting Design Decisions: A Framework and its Analysis in the Ambient Intelligence Domain", BelAmI-Report 005.06/E, Fraunhofer IESE, March, 2006.
[10]
D. Falessi, G. Cantone, M. Becker, "Documenting Design Decision Rationale to Improve Individual and Team Design Decision Making: An Experimental Evaluation", ISESE 2006.
[11]
P. Gruenbacher, A. Egyed, N. Medvidovic, "Reconciling Software Requirements and Architectures with Intermediate Models". Journal on Software and System Modeling, December 2003.
[12]
IBM (2003). Rational Unified Process, Version 2003. Cupertino, CA: IBM Rational Software.
[13]
I. Jacobson, M. Griss, P. Jonsson, "Software Reuse - Architecture, Process and Organisation for Business Success", ACM Press / Addison Wesley, 1997
[14]
L. Karsenty, "An Empirical Evaluation of Design Rationale Documents", Proc. of the Conf. on Human Factors in Computing Systems, ACM Press, NY, 1996, pp. 150-156.
[15]
R. Kazman, J. Asundi, and M. Klein, "Quantifying the Costs and Benefits of Architectural Decisions," Proc. 23rd Int'l Conf. Software Eng. (ICSE 01), IEEE CS Press, 2001.
[16]
P. Kruchten, "Mommy, Where Do Software Architectures Come from?" 1st International Workshop on Architectures for Software Systems, Seattle, WA, April 1995.
[17]
P. Kruchten, "The Rational Unified Process--An Introduction (1 ed.). Boston:, MA: Addison-Wesley, 1998.
[18]
P. Kruchten, "An ontology of architectural design decisions in software intensive systems". In 2nd Groningen Workshop on Software Variability, pages 54--61, December 2004.
[19]
J. Lee, "Design Rationale Systems: Understanding the Issues", IEEE Expert, 1997, Vol. 12, No. 3, pp. 78-85.
[20]
J. Lee and K. Lai, "What's in Design Rationale?", Human- Computer Interaction, 6(3&4), 251-280,1991.
[21]
A. MacLean, R. Young, V. Bellotti and T. Moran, "Questions, Options, and Criteria: Elements of Design Space Analysis," Human-Computer Interaction, 6 (3&4), 1991.
[22]
B. Nuseibeh, "Weaving Together Requirements and Architectures", IEEE Computer 34(3): 115--117, 2001.
[23]
Rational Software, Analysis and Design Overview, in OOAD Using the UML, v 4.2 © 1998-1999 Rational Software.
[24]
Rational Software, Architectural Design, in OOAD Using the UML, v 4.2, © 1998-1999 Rational Software.
[25]
The Standish Group, "CHAOS Report 1995" and "CHAOS Report 2001", www.standishgroup.com
[26]
Research Center Ambient Intelligence, http://www.eit.unikl. de/ami/
[27]
B. Shum and N. Hammond, "Argumentation-Based Design Rationale: What Use at What Cost?" IJHCS 40, 1994.
[28]
J. Tyree, A. Akerman, "Architecture Decisions: Demystifying Architecture" IEEE Software, vol. 22, no. 2, 2005.
[29]
D. Weiss, C. Lai, "Software Product-Line Engineering: A Family-based Software Development Process", Addison Wesley, 1999
[30]
C. Zannier, F. Maurer, "A Qualitative Empirical Evaluation of Design Decisions", Workshop on Human & Social Factors of Software Engineering; ACM Digital Library, 2005.

Cited By

View all
  • (2023)Evolvability of Machine Learning-based Systems: An Architectural Design Decision Framework2023 IEEE 20th International Conference on Software Architecture Companion (ICSA-C)10.1109/ICSA-C57050.2023.00033(106-110)Online publication date: Mar-2023
  • (2022)A Taxonomy for Design Decisions in Software Architecture DocumentationSoftware Architecture. ECSA 2022 Tracks and Workshops10.1007/978-3-031-36889-9_29(439-454)Online publication date: 19-Sep-2022
  • (2017)Risk Appetite in Architectural Decision-Making2017 IEEE International Conference on Software Architecture Workshops (ICSAW)10.1109/ICSAW.2017.38(149-152)Online publication date: Apr-2017
  • Show More Cited By

Index Terms

  1. Design decision rationale: experiences and steps ahead towards systematic use

    Recommendations

    Comments

    Information & Contributors

    Information

    Published In

    cover image ACM SIGSOFT Software Engineering Notes
    ACM SIGSOFT Software Engineering Notes  Volume 31, Issue 5
    September 2006
    110 pages
    ISSN:0163-5948
    DOI:10.1145/1163514
    Issue’s Table of Contents

    Publisher

    Association for Computing Machinery

    New York, NY, United States

    Publication History

    Published: 01 September 2006
    Published in SIGSOFT Volume 31, Issue 5

    Check for updates

    Author Tags

    1. ambient intelligence
    2. design decision rationale
    3. software analysis and design
    4. value-based software engineering

    Qualifiers

    • Article

    Contributors

    Other Metrics

    Bibliometrics & Citations

    Bibliometrics

    Article Metrics

    • Downloads (Last 12 months)10
    • Downloads (Last 6 weeks)1
    Reflects downloads up to 18 Feb 2025

    Other Metrics

    Citations

    Cited By

    View all
    • (2023)Evolvability of Machine Learning-based Systems: An Architectural Design Decision Framework2023 IEEE 20th International Conference on Software Architecture Companion (ICSA-C)10.1109/ICSA-C57050.2023.00033(106-110)Online publication date: Mar-2023
    • (2022)A Taxonomy for Design Decisions in Software Architecture DocumentationSoftware Architecture. ECSA 2022 Tracks and Workshops10.1007/978-3-031-36889-9_29(439-454)Online publication date: 19-Sep-2022
    • (2017)Risk Appetite in Architectural Decision-Making2017 IEEE International Conference on Software Architecture Workshops (ICSAW)10.1109/ICSAW.2017.38(149-152)Online publication date: Apr-2017
    • (2016)An approach for software knowledge sharing based on architectural decisions2016 XLII Latin American Computing Conference (CLEI)10.1109/CLEI.2016.7833409(1-10)Online publication date: Oct-2016
    • (2015)MONO+KM: Knowledge management in collaborative project development2015 10th Computing Colombian Conference (10CCC)10.1109/ColumbianCC.2015.7333408(141-149)Online publication date: Sep-2015
    • (2014)Traceability and SysML design slices to support safety inspectionsACM Transactions on Software Engineering and Methodology10.1145/255997823:1(1-43)Online publication date: 20-Feb-2014
    • (2014)Supporting Project Management Through Integrated Management of System and Project KnowledgeSoftware Project Management in a Changing World10.1007/978-3-642-55035-5_7(157-192)Online publication date: 24-May-2014
    • (2013)Derivation of domain-specific architectural knowledge views from governance and security compliance metadataProceedings of the 28th Annual ACM Symposium on Applied Computing10.1145/2480362.2480689(1728-1733)Online publication date: 18-Mar-2013
    • (2011)Using Model-Driven Views and Trace Links to Relate Requirements and Architecture: A Case StudyRelating Software Requirements and Architectures10.1007/978-3-642-21001-3_14(233-255)Online publication date: 14-Jul-2011
    • (2010)Capturing exploration to improve software architecture documentationProceedings of the Fourth European Conference on Software Architecture: Companion Volume10.1145/1842752.1842758(17-21)Online publication date: 23-Aug-2010
    • Show More Cited By

    View Options

    Login options

    View options

    PDF

    View or Download as a PDF file.

    PDF

    eReader

    View online with eReader.

    eReader

    Figures

    Tables

    Media

    Share

    Share

    Share this Publication link

    Share on social media