Uncertainty expressions in software architecture group decision making: explorative study

Software architecture can be seen as a set of architectural design decisions (ADDs) that shape the resulting software solution. To make an ADD, stakeholders follow some organization- or team-specific group decisions making process. In this study, we aimed to advance the understanding of how ADDs are made by observing and learning how architects handle uncertainties in real-life settings. We employed a multiple-case studies research method. First, we examined the discussions in task management systems of three software engineering projects. Second, we conducted interviews with the projects' software architects to investigate (a) uncertainties expressed in the observed discussions and (b) how those uncertainties are comprehended by their respective authors or readers. We systematically analyzed the interviews and derived different types of uncertainties as well as proposed a hypothesis that should be verified in the future work. Results of our qualitative study show how uncertainty is used and perceived by the software architects in the group decision-making process.

[1]  Bernd Brügge,et al.  How do developers discuss rationale? , 2018, 2018 IEEE 25th International Conference on Software Analysis, Evolution and Reengineering (SANER).

[2]  Carlo Ghezzi,et al.  Managing non-functional uncertainty via model-driven adaptivity , 2013, 2013 35th International Conference on Software Engineering (ICSE).

[3]  Nenad Medvidovic,et al.  Recovering Architectural Design Decisions , 2018, 2018 IEEE International Conference on Software Architecture (ICSA).

[4]  Henry Muccini,et al.  Group decision-making in software architecture: A study on industrial practices , 2018, Inf. Softw. Technol..

[5]  Uwe Hohenstein,et al.  Automatic Extraction of Design Decisions from Issue Management Systems: A Machine Learning Based Approach , 2017, ECSA.

[6]  N. Hoffart Basics of Qualitative Research: Techniques and Procedures for Developing Grounded Theory , 2000 .

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

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

[9]  Rick Kazman,et al.  The Architect's Role in Community Shepherding , 2016, IEEE Software.

[10]  K. Hyland,et al.  Hedging in academic writing and EAF textbooks , 1994 .

[11]  A. V. D. Ven,et al.  The Effectiveness of Nominal, Delphi, and Interacting Group Decision Making Processes , 1974 .

[12]  János Csirik,et al.  The CoNLL-2010 Shared Task: Learning to Detect Hedges and their Scope in Natural Language Text , 2010, CoNLL Shared Task.

[13]  Paris Avgeriou,et al.  Difficulty of Architectural Decisions - A Survey with Professional Architects , 2013, ECSA.

[14]  Jan Bosch,et al.  Software Architecture as a Set of Architectural Design Decisions , 2005, 5th Working IEEE/IFIP Conference on Software Architecture (WICSA'05).

[15]  Yangjoo Park,et al.  Expressing Uncertainty in Computer-Mediated Discourse: Language as a Marker of Intellectual Work , 2012 .

[16]  Earl T. Barr,et al.  Uncertainty, risk, and information value in software requirements and architecture , 2014, ICSE.

[17]  Ted Briscoe,et al.  Weakly Supervised Learning for Hedge Classification in Scientific Literature , 2007, ACL.

[18]  Padmini Srinivasan,et al.  The Language of Bioscience: Facts, Speculations, and Statements In Between , 2004, HLT-NAACL 2004.

[19]  Henry Muccini,et al.  A Study on Group Decision-Making in Software Architecture , 2014, 2014 IEEE/IFIP Conference on Software Architecture.

[20]  Lisl Zach,et al.  Using a Multiple-Case Studies Design to Investigate the Information-Seeking Behavior of Arts Administrators , 2006, Libr. Trends.

[21]  Christoph J. Stettina,et al.  Necessary and neglected?: an empirical study of internal documentation in agile software development teams , 2011, SIGDOC '11.

[22]  Robert J. Winter Cpt Agile Software Development: Principles, Patterns, and Practices , 2014 .

[23]  Heiko Koziolek,et al.  Measuring Architecture Sustainability , 2013, IEEE Software.

[24]  K. Eisenhardt Building theories from case study research , 1989, STUDI ORGANIZZATIVI.

[25]  Nenad Medvidovic,et al.  An Empirical Study of Architectural Decay in Open-Source Software , 2018, 2018 IEEE International Conference on Software Architecture (ICSA).

[26]  Wei Gao,et al.  Detecting Semantic Uncertainty by Learning Hedge Cues in Sentences Using an HMM , 2014, SMIR@SIGIR.

[27]  Iryna Gurevych,et al.  Cross-Genre and Cross-Domain Detection of Semantic Uncertainty , 2012, CL.

[28]  Bashar Nuseibeh,et al.  Speculative requirements: Automatic detection of uncertainty in natural language requirements , 2012, 2012 20th IEEE International Requirements Engineering Conference (RE).

[29]  Heiko Koziolek,et al.  Sustainability evaluation of software architectures: a systematic review , 2011, QoSA-ISARCS '11.

[30]  Felix C. Brodbeck,et al.  Group Decision Making Under Conditions of Distributed Knowledge: The Information Asymmetries Model. , 2007 .

[31]  Peng Liang,et al.  Architectural Assumptions and Their Management in Industry - An Exploratory Study , 2017, ECSA.

[32]  Frank Maurer,et al.  Social Factors Relevant to Capturing Design Decisions , 2007, Second Workshop on Sharing and Reusing Architectural Knowledge - Architecture, Rationale, and Design Intent (SHARK/ADI'07: ICSE Workshops 2007).