Advertisement

Software Architecture Design Reasoning: A Card Game to Help Novice Designers

  • Courtney Schriek
  • Jan Martijn E. M. van der Werf
  • Antony Tang
  • Floris Bex
Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 9839)

Abstract

Software design is a complicated process, and novice designers have seldom been taught how to reason with a design. They use a naturalistic approach to work their way through software design. In order to impart the use of design techniques, a card game was developed to help design reasoning. This game was tested on groups of students and resulted in noticeable differences between the control and test groups. Those who used the cards produced better design arguments: the groups with the card game on average perform 75 % more reasoning than the control groups. The results show that the design strategy used by the groups is a clear indicator for how many and what kind of design problems are designed, while the cards influence how the designers solve these problems.

References

  1. 1.
    Bass, L., Clements, P., Kazman, R.: Software Architecture in Practice. Series in Software Engineering. Addison Wesley, Reading (2012)Google Scholar
  2. 2.
    Cohen, J.: Weighted kappa: nominal scale agreement with provision for scaled disagreement or partial credit. Psychol. Bull. 70, 213–220 (1968)CrossRefGoogle Scholar
  3. 3.
    Smart Decisions: A software architecture design game. http://smartdecisionsgame.com/
  4. 4.
    Galster, M., Weyns, D.: Emperical research in software architecture. In: 13th Working IEEE/IFIP Conference on Software Architecture, Italy, Venice, pp. 11–20. IEEE Computer Society (2016)Google Scholar
  5. 5.
    Grenning, J.: Planning poker or how to avoid analysis paralysis while release planning. Hawthorn Woods Renaiss. Softw. Consult. 3, 1–3 (2002)Google Scholar
  6. 6.
    van Heesch, U., Avgeriou, P., Tang, A.: Does decision documentation help junior designers rationalize their decisions? A comparative multiple-case study. J. Syst. Softw. 86, 1545–1565 (2013)CrossRefGoogle Scholar
  7. 7.
    Horsburgh, D.: Evaluation of qualitative research. J. Clin. Nurs. 12, 307–312 (2003)CrossRefGoogle Scholar
  8. 8.
  9. 9.
    Kahneman, D.: Thinking, Fast and Slow. Penguin Books, London (2012)Google Scholar
  10. 10.
    Klein, G.: Naturalistic decision making. Hum. Factors J. Hum. Factors Ergon. Soc. 50, 456–460 (2008)CrossRefGoogle Scholar
  11. 11.
    Lago, P., van Vliet, H.: Explicit assumptions enrich architectural models. In: 27th International Conference on Software Engineering, ICSE 2005, pp. 206–214. ACM (2005)Google Scholar
  12. 12.
    Lee, J.: Design rationale systems: understanding the issues. IEEE Expert. Syst. Appl. 12, 78–85 (1997)CrossRefGoogle Scholar
  13. 13.
    Petre, M., van der Hoek, A.: Software Designers in Action: A Human-Centric Look at Design Work. CRC Press, Boca Raton (2013)Google Scholar
  14. 14.
    Poort, E.R., van Vliet, H.: Architecting as a risk- and cost management discipline. In: 9th Working IEEE/IFIP Conference on Software Architecture, WICSA 2011, pp. 2–11. IEEE Computer Society (2011)Google Scholar
  15. 15.
    Razavian, M., Tang, A., Capilla, R., Lago, P.: In two minds: how reflections influence software design thinking. J. Softw. Evol. Process 6, 394–426 (2016)CrossRefGoogle Scholar
  16. 16.
    Restrepo, J., Christiaans, H.: Problem structuring, information access in design. J. Des. Res. 4, 1551–1569 (2004)Google Scholar
  17. 17.
    Rittel, H.W.J., Webber, M.M.: Dilemnas in a general theory of planning. Policy Sci. 4, 155–168 (1973)CrossRefGoogle Scholar
  18. 18.
    Schön, D.A.: The Reflective Practitioner: How Professionals Think in Action. Basic Books, New York (1983)Google Scholar
  19. 19.
    Simon, H.A.: The structure of ill structured problems. Artif. Intell. 4, 181–201 (1973)CrossRefGoogle Scholar
  20. 20.
    Simon, H.A.: Rationality as process and as product of a thought. Am. Econ. Rev. 68, 1–16 (1978)Google Scholar
  21. 21.
    Stacy, W., MacMillan, J.: Cognitive bias in software engineering. Commun. ACM. 38, 57–63 (1995)CrossRefGoogle Scholar
  22. 22.
    Stanovich, K.E.: Distinguishing the reflective, algorithmic, autonomous minds: is it time for a tri-process theory? In: Two Minds: Dual Processes and Beyond, pp. 55–88. Oxford University Press (2009)Google Scholar
  23. 23.
    Tang, A.: Software designers, are you biased? In: 6th International Workshop on SHAring and Reusing Architectural Knowledge, pp. 1–8. ACM, New York (2011)Google Scholar
  24. 24.
    Tang, A., Babar, M.A., Gorton, I., Han, J.: A survey of architecture design rationale. J. Syst. Softw. 79, 1792–1804 (2006)CrossRefGoogle Scholar
  25. 25.
    Tang, A., Lago, P.: Notes on design reasoning techniques. SUTICT-TR.01, Swimburne University of Technology (2010)Google Scholar
  26. 26.
    Tang, A., Lau, M.F.: Software architecture review by association. J. Syst. Softw. 88, 87–101 (2014)CrossRefGoogle Scholar
  27. 27.
    Tang, A., Tran, M.H., Han, J., Vliet, H.: Design reasoning improves software design quality. In: Becker, S., Plasil, F., Reussner, R. (eds.) QoSA 2008. LNCS, vol. 5281, pp. 28–42. Springer, Heidelberg (2008). doi: 10.1007/978-3-540-87879-7_2 CrossRefGoogle Scholar
  28. 28.
    Tang, A., Vliet, H.: Software architecture design reasoning. In: Babar, M.A., Dingsøyr, T., Lago, P., van Vliet, H. (eds.) Software Architecture Knowledge Management, pp. 155–174. Springer, Heidelberg (2009)CrossRefGoogle Scholar
  29. 29.
    Tang, A., Vliet, H.: Software designers satisfice. In: Weyns, D., Mirandola, R., Crnkovic, I. (eds.) ECSA 2015. LNCS, vol. 9278, pp. 105–120. Springer, Heidelberg (2015). doi: 10.1007/978-3-319-23727-5_9 CrossRefGoogle Scholar
  30. 30.
    UCI: Studying professional software design. http://www.ics.uci.edu/design-workshop/
  31. 31.
    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, 637–653 (2007)CrossRefGoogle Scholar

Copyright information

© Springer International Publishing AG 2016

Authors and Affiliations

  • Courtney Schriek
    • 1
  • Jan Martijn E. M. van der Werf
    • 1
  • Antony Tang
    • 2
  • Floris Bex
    • 1
  1. 1.Department of Information and Computing ScienceUtrecht UniversityUtrechtThe Netherlands
  2. 2.Swinburne University of TechnologyMelbourneAustralia

Personalised recommendations