Abstract
Architects always make decisions in some context. That context shifts and changes dynamically. Different decision-making strategies are appropriate in different contexts. Architecture decisions are at times made under conditions of time pressure, high stakes, uncertainty, and with too little information. At other times, decision-makers have sufficient time to reflect on the decision and consider alternatives. Understanding context is critical to choosing appropriate approaches to architecture decision making. Naturalistic Decision Making (NDM) explains how people make decisions under real-world conditions. This paper investigates NDM in software architecture and studies architecture decisions in their environment and decision-making context. The research approach includes a case study of large technology organizations consisting of a survey, multiple focus groups, and participant observation. Previous studies that touch on NDM in software architecture have mainly focused on decision-making processes or tools or developing decision models. This paper provides three contributions. First, we build on previous studies by other researchers to produce an in-depth exploration of NDM in the context of software architecture. We focus on Recognition-Primed Decision (RPD) making as an implementation of NDM. Second, we present an examination of the decisions made by experienced architects under conditions that can be considered naturalistic. Third, we provide examples and recommendations that help software architects determine when an NDM approach is appropriate for their context.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
References
Dasanayake, S., Markkula, J., Aaramaa, S., Oivo, M.: Software architecture decision-making practices and challenges. In: 24th Australasian Software Engineering Conference, pp. 88–97 (2015)
Rekha, V.S., Muccini, H.: Suitability of software architecture decision making methods for group decisions. In: Avgeriou, P., Zdun, U. (eds.) ECSA 2014. LNCS, vol. 8627, pp. 17–32. Springer, Cham (2014). https://doi.org/10.1007/978-3-319-09970-5_2
Zalewski, A., Kijas, S.: Beyond ATAM: early architecture evaluation method for large-scale distributed systems. J. Syst. Softw. 86, 683–697 (2013)
Cervantes, H., Kazman, R.: Designing Software Architectures: A practical Approach. Addison-Wesley, Boston (2016)
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)
Klein, G.: Reflections on applications of naturalistic decision making. J. Occup. Organ. Psychol. 88, 382–386 (2015)
Klein, G.A.: Sources of Power. MIT Press, Cambridge (2017)
Klein, G.: A naturalistic decision making perspective on studying intuitive decision making. J. Appl. Res. Mem. Cogn. 4, 164–168 (2015)
Gore, J., Banks, A., Millward, L., Kyriakidou, O.: Naturalistic decision making and organizations: reviewing pragmatic science. Organ. Stud. 27, 925–942 (2006)
Klein, G.A.: Streetlights and Shadows: Searching for the keys to Adaptive Decision Making. MIT Press, Cambridge (2009)
Klein, G.: Naturalistic decision making. Hum. Factors 50, 456–460 (2008)
Klein, G.A., Calderwood, R.: Decision models: some lessons from the field. IEEE Trans. Syst. Man Cybern. 21, 1018–1026 (1991)
Klein, G.: Naturalistic decision making. In: Human Systems IAC XI, pp. 16–19 (1991)
Simon, H.A.: What is an explanation of behavior? Psychol. Sci. 3, 150–161 (1992)
Kahneman, D., Klein, G.: Conditions for intuitive expertise: a failure to disagree. Am. Psychol. 64, 515 (2009)
Flin, R., Salas, E., Straub, M., Martin, L.: Decision Making Under Stress: Emerging Themes and Applications. Routledge, New York (2016)
Klein, G.: A Recognition-primed decision (RPD) model of rapid decision making. In: Klein, G.A., Orasanu, J., Calderwood, R., Zsambok, C.E. (eds.) Decision Making in Action: Models and Methods, pp. 138–147. Ablex Publishing, Norwood (1993)
Kahneman, D., Tversky, A.: Choices, values, and frames. Am. Psychol. 39, 341–350 (1984)
Simon, H.A.: Invariants of human behavior. Annu. Rev. Psychol. 41, 1–19 (1990)
Sherman, R.O.: Wicked problems. Nurse Leader 14, 380–381 (2016)
Kahneman, D., Egan, P.: Thinking, Fast and Slow (2011)
Schraagen, J.M.: Naturalistic decision making. In: Ball, L.J., Thompson, V.A. (eds.) International Handbook of Thinking and Reasoning, pp. 487–501 (2017)
Klein, G., Calderwood, R., Clinton-Cirocco, A.: Rapid decision making on the fire ground: the original study plus a postscript. J. Cogn. Eng. Decis. Making 4, 186–209 (2010)
Falessi, D., Cantone, G., Kazman, R., Kruchten, P.: Decision-making techniques for software architecture design. ACM Comput. Surv. 43, 1–28 (2011)
Miesbauer, C., Weinreich, R.: Classification of design decisions – an expert survey in practice. In: Drira, K. (ed.) ECSA 2013. LNCS, vol. 7957, pp. 130–145. Springer, Heidelberg (2013). https://doi.org/10.1007/978-3-642-39031-9_12
Tofan, D., Galster, M., Avgeriou, P.: Difficulty of architectural decisions – a survey with professional architects. In: Drira, K. (ed.) ECSA 2013. LNCS, vol. 7957, pp. 192–199. Springer, Heidelberg (2013). https://doi.org/10.1007/978-3-642-39031-9_17
Power, K., Wirfs-Brock, R.: Understanding architecture decisions in context. In: Cuesta, Carlos E., Garlan, D., Pérez, J. (eds.) ECSA 2018. LNCS, vol. 11048, pp. 284–299. Springer, Cham (2018). https://doi.org/10.1007/978-3-030-00761-4_19
Vliet, H.V., Tang, A.: Decision making in software architecture. JSS 117, 638–644 (2016)
Simon, H.A.: The structure of ill structured problems. AI 4, 181–201 (1973)
Klein, G.: Naturalistic Decision Making: Implications for Design. Klein Associates Inc., Fairborn (1993)
Manjunath, A., Bhat, M., Shumaiev, K., Biesdorf, A., Matthes, F.: Decision making and cognitive biases in designing software architectures. In: 2018 IEEE International Conference on Software Architecture Companion (ICSA-C), Seattle, WA, USA, pp. 52–55 (2018)
Bohórquez Arévalo, L.E., Espinosa, A.: Theoretical approaches to managing complexity in organizations: a comparative analysis. Estudios Gerenciales 31, 20–29 (2015)
Runeson, P., Höst, M., Rainer, A., Regnell, B.: Case Study Research in Software Engineering: Guidelines and Examples. Wiley, Hoboken (2012)
Kohn, L.T.: Methods in Case Study Analysis. Technical Publication, Center for Studying Health System Change (1997)
Yin, R.K.: Case Study Research : Design and Methods, 5th edn. SAGE, London (2014)
Klein, G., Ross, K.G., Moon, B.M., Klein, D.E., Hoffman, R.R., Hollnagel, E.: Macrocognition. IEEE Intell. Syst. 18, 81–85 (2003)
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2019 Springer Nature Switzerland AG
About this paper
Cite this paper
Power, K., Wirfs-Brock, R. (2019). An Exploratory Study of Naturalistic Decision Making in Complex Software Architecture Environments. In: Bures, T., Duchien, L., Inverardi, P. (eds) Software Architecture. ECSA 2019. Lecture Notes in Computer Science(), vol 11681. Springer, Cham. https://doi.org/10.1007/978-3-030-29983-5_4
Download citation
DOI: https://doi.org/10.1007/978-3-030-29983-5_4
Published:
Publisher Name: Springer, Cham
Print ISBN: 978-3-030-29982-8
Online ISBN: 978-3-030-29983-5
eBook Packages: Computer ScienceComputer Science (R0)