Documenting Relations Between Requirements and Design Decisions: A Case Study on Design Session Transcripts

Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 9619)

Abstract

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.

Keywords

Decision documentation Decision-making Design decisions Requirements traceability Case study 

Notes

Acknowledgment

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.

References

  1. 1.
    Baker, A., van der Hoek, A.: Ideas, subjects, and cycles as lenses for understanding the software design process. Des. Stud. 31(6), 590–613 (2010)CrossRefGoogle Scholar
  2. 2.
    Ball, L.J., Onarheim, B., Christensen, B.T.: Design requirements, epistemic uncertainty and solution development strategies in software design. Des. Stud. 31(6), 567–589 (2010)CrossRefGoogle Scholar
  3. 3.
    Chen, L., Babar, M.A., Nuseibeh, B.: Characterizing architecturally significant requirements. IEEE Softw. 30(2), 38–45 (2013)CrossRefGoogle Scholar
  4. 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
  5. 5.
    Falessi, D., Cantone, G., Kazman, R., Kruchten, P.: Decision-making techniques for software architecture design. ACM Comput. Surv. 43(4), 1–28 (2011)CrossRefGoogle Scholar
  6. 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. 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. 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. 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
  10. 10.
    Jackson, M.: Representing structure in a software system design. Des. Stud. 31(6), 545–566 (2010)CrossRefGoogle Scholar
  11. 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. 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. 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
  14. 14.
    Kruchten, P., Lago, P., van Vliet, H.: Building up and reasoning about architectural knowledge. In: Hofmeister, C., Crnković, I., Reussner, R. (eds.) QoSA 2006. LNCS, vol. 4214, pp. 43–58. Springer, Heidelberg (2006)CrossRefGoogle Scholar
  15. 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
  16. 16.
    Nuseibeh, B.: Weaving together requirements and architectures. Computer 34(3), 115–119 (2001)CrossRefGoogle Scholar
  17. 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. 18.
    Petre, M., van der Hoek, A.: Software Designers in Action: A Human-Centric Look at Design Work. CRC Press, Saarbrucken (2013)Google Scholar
  19. 19.
    Runeson, P., Höst, M., Rainer, A., Regnell, B.: Case Study Research in Software Engineering. Guidelines and Examples. Wiley, Hoboken (2012)CrossRefGoogle Scholar
  20. 20.
    Shaw, M.: The role of design spaces. Software 29(1), 46–50 (2012)CrossRefGoogle Scholar
  21. 21.
    Tang, A., Aleti, A., Burge, J., van Vliet, H.: What makes software design effective? Des. Stud. 31(6), 614–640 (2010)CrossRefGoogle Scholar
  22. 22.
    Tang, A., Babar, M.A., Gorton, I., Han, J.: A survey of architecture design rationale. J. Syst. Softw. 79(12), 1792–1804 (2006)CrossRefGoogle Scholar
  23. 23.
    Tang, A., Jin, Y., Han, J.: A rationale-based architecture model for design traceability and reasoning. J. Syst. Softw. 80(6), 918–934 (2007)CrossRefGoogle Scholar
  24. 24.
    Tyree, J., Akerman, A.: Architecture decisions: demystifying architecture. Software 22(2), 19–27 (2005)CrossRefGoogle Scholar
  25. 25.
    Zannier, C., Chiasson, M., Maurer, F.: A model of design decision making based on empirical results of interviews with software designers. Inf. Softw. Technol. 49(6), 637–653 (2007)CrossRefGoogle Scholar

Copyright information

© Springer International Publishing Switzerland 2016

Authors and Affiliations

  1. 1.Institute of Computer ScienceHeidelberg UniversityHeidelbergGermany

Personalised recommendations