Building software systems often requires knowledge and skills beyond what developers already possess. In such cases, developers have to leverage different sources of information to seek help. A growing number of researchers and practitioners have started investigating what programming-related information developers seek during software development. However, being a high level and a type of the most important development-related information, architectural information search activity is seldom explored. To fill this gap, we conducted an industrial survey completed by 103 participants to understand how developers search for architectural information to solve their architectural problems in development. Our main findings are: (1) searching for architectural information to learn about the pros and cons of certain architectural solutions (e.g., patterns, tactics) and to make an architecture decision among multiple choices are the most frequent purposes or tasks; (2) developers find difficulties mostly in getting relevant architectural information for addressing quality concerns and making design decisions among multiple choices when seeking architectural information; (3) taking too much time to go through architectural information retrieved from various sources and feeling overwhelmed due to the dispersion and abundance of architectural information in various sources are the top two major challenges developers face when searching for architectural information. Our findings (1) provide researchers with future directions, such as the design and development of approaches and tools for searching architectural information from multiple sources, and (2) can be used to provide guidelines for practitioners to refer to when seeking architectural information and providing architectural information that could be considered useful.
翻译:建立软件系统往往需要开发者所拥有的知识和技能。在这种情况下,开发者必须利用不同的信息来源寻求帮助。越来越多的研究人员和从业人员已开始调查软件开发过程中与编程有关的信息开发者寻求什么信息。然而,作为一个高层次和最重要的与发展相关的信息类型,很少探索建筑信息搜索活动。为了填补这一空白,我们进行了一次由103名参与者完成的工业调查,以了解开发者如何寻找建筑信息以解决其发展中的建筑问题。我们的主要结论是:(1) 寻找建筑信息,以了解某些建筑解决方案(如模式、策略)的利弊,并在多种选择中作出建筑决定,这是最常见的目的或任务;(2) 开发者发现,在获取相关的建筑信息以解决质量问题和在寻求建筑信息时,很难在多个选择中做出设计决定;(3) 花太多时间去查阅从各种来源检索的建筑信息,并且由于各种来源的建筑信息的分散和丰富而感到负担过重。我们的主要结论是:(1) 我们的调查结果为研究人员提供了未来的方向,例如设计和开发方法以及搜索建筑信息的工具能够从建筑信息中找到多种来源。