Documenting Relations Between Requirements and Design Decisions: A Case Study on Design Session Transcripts
Context/Motivation: Developers make many important decisions as they address given requirements during system design. Each decision is explained and justified by decision-related knowledge. Typically, this knowledge is neither captured in a structured way, nor linked to the respective requirements in detail. Then, it is not obvious, how design decisions realize the given requirements and whether they further refine or shape them. Thus, the relations and alignment of requirements and design cannot be assessed properly. Problem/Question: While there are several studies on decision-making in general, there does not exist a study uncovering how decision-related knowledge emerges based on requirements. Such a study is important to understand the intertwined relations of requirements and design decisions as well as how requirement descriptions could be enhanced with feedback from design decision-making. Principal Idea/Results: We applied a flexible documentation approach for decision-related knowledge on discussion transcripts of two design sessions with professional designers. We analyzed the discussions for decision-related knowledge and documented it together with its relations to the given requirements. Several complex and incrementally growing knowledge structures for decisions were found to emerge in relation to the given requirements. Also, we uncovered that decision-related knowledge contained uncertainties about requirements and further refined them. Contribution: Our study uncovers detailed relations between requirements and design decisions and thereby improves the understanding of their mutual impact on each other. We also derive recommendations for the cooperation between requirements engineers and designers in practice. In addition, we demonstrate that our documentation approach for decision-related knowledge provides a comprehensive view on decisions and their relations to requirements.
KeywordsDecision documentation Decision-making Design decisions Requirements traceability Case study
This work was partially supported by the DFG (German Research Foundation) under the Priority Programme SPP1593: Design For Future — Managed Software Evolution. Results described in this paper are based upon videos and transcripts initially distributed for the 2010 international workshop “Studying Professional Software Design”, as partially supported by NSF grant CCF-0845840.
- 4.Cleland-Huang, J., Mirakhorli, M., Czauderna, A., Wieloch, M.: Decision-centric traceability of architectural concerns. In: International Workshop on Traceability in Emerging Forms of Software Engineering, pp. 5–11. IEEE (2013)Google Scholar
- 6.Hesse, T.M., Gaertner, S., Roehm, T., Paech, B., Schneider, K., Bruegge, B.: Semiautomatic security requirements engineering and evolution using decision documentation, heuristics, and user monitoring. In: First International Workshop on Evolving Security and Privacy Requirements Engineering (ESPRE) at RE2014, pp. 1–6. IEEE (2014)Google Scholar
- 7.Hesse, T.M., Kuehlwein, A., Paech, B., Roehm, T., Bruegge, B.: Documenting implementation decisions with code annotations. In: 27th International Conference on Software Engineering and Knowledge Engineering, pp. 152–157. KSI Research Inc (2015)Google Scholar
- 8.Hesse, T.M., Paech, B.: Supporting the collaborative development of requirements and architecture documentation. In: 3rd Internatioal Workshop on the Twin Peaks of Requirements and Architecture (TwinPeaks) at RE2013, pp. 22–26. IEEE (2013)Google Scholar
- 9.van der Hoek, A., Petre, M., Baker, A.: Workshop “Studying Professional Software Design” at University of California, Irvine (2010). http://www.ics.uci.edu/design-workshop/. Accessed in October 2015
- 11.Jansen, A., Bosch, J.: Software architecture as a set of architectural design decisions. In: 5th Working IEEE/IFIP Conference on Software Architecture (WICSA), pp. 109–120. IEEE (2005)Google Scholar
- 12.Kavakli, E., Loucopoulos, P.: Information modeling methods and methodologies: advanced topics of database research. In: Krogstie, J., Halpin, T., Siau, K. (eds.) Goal Modeling in Requirements Engineering: Analysis and Critique of Current Methods, pp. 102–124. Idea Group Publishing, UK (2005)Google Scholar
- 13.Ko, A.J., Chilana, P.K.: Design, discussion, and dissent in open bug reports. In: Proceedings of the 2011 iConference, pp. 106–113 (2011)Google Scholar
- 15.Ngo, T., Ruhe, G.: Decision support in requirements engineering. In: Aurum, A., Wohlin, C. (eds.) Engineering and Managing Software Requirements, pp. 267–286. Springer, Heidelberg (2005)Google Scholar
- 17.Paech, B., Delater, A., Hesse, T.M.: Integrating project and system knowledge management. In: Ruhe, G., Wohlin, C. (eds.) Software Project Management in a Changing World, pp. 157–192. Springer, Heidelberg (2014)Google Scholar
- 18.Petre, M., van der Hoek, A.: Software Designers in Action: A Human-Centric Look at Design Work. CRC Press, Saarbrucken (2013)Google Scholar