一句话:基于335名开发者的混合方法调查,提出首个软件开发专长概念理论,揭示专长形成与经验的关系。
软件开发涵盖实现功能、分析需求与修复缺陷等任务,成为专家需要特定技能、知识与经验。已有研究多关注专长的个别方面,缺乏综合理论。本文结合335名软件开发者的混合方法调查数据以及专长与专家表现文献,提出首个软件开发专长概念理论。该理论刻画了软件开发专长的重要属性,以及促进或阻碍其形成的因素,并讨论开发者表现可能随时间下降。定量结果表明,开发者的专长自评具有情境依赖性,且经验并不必然与专长相关。
Software development includes diverse tasks such as implementing new features, analyzing requirements, and fixing bugs. Being an expert in those tasks requires a certain set of skills, knowledge, and experience. Several studies investigated individual aspects of software development expertise, but what is missing is a comprehensive theory. We present a first conceptual theory of software development expertise that is grounded in data from a mixed-methods survey with 335 software developers and in literature on expertise and expert performance. Our theory currently focuses on programming, but already provides valuable insights for researchers, developers, and employers. The theory describes important properties of software development expertise and which factors foster or hinder its formation, including how developers' performance may decline over time. Moreover, our quantitative results show that developers' expertise self-assessments are context-dependent and that experience is not necessarily related to expertise.