Improving software design reasoning-A reminder card approach

Abstract Software designers have been known to think naturalistically. This means that there may be inadequate rational thinking during software design. In the past two decades, many research works suggested that designers need to produce design rationale. However, design rationale can be produced to retrofit naturalistic decisions, which means that design decisions may still not be well reasoned. Through a controlled experiment, we studied design reasoning and design rationale by asking participants to carry out a group design. As treatment, we provided 6 out of 12 student teams with a set of reasoning reminder cards to see how they compare with teams without the reminder cards. Additionally, we performed the same experiment with 2 teams of professionals who used the reminder cards, and compared the results with 3 teams of professionals. The experimental results show that both professionals and students who were equipped with the reasoning reminder cards reasoned more with their design. Second, the more a team discusses design reasoning, the more design rationale they find.

[1]  Mike Chiasson,et al.  A model of design decision making based on empirical results of interviews with software designers , 2007, Inf. Softw. Technol..

[2]  Sami Kollanus,et al.  Survey of Software Inspection Research , 2009 .

[3]  H. Rittel,et al.  Dilemmas in a general theory of planning , 1973 .

[4]  Kristi Jackson,et al.  Qualitative Data Analysis with NVivo , 2007 .

[5]  Jeff Tyree,et al.  Architecture decisions: demystifying architecture , 2005, IEEE Software.

[6]  Jon Whittle,et al.  Supporting Reflective Practice in Software Engineering Education through a Studio-Based Approach , 2014, IEEE Software.

[7]  Rick Kazman,et al.  The architecture tradeoff analysis method , 1998, Proceedings. Fourth IEEE International Conference on Engineering of Complex Computer Systems (Cat. No.98EX193).

[8]  Maarten Sierhuis,et al.  Facilitated hypertext for collective sensemaking: 15 years on from gIBIS , 2001, Hypertext.

[9]  Sten R. Ludvigsen,et al.  The role of social interaction in software effort estimation: Unpacking the "magic step" between reasoning and decision-making , 2012, Inf. Softw. Technol..

[10]  Dorothy Horsburgh,et al.  Evaluation of qualitative research. , 2003, Journal of clinical nursing.

[11]  Bo T. Christensen,et al.  Collaborative problem–solution co-evolution in creative design , 2013 .

[12]  Leonard J. Bass,et al.  Scenario-Based Analysis of Software Architecture , 1996, IEEE Softw..

[13]  Jared Herzog,et al.  Software Architecture in Practice Third Edition Written by Len Bass, Paul Clements, Rick Kazman , 2015, SOEN.

[14]  Ken Schwaber,et al.  Agile Software Development with SCRUM , 2001 .

[15]  Grace A. Lewis,et al.  Modeling Context with an Architecture Viewpoint , 2017, 2017 IEEE International Conference on Software Architecture (ICSA).

[16]  Peter Kuster Software Designers In Action A Human Centric Look At Design Work , 2016 .

[17]  A. Tversky,et al.  Rational choice and the framing of decisions , 1990 .

[18]  Antony Tang,et al.  Software Designers Satisfice , 2015, ECSA.

[19]  Patricia Lago,et al.  Explicit assumptions enrich architectural models , 2005, Proceedings. 27th International Conference on Software Engineering, 2005. ICSE 2005..

[20]  Tore Dybå,et al.  Challenges of shared decision-making: A multiple case study of agile software development , 2012, Inf. Softw. Technol..

[21]  Hans van Vliet,et al.  Software engineering - principles and practice , 1993 .

[22]  Floris Bex,et al.  Software Architecture Design Reasoning: A Card Game to Help Novice Designers , 2016, ECSA.

[23]  Antony Tang,et al.  Decision making in software architecture , 2016, J. Syst. Softw..

[24]  Philippe Kruchten,et al.  The value of design rationale information , 2013, TSEM.

[25]  Martin Bichler,et al.  Design science in information systems research , 2006, Wirtschaftsinf..

[26]  Paris Avgeriou,et al.  Forces on Architecture Decisions - A Viewpoint , 2012, 2012 Joint Working IEEE/IFIP Conference on Software Architecture and European Conference on Software Architecture.

[27]  Antony Tang,et al.  Design Reasoning Improves Software Design Quality , 2008, QoSA.

[28]  D. Kahneman Maps of Bounded Rationality: Psychology for Behavioral Economics , 2003 .

[29]  Isabelle Reymen Improving design processes through structured reflection : case studies , 2001 .

[30]  van Heescha,et al.  Does decision documentation help junior designers rationalize their decisions? A comparative multiple-case study , 2013 .

[31]  Rashina Hoda,et al.  Embedding Reflection and Learning into Agile Software Development , 2014, IEEE Software.

[32]  Antony Tang,et al.  Software architecture review by association , 2014, J. Syst. Softw..

[33]  Kees Dorst,et al.  Design Problems and Design Paradoxes , 2006, Design Issues.

[34]  Nigel Cross,et al.  Creativity in the design process: co-evolution of problem–solution , 2001 .

[35]  Eoin Woods Industrial Architectural Assessment Using TARA , 2011, 2011 Ninth Working IEEE/IFIP Conference on Software Architecture.

[36]  Rafael Capilla,et al.  In two minds: how reflections influence software design thinking , 2016, J. Softw. Evol. Process..

[37]  Muhammad Ali Babar,et al.  10 years of software architecture knowledge management: Practice and future , 2016, J. Syst. Softw..

[38]  B. Boehm Software risk management: principles and practices , 1991, IEEE Software.

[39]  Hans van Vliet,et al.  What makes software design effective , 2010 .

[40]  Mark Klein,et al.  Quantifying the costs and benefits of architectural decisions , 2001, Proceedings of the 23rd International Conference on Software Engineering. ICSE 2001.

[41]  Jan Bosch,et al.  Scenario-based software architecture reengineering , 1998, Proceedings. Fifth International Conference on Software Reuse (Cat. No.98TB100203).

[42]  Hans van Vliet,et al.  Architecting as a Risk- and Cost Management Discipline , 2011, 2011 Ninth Working IEEE/IFIP Conference on Software Architecture.

[43]  Ioanna Lytra,et al.  Two controlled experiments on model-based architectural decision making , 2015, Inf. Softw. Technol..

[44]  A. Tversky,et al.  Subjective Probability: A Judgment of Representativeness , 1972 .

[45]  K. Holyoak,et al.  Bidirectional reasoning in decision making by constraint satisfaction , 1999 .

[46]  Claes Wohlin,et al.  Experimentation in Software Engineering , 2000, The Kluwer International Series in Software Engineering.

[47]  Paul Clements,et al.  Software architecture in practice , 1999, SEI series in software engineering.

[48]  John Sweller,et al.  Cognitive Load During Problem Solving: Effects on Learning , 1988, Cogn. Sci..

[49]  Jacob Cohen,et al.  Weighted kappa: Nominal scale agreement provision for scaled disagreement or partial credit. , 1968 .

[50]  Frank Leymann,et al.  Managing architectural decision models with dependency relations, integrity constraints, and production rules , 2009, J. Syst. Softw..

[51]  Andrzej Zalewski,et al.  On Cognitive Biases in Architecture Decision Making , 2017, ECSA.

[52]  Thomas P. Moran,et al.  Questions, Options, and Criteria: Elements of Design Space Analysis , 1991, Hum. Comput. Interact..

[53]  Lei Li,et al.  The Influence of Checklists and Roles on Software Practitioner Risk Perception and Decision-Making , 2006, HICSS.

[54]  Donald A. Sch The reflective practitioner: how professionals think in action , 1983 .

[55]  David C. Brown,et al.  Reasoning with Design Rationale , 2000, AID.

[56]  D. Schoen,et al.  The Reflective Practitioner: How Professionals Think in Action , 1985 .

[57]  Webb Stacy,et al.  Cognitive bias in software engineering , 1995, CACM.

[58]  M. Manen Linking Ways of Knowing with Ways of Being Practical , 1977 .

[59]  Paul Clements,et al.  Recommended Best Industrial Practice for Software Architecture Evaluation. , 1997 .

[60]  Marilyn Lamoreux Improving agile team learning by improving team reflections [agile software development] , 2005, Agile Development Conference (ADC'05).

[61]  Maarten Sierhuis,et al.  Hypermedia Support for Argumentation-Based Rationale , 2006 .

[62]  J. Lockyer,et al.  Knowledge translation: the role and place of practice reflection. , 2004, The Journal of continuing education in the health professions.

[63]  Nick Hammond,et al.  Argumentation-based design rationale: what use at what cost? , 1994, Int. J. Hum. Comput. Stud..