Researchers are increasingly recognizing the importance of human aspects in software development. Since qualitative methods are used to explore human behavior in-depth, we believe that studies using such methods will become more common. Existing qualitative software engineering guidelines do not cover the full breadth of qualitative methods and the knowledge on how to use them like in social sciences. The purpose of this study was to extend the software engineering community's current body of knowledge regarding available qualitative methods and their quality assurance frameworks, and to provide recommendations and guidelines for their use. With the support of an epistemological argument and a survey of the literature, we suggest that future research would benefit from (1) utilizing a broader set of research methods, (2) more strongly emphasizing reflexivity, and (3) employing qualitative guidelines and quality criteria. We present an overview of three qualitative methods commonly used in social sciences but rarely seen in software engineering research, namely interpretative phenomenological analysis, narrative analysis, and discourse analysis. Furthermore, we discuss the meaning of reflexivity in relation to the software engineering context and suggest means of fostering it. Our paper will help software engineering researchers better select and then guide the application of a broader set of qualitative research methods.
翻译:研究者日益认识到软件开发中人的因素的重要性。由于定性方法可用于深入探究人类行为,我们认为采用此类方法的研究将日益普遍。现有的软件工程定性研究指南未能涵盖定性方法的全部范围,以及如社会科学中应用这些方法的知识。本研究旨在拓展软件工程领域关于现有定性方法及其质量保障框架的知识体系,并为这些方法的应用提供建议和指南。基于认识论论证和文献综述,我们提出未来研究将受益于:(1) 采用更广泛的研究方法,(2) 更强调反思性,以及(3) 应用定性指南和质量标准。我们概述了三种社会科学常用但软件工程研究中罕见的定性方法,即解释现象学分析、叙事分析和话语分析。此外,我们讨论了反思性在软件工程语境中的含义,并提出了培养反思性的建议。本文有助于软件工程研究者更好地选择并指导更广泛定性研究方法的运用。