Abstract
The software architecture community has advocated design rationale in the last decade. However, there is little knowledge of how much reasoning is performed when software design judgments are made. In this study, we investigated the amount of design reasoning performed before making a decision. We recruited 32 students and 40 professionals to participate in this software architecture design study. We found that most subjects needed only a few reasons before making their decisions. They considered that giving a few reasons were good enough to judge despite that more reasons could be found. This result shows a satisficing behavior in design decision making. We explore the implications of this common behavior on software architecture design.
Access provided by Autonomous University of Puebla. Download to read the full chapter text
Chapter PDF
Similar content being viewed by others
References
Curtis, B., Krasner, H., Iscoe, N.: A field study of the software design process for large systems. Commun. ACM 31, 1268–1287 (1988)
Schön, D.A.: The reflective practitioner : how professionals think in action. Basic Books, Nueva York (1983)
Falessi, D., Briand, L.C., Cantone, G., Capilla, R., Kruchten, P.: The value of design rationale information. ACM Transactions on Software Engineering and Methodology (TOSEM) 22, 21 (2013)
Jansen, A., Bosch, J.: Software architecture as a set of architectural design decisions. In: Proceedings 5th IEEE/IFIP Working Conference on Software Architecture, pp. 109−120 (2005)
Dutoit, A., McCall, R., Mistrik, I., Paech, B. (eds.): Rationale Management in Software Engineering. Springer (2006)
Tang, A., Barbar, M.A., Gorton, I., Han, J.: A Survey of Architecture Design Rationale. Swinburne University of Technology (2005)
Petre, M., Van Der Hoek, A. (eds.): Software Designers in Action: A Human-Centric Look at Design Work. CRC Press (2013)
Simon, H.A.: The Sciences of the Artificial. The MIT Press (1996)
Simon, H.A.: Satisficing. The New Palgrave: a Dictionary of Economics 4, 243–245 (1987)
Meyer, B.: On Formalism in Specifications. IEEE Software 2, 6–26 (1985)
Tang, A., Lau, M.F.: Software architecture review by association. Journal of Systems and Software 88, 87–101 (2014)
Perry, D.E., Wolf, A.L.: Foundation for the Study of Software Architecture. ACM SIGSOFT Software Engineering Notes 17, 40–52 (1992)
ISO/IEC/IEEE: ISO/IEC/IEEE 42010:2010 Systems and software engineering - Architecture description, March 2010
Zannier, C., Chiasson, M., Maurer, F.: A model of design decision making based on empirical results of interviews with software designers. Information and Software Technology 49, 637–653 (2007)
Guindon, R.: Designing the design process: exploiting opportunistic thoughts. Hum.-Comput. Interact. 5, 305–344 (1990)
Kruchten, P.: What do software architects really do? Journal of Systems and Software 81, 2413–2416 (2008)
Tversky, A., Kahneman, D.: The framing of decisions and the psychology of choice. Science 211, 453–458 (1981)
Kahneman, D.: Thinking, fast and slow. Penguin (2011)
Rittel, H.W.J., Webber, M.M.: Dilemmas in a general theory of planning. Policy Sciences 4, 155–169 (1973)
Klein, G.: Streetlights and shadows: Searching for the keys to adaptive decision making. The MIT Press (2009)
Hammond, K.R.: Human judgement and social policy: Irreducible uncertainty, inevitable error, unavoidable injustice. Oxford University Press (1996)
Ward, D.: The role of satisficing in foraging theory. Oikos 63, 312–317 (1992)
Fasolo, B., Carmeci, F.A., Misuraca, R.: The effect of choice complexity on perception of time spent choosing: When choice takes longer but feels shorter. Psychology & Marketing 26, 213–228 (2009)
Tang, A., van Vliet, H.: Design Strategy and Software Design Effectiveness. IEEE Software 29, 51–55 (2012)
Gero, J.S., Kannengiesser, U.: The situated function–behaviour–structure framework. Design Studies 25, 373–391 (2004)
Clement, J.: Using bridging analogies and anchoring intuitions to deal with students’ preconceptions in physics. Journal of Research in Science Teaching 30, 1241–1257 (1993)
Dörner, D.: The Logic Of Failure: Recognizing And Avoiding Error In Complex Situations. Basic Books (1996)
Babb, J., Hoda, R., Norbjerg, J.: Embedding Reflection and Learning into Agile Software Development (2014)
Tang, A., Lago, P.: Notes on Design Reasoning Techniques (V1.4). Swinburne University of Technology (2010)
Kahneman, D., Lovallo, D., Sibony, O.: Before you make that big decision. Harvard Business Review 89, 50–60 (2011)
Author information
Authors and Affiliations
Corresponding author
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2015 Springer International Publishing Switzerland
About this paper
Cite this paper
Tang, A., van Vliet, H. (2015). Software Designers Satisfice. In: Weyns, D., Mirandola, R., Crnkovic, I. (eds) Software Architecture. ECSA 2015. Lecture Notes in Computer Science(), vol 9278. Springer, Cham. https://doi.org/10.1007/978-3-319-23727-5_9
Download citation
DOI: https://doi.org/10.1007/978-3-319-23727-5_9
Published:
Publisher Name: Springer, Cham
Print ISBN: 978-3-319-23726-8
Online ISBN: 978-3-319-23727-5
eBook Packages: Computer ScienceComputer Science (R0)