Mental representations of programs for student and professional programmers
Empirical studies of programmers: second workshop
gIBIS: a hypertext tool for exploratory policy discussion
CSCW '88 Proceedings of the 1988 ACM conference on Computer-supported cooperative work
Support for comprehensive reuse
Software Engineering Journal - Special issue on software process and its support
Argumentation-based design rationale: what use at what cost?
International Journal of Human-Computer Studies
An empirical evaluation of design rationale documents
Proceedings of the SIGCHI Conference on Human Factors in Computing Systems
Questions, options, and criteria: elements of design space analysis
Design rationale
Building Knowledge through Families of Experiments
IEEE Transactions on Software Engineering
Experimentation in software engineering: an introduction
Experimentation in software engineering: an introduction
Proceedings of the Conference on The Future of Software Engineering
Agile modeling: effective practices for extreme programming and the unified process
Agile modeling: effective practices for extreme programming and the unified process
Software Engineering Economics
Software Engineering Economics
Value based software reuse investment
Annals of Software Engineering
Empirical Software Engineering
Conducting experiments on software evolution
IWPSE '01 Proceedings of the 4th International Workshop on Principles of Software Evolution
Design Rationale Systems: Understanding the Issues
IEEE Expert: Intelligent Systems and Their Applications
PROFES '00 Proceedings of the Second International Conference on Product Focused Software Process Improvement
Conducting Realistic Experiments in Software Engineering
ISESE '02 Proceedings of the 2002 International Symposium on Empirical Software Engineering
The Rational Unified Process: An Introduction
The Rational Unified Process: An Introduction
Widening the Scope of Evidence Gathering in Software Engineering
STEP '03 Proceedings of the Eleventh Annual International Workshop on Software Technology and Engineering Practice
Architecture Decisions: Demystifying Architecture
IEEE Software
A case study on value-based requirements tracing
Proceedings of the 10th European software engineering conference held jointly with 13th ACM SIGSOFT international symposium on Foundations of software engineering
Value-Based Software Engineering
Value-Based Software Engineering
Determining the cost-quality trade-off for automated software traceability
Proceedings of the 20th IEEE/ACM international Conference on Automated software engineering
Victor R. Basili's Contributions to Software Quality
IEEE Software
Software Architecture as a Set of Architectural Design Decisions
WICSA '05 Proceedings of the 5th Working IEEE/IFIP Conference on Software Architecture
Living assistance systems: an ambient intelligence approach
Proceedings of the 28th international conference on Software engineering
Essential Software Architecture
Essential Software Architecture
A Practical Guide to Product Line Scoping
SPLC '06 Proceedings of the 10th International on Software Product Line Conference
Proceedings of the 2006 ACM/IEEE international symposium on Empirical software engineering
Just Enough Requirements Traceability
COMPSAC '06 Proceedings of the 30th Annual International Computer Software and Applications Conference - Volume 01
Tailoring Traceability Information to Business Needs
RE '06 Proceedings of the 14th IEEE International Requirements Engineering Conference
Requirements Traceability - When and How does it Deliver more than it Costs?
RE '06 Proceedings of the 14th IEEE International Requirements Engineering Conference
A survey of architecture design rationale
Journal of Systems and Software
Modeling and Documenting the Evolution of Architectural Design Decisions
ICSEW '07 Proceedings of the 29th International Conference on Software Engineering Workshops
Wishes and Boundaries for a Software Architecture Knowledge Community
WICSA '08 Proceedings of the Seventh Working IEEE/IFIP Conference on Software Architecture (WICSA 2008)
Documenting after the fact: Recovering architectural design decisions
Journal of Systems and Software
The role of replications in Empirical Software Engineering
Empirical Software Engineering
In search of `architectural knowledge'
Proceedings of the 3rd international workshop on Sharing and reusing architectural knowledge
A Realistic Empirical Evaluation of the Costs and Benefits of UML in Software Maintenance
IEEE Transactions on Software Engineering
Rationale-Based Software Engineering
Rationale-Based Software Engineering
The Role of Deliberate Artificial Design Elements in Software Engineering Experiments
IEEE Transactions on Software Engineering
Using students as subjects - an empirical evaluation
Proceedings of the Second ACM-IEEE international symposium on Empirical software engineering and measurement
Effort Estimation in Capturing Architectural Knowledge
ASE '08 Proceedings of the 2008 23rd IEEE/ACM International Conference on Automated Software Engineering
Applying empirical software engineering to software architecture: challenges and lessons learned
Empirical Software Engineering
Reusable architectural decision models for enterprise application development
QoSA'07 Proceedings of the Quality of software architectures 3rd international conference on Software architectures, components, and applications
Foundations of Empirical Software Engineering: The Legacy of Victor R. Basili
Foundations of Empirical Software Engineering: The Legacy of Victor R. Basili
Basics of Software Engineering Experimentation
Basics of Software Engineering Experimentation
Decision-making techniques for software architecture design: A comparative survey
ACM Computing Surveys (CSUR)
Software designers, are you biased?
Proceedings of the 6th International Workshop on SHAring and Reusing Architectural Knowledge
Building up and reasoning about architectural knowledge
QoSA'06 Proceedings of the Second international conference on Quality of Software Architectures
IEEE Transactions on Software Engineering
Traceability and SysML design slices to support safety inspections: A controlled experiment
ACM Transactions on Software Engineering and Methodology (TOSEM)
Hi-index | 0.00 |
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.