The value of design rationale information

Davide Falessi, Lionel C. Briand, Giovanni Cantone, Rafael Capilla, Philippe Kruchten

Research output: Contribution to journalArticlepeer-review

Abstract

A complete and detailed (full) Design Rationale Documentation (DRD) could support many software development activities, such as an impact analysis or a major redesign. However, this is typically too onerous for systematic industrial use as it is not cost effective to write, maintain, or read. The key idea investigated in this article is that DRD should be developed only to the extent required to support activities particularly difficult to execute or in need of significant improvement in a particular context. The aim of this article is to empirically investigate the customization of the DRD by documenting only the information items that will probably be required for executing an activity. This customization strategy relies on the hypothesis that the value of a specific DRD information item depends on its category (e.g., assumptions, related requirements, etc.) and on the activity it is meant to support. We investigate this hypothesis through two controlled experiments involving a total of 75 master students as experimental subjects. Results show that the value of a DRD information item significantly depends on its category and, within a given category, on the activity it supports. Furthermore, on average among activities, documenting only the information items that have been required at least half of the time (i.e., the information that will probably be required in the future) leads to a customized DRD containing about half the information items of a full documentation. We expect that such a significant reduction in DRD information should mitigate the effects of some inhibitors that currently prevent practitioners from documenting design decision rationale.

Original languageEnglish
Pages (from-to)1-32
Number of pages32
JournalACM Transactions on Software Engineering and Methodology
Volume22
Issue number3
DOIs
Publication statusPublished - Jul 2013
Externally publishedYes

Keywords

  • Design decisions
  • Empirical software engineering
  • Software architecture
  • Software maintenance
  • Value-based software engineering

Fingerprint

Dive into the research topics of 'The value of design rationale information'. Together they form a unique fingerprint.

Cite this