DecDoc: A Tool for Documenting Design Decisions Collaboratively and Incrementally
Authors:
- Tom-Michael HesseTHTom-Michael Hesse
- Arthur KuehlweinAKArthur Kuehlwein
- Tobias RoehmTRTobias Roehm
- 1 April 2016
- conference paper
- Published by Institute of Electrical and Electronics Engineers (IEEE)
- p. 30-37
Abstract
The outcome and quality of design decisions highly depend on the knowledge reflected during decision-making. Typically, making design decisions is not one singular action.Instead, developers discuss and cooperate during requirements engineering, design and implementation of a system to make and adapt design decisions. This decision-making process is influenced by different decision-making strategies, personal experiences, and biases. In consequence, decision-related knowledge emerges incrementally over time in an incomplete and heterogeneous way. This hinders the documentation of such knowledge in practice. First, most documentation tools capture decision-related knowledge within one particular development activity.However, they do not focus on the collaborative and shared documentation during multiple activities. Second, static documentation templates and formal rules are not suitable for capturing incomplete knowledge, as additional documentation effort is imposed for developers. Thus, text templates are not used or filled with generic contents. As a result, decision-related knowledge remains implicit and is not available to guide future decision-making. To address these issues, we have created the tool DecDoc based on our incremental documentation model. The tool enables developers to capture decision-related knowledge and collaborate on a comprehensive documentation of design decisions with relations to artifacts, such as requirement specifications, design diagrams, and code. This helps to improve the decision-making process for design decisions, as it helps to make explicit and reflect related knowledge during the process. In this paper, we present DecDoc with regard to requirements from the decision-making process.Then, we describe its application on design decisions in example projects. Finally, we discuss our insights from using the tool and highlight open challenges.Keywords
This publication has 33 references indexed in Scilit:
- Documenting Relations Between Requirements and Design Decisions: A Case Study on Design Session Transcripts2016
- Documenting Implementation Decisions with Code Annotations2015
- Semiautomatic security requirements engineering and evolution using decision documentation, heuristics, and user monitoring2014
- Supporting the collaborative development of requirements and architecture documentation2013
- Design, discussion, and dissent in open bug reports2011
- Architectural Decisions as Reusable Design AssetsIEEE Software, 2010
- A comparative study of architecture knowledge management toolsJournal of Systems and Software, 2010
- Reusable Architectural Decision Models for Enterprise Application DevelopmentLecture Notes in Computer Science, 2007
- Taking stock of naturalistic decision makingJournal of Behavioral Decision Making, 2001
- Weaving together requirements and architecturesComputer, 2001