Knowledge Transfer between Senior and Novice Software Engineers: A Qualitative Analysis.
Davi Viana, Tayana Uchôa Conte, Cleidson R. B. de Souza · Software Engineering and Knowledge Engineering · 2014
Software development is a knowledge intensive activity. Software engineers need to gather domain knowledge to be able to successfully deliver a software system. In particular, novice software engineers need to acquire enough knowledge to perform their tasks. This means that knowledge transfer to novice software engineers must be quickly and effectively performed to facilitate the onboarding process. One way to understand the knowledge transfer process is by analyzing the software development context and the involved team members. Such analysis enables the development team to determine key aspects that can influence knowledge acquisition by novice software engineers. This can also allow the identification of possible strategies that minimize the effort employed by the team members during this process. This paper presents a qualitative study about knowledge transfer in a small software organization from the point of view of software practitioners. Our results suggest that software developers have several knowledge sources and novice engineers learn when they observe organizational procedures and when the tasks have detailed guidelines. In addition, we identified that developers carry out most steps of the knowledge creation process defined by Nonaka and Takeuchi. We believe our results can support other software organizations to improve the sharing of knowledge and learning practices. Keywords-component: Onboarding, Knowledge Transfer, novice software engineers, qualitative analysis.