Modern software engineering involves both human and technical aspects, the importance of which is widely accepted by practitioners and researchers alike. At a community level, software engineering researchers may be expected to choose a balance of research strategies that capture both social and technical characteristics of software development. In this paper, we consider if the research strategies we use do in fact provide this balance. We first developed a research strategy framework to help distinguish research strategies that directly study human and social aspects, from strategies that rely on data such as trace, archival or simulated data, and those that may focus more on technical or system aspects. We utilized this framework to categorize the research strategies used by 253 technical track papers from the International Conference on Software Engineering (ICSE). Using a design science lens, we further identified the types of research contributions provided in these papers---either descriptive knowledge, or the design and evaluation of technical solutions. We mapped the contribution types to the research strategies identified. We found that, at the community level, the papers we analyzed strongly favour data strategies over strategies that directly study human and social aspects, and most research contributions consist of the design or evaluation of technical solutions. We conclude by proposing that our community should diversify our use of research strategies so that we may have a deeper understanding of human and social aspects of software development practice, while balancing the design and evaluation of innovations on the technical side.
翻译:现代软件工程涉及人和技术两个方面,其重要性已为实践者和研究人员所广泛接受。在社区一级,软件工程研究人员可以选择兼顾兼顾研究战略,既反映软件开发的社会和技术特点,又反映软件开发的社会和技术特点。在本文件中,我们考虑我们使用的研究战略是否确实提供了这种平衡。我们首先制定了一个研究战略框架,以帮助区分直接研究人类和社会方面的研究战略,有别于依靠诸如追踪、档案或模拟数据等数据的战略,以及可能更加注重技术或系统方面的战略。我们利用这个框架对国际软件工程会议253份技术轨道文件所使用的研究战略进行分类。我们从设计科学角度进一步确定了这些文件中提供的研究贡献的种类,要么是描述性知识,要么是技术解决办法的设计和评价。我们绘制了对所确定的研究战略的贡献类型。我们发现,在社区一级,我们分析的文件强烈赞成数据战略,而不是直接研究人类和社会方面的战略,大多数研究贡献包括技术解决办法的设计或评价。我们的结论是,我们社区在利用技术革新的多种社会做法的同时,应该使技术革新方法的使用更加多样化,从而使我们对技术革新的设计战略的使用更加多样化。