This report was originally prepared and submitted as my 1B work report, the first of four work reports that the Co-operative Education Program requires that I successfully complete as part of my BCS/BBA Co-op degree requirements.
Onboarding is an increasingly critical activity in software development. For BDO Canada’s Digital, Data, and Cyber team, it is particularly relevant because of the several co-op students who join each semester. Software onboarding is necessary because of the technical nature of software projects, and the impacts on team productivity. This report defines and explores the challenge, its solutions, and their impacts.
Onboarding usually takes about 1-2 months, depending on the co-op student’s level of experience. This report categorizes the goals of onboarding into five categories: company context, job responsibility, standard of work, agile process, and project knowledge. In addition to these goals, co-op students often face limited documentation, no big picture perspective, and limited opportunities to gain social comfort on the team.
The most common onboarding techniques include mentoring, asking for help, online resources, socials, training, documentation, and code repositories. Students, based on their experience level, may also expect other techniques. BDO’s co-ops preferred socials and code repositories. They also found documentation and socials to be the most effective strategies. While students and employers feel different strategies are best, data shows that each strategy has its strengths in at least some goals. For example, mentoring and training are highly successful for all goals. Each strategy also has some implications, including cost, time, or prior training.
Collectively, these perspectives aid decision-makers in developing effective software onboarding procedures and strategies for co-op students.
BDO Canada is a professional services firm, with 4500 staff members who provide services in three major areas: Accounting and Assurance, Tax, and Advisory (BDO Canada LLP., n.d.). The Digital, Data, and Cyber (DD&C) team provides technology-centric solutions as part of the Consulting sub-service line within Advisory. As is the nature of Consulting, DD&C’s staff regularly switch between projects every few months. As well, several co-op students join and leave the team every few months. Their projects are heavily technical, and therefore necessitate a significant understanding of a client’s requirements (Matturro et al., 2017). When a new co-op or staff member joins a project, it will usually lose momentum until the new team member catches up and builds understanding (Yang, 2017). According to Liu (2019), this creates a significant drop in efficiency. To improve efficiency, BDO needs a well-defined onboarding procedure for these technical projects (Rastogi et al., 2017).
Most of DD&C’s projects follow the Agile Methodology, which is industry standard (Yang, 2017). As a result, this report will focus solely on these challenges as associated with onboarding co-op students onto Agile projects.
This report will explore this problem space in depth and justify its significance to organizations. To set clear expectations, it will identify and rank the goals of software onboarding and determine its ideal timeline. Then, it will focus on common challenges and solutions in software onboarding, and identify which solutions are most effective for tackling each challenge and goal. It will also consider the limitations of each solution and the limitations facing decision-makers. The purpose of this report is to aid in developing a robust onboarding procedure by identifying the gaps between employer and student expectations, and between the anticipated and actual success of onboarding techniques, using existing research and novel interviews.
2.1 Importance of Onboarding
Before developing an onboarding procedure, a technical organization needs to understand its significance. Simply put, the quality of onboarding can make a significant difference in the experience and productivity of staff. According to Buchan et al. (2019), if onboarding is optimal, this can be a huge benefit to organizational capacity, while poor onboarding can cause anxiety and reduced productivity. Inefficient onboarding is one of the most problematic parts of software development and affects the unity and performance of the team, motivation of staff, and quality of the final product (Yang, 2017). On the other hand, efficient onboarding can allow a team member to contribute quicker, make a stronger and more productive team, and increases job satisfaction (Yang, 2017), therefore affecting the member’s engagement and retention (Liu, 2019).
Co-op students at BDO identified onboarding as critical as well. One shared that it’s “the most important thing in determining how you go about your work” (Y. Debebe, personal communication, June 18, 2020) and another shared that it is very important, especially for co-op students, who join companies regularly but only remain for a few months (C. Chung, personal communication, June 18, 2020).
Since turnover occurs frequently in this industry, the importance of effective software onboarding is amplified (Yang, 2017). To compound this, the challenge will only grow as the software industry grows, and the demand for talent increases (Liu, 2019). Therefore, developing a strong onboarding procedure is critical to an organization’s long-term success.
2.2 Goals of Software Onboarding
To be able to measure the success of an onboarding procedure and target its efforts, an organization needs a clear sense of what it is trying to achieve with this process. Buchan et al. (2019) identified five categories of goals in software onboarding: company context, job responsibility, standard of work, agile process, and project knowledge. The following table (Table 1) details each goal. Understanding these five goals is the first step in developing an effective onboarding procedure.
Breakdown of the Five Software Onboarding Goals
|Company Context||Understand and fit in with company culture|
|Understand and fit in with the team norms|
|Job Responsibility||Understand and meet others’ expectations of one’s own role’s responsibilities|
|Understand the responsibilities, expertise and authority of other team members|
|Understand what work to do and when|
|Standard of Work||Understand how to code and test to the team’s expectations|
|Understand and meet the team’s standards of work quality|
|Development Process||Understand and adopt the Agile mindset|
|Know how to use Agile artefacts and techniques used by the rest of the team|
|Project Knowledge||Understand the short, medium- and long-term work structures, aims and implications|
|Understand the product/project domain knowledge and terminology|
2.3 Ideal Onboarding Timeline
As an organization develops its onboarding procedures, it is important to have a clear measure of when onboarding ends. This report and underlying research use task capacity as the best measure, which according to Buchan et al. (2019), is the expected outcome of onboarding. Knowing which factors affect this timeline is also important. Critically, onboarding times are dependent on the abilities of the co-op, the efficacy of the onboarding procedure, and the amount of support given (Yang, 2017). Experienced developers usually feel confident in their ability to complete tasks within one month, whereas inexperienced developers take around two months to be able to complete normal tasks (Buchan et al., 2019). This matches student expectations; Liu (2019) finds that most think onboarding should take 1-2 months. Even after two months, co-ops may feel comfortable completing tasks, but may not feel like they are fully a part of the team culturally (Yang, 2017). Knowing and understanding how this timeline varies is a critical step in developing an organization’s onboarding procedures.
2.4 Common Onboarding Challenges Faced by Co-op students
When developing and refining onboarding processes, it is important to address the areas of common concern for co-op students. The first common area of concern is little to no documentation of the existing code base (Matturro et al., 2017). This was also noticed at BDO where co-op students mentioned the limited wiki pages for projects, and no other project documentation to reference (C. Chung, personal communication, June 18, 2020; Y. Debebe, personal communication, June 18, 2020).
The next common area of concern is co-ops not having an overall view of the system and the business problems it solves (Matturro et al., 2017). Once again, co-ops at BDO say that they lack an understanding of the big picture implications of the project (C. Chung, personal communication, June 18, 2020; Y. Debebe, personal communication, June 18, 2020).
Finally, students found limited opportunities to socialize, meet the team, get familiar with BDO, and feel socially comfortable (C. Chung, personal communication, June 18, 2020; Y. Debebe, personal communication, June 18, 2020). This lack of comfort affects their ability to work and interact with their team members, limiting productivity. One co-op summarized this impactfully by saying that “you need to foster a culture where people feel comfortable interacting with each other, if you don’t you’ve failed at onboarding a team, you’ve onboarded individuals” (Y. Debebe, personal communication, June 18, 2020). These three areas of concern should be critical components of a successful onboarding procedure.
2.5 Common and Expected Onboarding Techniques
To address these goals and challenges, employers use many onboarding techniques. Common software onboarding techniques are mentoring, asking for help, online resources, socials, training, documentation, and code repositories. The following table (Table 2) provides context for each technique.
Description of Common Software Onboarding Techniques
|Mentoring||Assigning another member of the team as a coach and direct point of contact for regular and informal interactions|
|Asking for help||Encouraging students to ask other team members for help as needed|
|Online resources||The practice of using online knowledge sources, such as Stack Overflow, to aid in building understanding during onboarding|
|Socials||Opportunities for team members to interact informally through planned social activities|
|Training||Training sessions or courses, which addresses specific knowledge gaps directly|
|Documentation||Written, technical documents capturing critical knowledge about the project or it is processes|
|Code repositories||Dedicating time and giving access to the co-op student to read and understand the existing code base|
While these may be the most common, they differ from the expected activities. Notably, Liu (2019) found that most students expect an intro and explanation about the organization. This aids in the second challenge identified by this report, by building a co-op’s understanding of the overall goals and needs of the business. New team members also had different preferences based on their level of experience. Inexperienced co-op students preferred the common strategies, while those with some experience also benefited from getting simpler tasks initially as well as from stand-up meetings (short meetings to share team updates and progress) (Liu, 2019). Within BDO, co-ops identified a preference and recommended increasing attention on the techniques of code repositories and socials (C. Chung, personal communication, June 18, 2020; Y. Debebe, personal communication, June 18, 2020). Understanding the common and preferred onboarding strategies can be helpful in developing an onboarding procedure.
2.6 Impact on Goals
Measuring the impact of these solutions on the goals defined is critical in making a well-founded onboarding procedure. Firstly, employers and students had different perspectives on what they felt were the most effective techniques. Both parties felt that asking for help, online resources, and training were advantageous (Liu, 2019). There were also some differences. Students favoured documentation and code repositories, whereas employers favoured mentoring and socializing (Liu, 2019). This difference can impact where employers choose to focus their efforts.
According to Yang (2017), some strategies are more worthwhile for certain goals. Mentoring and training are highly effective for all five goals. Internal documentation contributes towards the job responsibility, standard of work, and project knowledge goals. Despite both employers and students feeling that online resources are effective, they are only slightly helpful towards the outlined goals. Asking for help was “very highly effective” in building an understanding of company context, and “highly effective” in all other categories except standard of work. Socials were also advantageous for the company culture goal. Finally, code repositories were helpful for standard of work, and assigning simple tasks helped with the standard of work and project knowledge goals.
BDO co-op students reiterated the impact of socials and documentation. They shared that socials have a long-lasting impact on team productivity and culture. Socials foster easier communication and more comfort on the team, making it easier to ask for help, which is good for long-term productivity. Also, being more connected with a team makes one more collaborative, which is better for the company and the product. Documentation that helps to answer questions is good for productivity as well. With sufficient documentation, co-ops would not need to constantly ask someone all their questions, since good documentation would retain common questions and answers.
Choosing strategies that are empirically more impactful towards an organization’s goals is the key step in developing a strong onboarding procedure.
While decision-makers would like to implement all successful strategies, they should be aware of the implications of each one. Buchan et al. (2019) identified many such implications. For example, socials require decision-makers to budget time and money and require the co-op student to attend and participate. Training also requires time and money to be set aside. With documentation and code repositories, interns may need training on how to use and gain value from these systems, especially if they are inexperienced. These resources should be accessible often and need to be up to date and accurate. Finally, interns who are part of a mentorship program need training to expect and act on feedback. Additionally, the time and effort of those providing the feedback needs acknowledgement, and the expectation of their availability to the co-op should be clearly defined. Decision-makers should be aware of these limitations when selecting onboarding strategies.
Onboarding is an increasingly critical activity in software development. This is due to its significant impact on productivity and job satisfaction. It should take about 1-2 months and aims to address five main goals: company context, job responsibility, standard of work, agile process, and project knowledge. Also, students often face limited documentation, no big picture perspective, and limited opportunities to gain social comfort on the team. Employers try to address these goals and mitigate these challenges using a variety of solutions.
Many solutions exist, but few are fully effective on their own. Some of the most common strategies, like mentoring and training, are highly effective, while other common ones, like online resources, are not worthwhile. There is also a discrepancy between which strategies students feel are most effective compared to employers. This discrepancy can sway the choice of strategy away from the empirically ideal solution.
Each technique also has some implications which decision-makers must consider. Most commonly, these strategies will require an investment in the form of time, money, or training. To ensure that their chosen strategies are effective, employers need to be willing to make this commitment.
Employers should take onboarding onto software projects very seriously given its critical importance. They should be aware of the amount of time it requires and prioritize their goals. Employers should consider the differences between their perceptions of effective onboarding strategies, and those of the students they onboard. Employers need to develop an onboarding strategy that leverages the most beneficial and preferred techniques, so that co-op students are empowered to contribute quickly and meaningfully. They need to develop this with consideration of their priorities and the various limitations. These limitations can be minimized by investing more in the onboarding strategies that are known to be effective for an organizations’ identified priorities. Developing a strategy in this way helps to ensure its success.
For BDO, this means emphasizing internal project documentation and socials to address the most pressing shortcomings addressed by their co-op students. BDO should continue its mentorship program, as it is effective in addressing all five goals of software onboarding. They should regularly engage their co-op students and collect feedback on their onboarding process to ensure it stays up to date and continues to meet the changing workforce and workplace.
Buchan, J., MacDonell, S. G., & Yang, J. (2019). Effective team onboarding in Agile software development: Techniques and goals. 2019 ACM/IEEE International Symposium on Empirical Software Engineering and Measurement (ESEM), 1–11. https://doi.org/10.1109/ESEM.2019.8870189
Facts and figures. (n.d.). BDO Canada; BDO Canada LLP. Retrieved June 24, 2020, from https://www.bdo.ca/en-ca/about/why-bdo/Facts-Figures
Liu, J. (2019). Students’ expectations of team onboarding support in agile software development [Thesis, Auckland University of Technology]. https://openrepository.aut.ac.nz/handle/10292/13008
Matturro, G., Barrella, K., & Benitez, P. (2017). Difficulties of newcomers joining software projects already in execution. 2017 International Conference on Computational Science and Computational Intelligence (CSCI), 993–998. https://doi.org/10.1109/CSCI.2017.171
Rastogi, A., Thummalapenta, S., Zimmermann, T., Nagappan, N., & Czerwonka, J. (2017). Ramp-up Journey of New Hires: Do strategic practices of software companies influence productivity? Proceedings of the 10th Innovations in Software Engineering Conference on – ISEC ’17, 107–111. https://doi.org/10.1145/3021460.3021471
Yang, J. (2017). Onboarding process in Agile software development team: An empirical study [Thesis, Auckland University of Technology]. https://openrepository.aut.ac.nz/handle/10292/11450