Onboarding process in Agile software development team: An empirical study
In most modern software development environments, the development work is done in teams, often using an Agile development approach. It is not uncommon for new members to join an existing team, for example to replace a team member who has left or to add extra resources to the team. Initially this team member may be unproductive compared to existing team members as they develop an understanding of the team norms and the way of working, as well as learning new tools and technical skills. Ideally this new team member will get integrated into the team and be productive quickly. The process of getting up to speed and becoming a productive team member is known as “onboarding”. If the onboarding of the newcomer takes a long time, this can negatively affect the productivity of the team. In practice, there is a wide diversity of approaches to the onboarding process with a range of possible onboarding practices adopted in Agile software development teams. It would be useful for practitioners to have some guidance on which onboarding activities should be undertaken to effectively achieve the desired onboarding goals in an Agile software development context. This thesis investigates this question by firstly developing a conceptual framework of the goals of onboarding and the characteristics of an onboarded team member, and then identifying which onboarding activities are common in Agile software development teams. A mapping of the activities’ contributions to each onboarding goal is then proposed. This can be used by teams to support the decision of which onboarding practices to adopt, given their desired onboarding goals. The approach taken to develop the onboarding activity mapping to goals is based on a structured interview approach, using Repertory Grids as instruments to elicit the mapping. The onboarding goals (the repertory grid constructs) were identified from a synthesis of related literature, and the onboarding activities (the repertory grid elements) were elicited from an analysis of semi-structured interviews of 13 participants from 8 organizations. These same 13 members of Agile teams then participated in the repertory grid where they indicated the level of influence they perceived each onboarding activity to have on each onboarding goal. The grids were then aggregated and the patterns in relationships identified. The results show that there are some practices, for example the assigning of a proactive mentor to a new team member, that achieves a broad range of onboarding goals. It also provides guidance for the design of an onboarding process in Agile software development teams, for a given set of goal priorities. This thesis contributes a structured conceptualization of onboarding goals, providing language and concepts to describe and explain the purpose of onboarding in detail. The thesis also provides a list of common onboarding practices that could form the basis of a taxonomy of such activities. In addition, the results of the aggregation of the Repertory Grids provides a guideline for designing an onboarding process, based on empirical data.