Knowledge Transfer between Senior and Novice Software Engineers: A Qualitative Analysis

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.

[1]  Olly Gotel,et al.  From Student to Software Engineer in the Indian IT Industry: A Survey of Training , 2010, 2010 23rd IEEE Conference on Software Engineering Education and Training.

[2]  Janice Singer,et al.  Guide to Advanced Empirical Software Engineering , 2007 .

[3]  Kurt Schneider,et al.  Experience and Knowledge Management in Software Engineering , 2009 .

[4]  Vijayan Sugumaran,et al.  A Web-Based Learning System for Software Test Professionals , 2011, IEEE Transactions on Education.

[5]  Farhad Daneshgar,et al.  Investigating Knowledge Management practices in software development organisations - An Australian experience , 2008, Inf. Softw. Technol..

[6]  Ian Newman Observations on relationships between initial professional education for software engineering and systems engineering-a case study , 2001, Proceedings 14th Conference on Software Engineering Education and Training. 'In search of a software engineering profession' (Cat. No.PR01059).

[7]  Orit Hazzan,et al.  Knowledge management in practice: The case of agile software development , 2009, 2009 ICSE Workshop on Cooperative and Human Aspects on Software Engineering.

[8]  Maria Isabel Sánchez Segura,et al.  Knowledge repository to improve agile development processes learning , 2010, IET Softw..

[9]  Sarah B. Lee,et al.  A Process-Based Approach to Improving Knowledge Sharing in Software Engineering , 2012, SEKE.

[10]  I. Nonaka,et al.  SECI, Ba and Leadership: a Unified Model of Dynamic Knowledge Creation , 2000 .

[11]  野中 郁次郎,et al.  The knowledge-creating company , 2008 .

[12]  Victor R. Basili,et al.  A Prototype Experience Management System for a Software Consulting Organization , 2001, SEKE.

[13]  S. Dhawan,et al.  Study of the process of organisational learning in software firms in India , 2003 .

[14]  Nai-Chang Cheng,et al.  Programmer perceptions of knowledge-sharing behavior under social cognitive theory , 2010, Expert Syst. Appl..

[15]  James Noble,et al.  Using grounded theory to study the human aspects of software engineering , 2010, HAoSE '10.

[16]  N. Hoffart Basics of Qualitative Research: Techniques and Procedures for Developing Grounded Theory , 2000 .

[17]  Darren Dalcher,et al.  Knowledge Flows in Software Projects : An Empirical Investigation , 2010 .

[18]  Torgeir Dingsøyr,et al.  Knowledge management in software engineering: A systematic review of studied concepts, findings and research methods used , 2008, Inf. Softw. Technol..

[19]  Davi Viana,et al.  A qualitative study about the life cycle of lessons learned , 2013, 2013 6th International Workshop on Cooperative and Human Aspects of Software Engineering (CHASE).

[20]  K. D. Joshi,et al.  Knowledge transfer among face-to-face information systems development team members: examining the role of knowledge, source, and relational context , 2004, 37th Annual Hawaii International Conference on System Sciences, 2004. Proceedings of the.

[21]  Grigori Melnik,et al.  Knowledge sharing: agile methods vs. Tayloristic methods , 2003, WET ICE 2003. Proceedings. Twelfth IEEE International Workshops on Enabling Technologies: Infrastructure for Collaborative Enterprises, 2003..

[22]  Andrew Begel,et al.  Novice software developers, all over again , 2008, ICER '08.