Skip to main content

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

  • Conference paper
  • First Online:
Software Architecture (ECSA 2016)

Part of the book series: Lecture Notes in Computer Science ((LNPSE,volume 9839))

Included in the following conference series:

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.

This is a preview of subscription content, log in via an institution to check access.

Access this chapter

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD 39.99
Price excludes VAT (USA)
  • Available as EPUB and PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 54.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

References

  1. Bass, L., Clements, P., Kazman, R.: Software Architecture in Practice. Series in Software Engineering. Addison Wesley, Reading (2012)

    Google Scholar 

  2. Cohen, J.: Weighted kappa: nominal scale agreement with provision for scaled disagreement or partial credit. Psychol. Bull. 70, 213–220 (1968)

    Article  Google Scholar 

  3. Smart Decisions: A software architecture design game. http://smartdecisionsgame.com/

  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. 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. 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)

    Article  Google Scholar 

  7. Horsburgh, D.: Evaluation of qualitative research. J. Clin. Nurs. 12, 307–312 (2003)

    Article  Google Scholar 

  8. IDEO: IDEO Method Cards. https://www.ideo.com/by-ideo/method-cards/

  9. Kahneman, D.: Thinking, Fast and Slow. Penguin Books, London (2012)

    Google Scholar 

  10. Klein, G.: Naturalistic decision making. Hum. Factors J. Hum. Factors Ergon. Soc. 50, 456–460 (2008)

    Article  Google Scholar 

  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. Lee, J.: Design rationale systems: understanding the issues. IEEE Expert. Syst. Appl. 12, 78–85 (1997)

    Article  Google Scholar 

  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. 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. 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)

    Article  Google Scholar 

  16. Restrepo, J., Christiaans, H.: Problem structuring, information access in design. J. Des. Res. 4, 1551–1569 (2004)

    Google Scholar 

  17. Rittel, H.W.J., Webber, M.M.: Dilemnas in a general theory of planning. Policy Sci. 4, 155–168 (1973)

    Article  Google Scholar 

  18. Schön, D.A.: The Reflective Practitioner: How Professionals Think in Action. Basic Books, New York (1983)

    Google Scholar 

  19. Simon, H.A.: The structure of ill structured problems. Artif. Intell. 4, 181–201 (1973)

    Article  Google Scholar 

  20. Simon, H.A.: Rationality as process and as product of a thought. Am. Econ. Rev. 68, 1–16 (1978)

    Google Scholar 

  21. Stacy, W., MacMillan, J.: Cognitive bias in software engineering. Commun. ACM. 38, 57–63 (1995)

    Article  Google Scholar 

  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. 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. Tang, A., Babar, M.A., Gorton, I., Han, J.: A survey of architecture design rationale. J. Syst. Softw. 79, 1792–1804 (2006)

    Article  Google Scholar 

  25. Tang, A., Lago, P.: Notes on design reasoning techniques. SUTICT-TR.01, Swimburne University of Technology (2010)

    Google Scholar 

  26. Tang, A., Lau, M.F.: Software architecture review by association. J. Syst. Softw. 88, 87–101 (2014)

    Article  Google Scholar 

  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

    Chapter  Google Scholar 

  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)

    Chapter  Google Scholar 

  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

    Chapter  Google Scholar 

  30. UCI: Studying professional software design. http://www.ics.uci.edu/design-workshop/

  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)

    Article  Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Jan Martijn E. M. van der Werf .

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2016 Springer International Publishing AG

About this paper

Cite this paper

Schriek, C., van der Werf, J.M.E.M., Tang, A., Bex, F. (2016). Software Architecture Design Reasoning: A Card Game to Help Novice Designers. In: Tekinerdogan, B., Zdun, U., Babar, A. (eds) Software Architecture. ECSA 2016. Lecture Notes in Computer Science(), vol 9839. Springer, Cham. https://doi.org/10.1007/978-3-319-48992-6_2

Download citation

  • DOI: https://doi.org/10.1007/978-3-319-48992-6_2

  • Published:

  • Publisher Name: Springer, Cham

  • Print ISBN: 978-3-319-48991-9

  • Online ISBN: 978-3-319-48992-6

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics