Joining a new software development team comes with challenges. Newcomers have to learn a lot of new things about the organisation, the project, the product and the domain, the technical environment, and, last but not not least, the agile approach used by the team.
The authors of this week’s paper undertook in a co-located agile project team at the IT department of a UK university to learn more about how newcomers integrate into agile project teams and how agile practices in particular make that process easier.
The result is an extension of Bauer’s empirically based model for successful onboarding that applies specifically to agile software development project teams. Although the findings in this paper are not necessarily generalisable, they still provide plenty of useful insights into the onboarding of new hires into agile teams.
Onboarding activities play a role in onboarding newcomers to the team.
The recruitment process is formal and standardised for all staff. The process differs for full-time permanent newcomers (who are generally trained professionals) and part-time or fixed-term newcomers (who are often students). Expectations are higher for full-time hires, who also receive an institutional induction. However, all newcomers get a personal welcome from the team lead and are assigned a mentor.
The unit that was observed in this study has a long-term recruitment strategy, which involved hiring students and apprentices (essentially juniors) as part-time employees who would sometimes become full-time permanent staff members upon graduation. This makes it possible to obtain permanent staff who require minimal onboarding.
Moreover, newcomers’ knowledge gaps are already identified during recruitment, so that the team lead can ensure that the newcomer receives appropriate resources and assistance to help them get familiar with agile.
The team lead and project manager are responsible for formal orientation. They have developed several information “packs” over the years, which are shared with newcomers once they have accepted a position at the unit:
A “new staff” pack that describes everything that new employees need to know (especially in the first weeks).
A “how our team works with the client” pack that explains how the team writes user stories, how it communicates with the client, and how the team tests and signs off products. This pack is also sent to clients.
An agile method pack, which basically consists of the Scrum guide.
The project team spends a lot of effort on socialising (e.g. playing games at lunchtime or going to the pub), because they found this helps newcomers and insiders to develop trust and confidence in interacting with each other.
The team uses various communication tools and processes:
An information radiator in the form of a wallboard in the room provides a visual summary of the team’s work and is kept plainly in sight.
Communication tools like Microsoft Teams, Slack, and e-mail help newcomers as they can spend time reading through them to learn the status of the project.
However, none of these tools contain comprehensive information, and therefore always need to be supplemented by conversations if someone wishes to know more about a task or problem.
Many facets of agile facilitate support for newcomers, such as pair programming, agile ceremonies (the daily scrum and the sprint planning, sprint review, and sprint retrospective meetings), , and the whole team approach.
Newcomers start contributing to production code on their first day. Agile ceremonies are used as opportunities to learn more about agile and the project. When new staff starts, extra time is allocated to explain ceremonies and share project knowledge.
Mentoring is also an important part of the onboarding experience for most newcomers. This is often done by the team lead, but established team members can also serve as mentors. Moreover, team members practice role modelling of desired behaviours (honesty, transparency, self improvement).
Teamwork, knowledge sharing, and supportive behaviours are encouraged by established team members. Co-location makes this easier by allowing for close cooperation between members, to talk to each other informally, and to overhear others’ conversations.
Learning is also encouraged as part of agile processes. Empathy plays an important role here, as established team members recall their own experiences when they were new to the team.
Newcomers start working on their first day. Much of their learning is accomplished by means of immersion and being a productive member of the team.
There is no formal training in agile methods. Many newcomers undertake self-study to learn unfamiliar technologies and agile practices. Those who have no experience with agile methods are sent links to online resources and asked to read them before starting.
The immersive approach to embedding newcomers means that they receive feedback about their work early and often, in various ways:
Full-time newcomers have regular (often weekly) one-to-one meetings with the team lead. These even continue for more experienced staff.
Because the team works in two-week sprints and new features are tested and integrated as soon as they are ready, newcomers receive a lot of immediate feedback from a wide range of roles (team members, the team lead, product owner, stakeholders, end users).
Informal code reviews, in which a group of developers read and talk through a pull request are used to provide feedback and aid learning for everyone. Newcomers learn by listening to discussions about coding practices and problem solving.
Unit testing can be seen as an early feedback mechanism for newcomers, as it helps newcomers show how code works and whether it works as expected.
Retrospectives, sprint reviews, and sprint refinements are Scrum ceremonies that help newcomers gain a better understanding of the project and agile methods. In some cases the team discusses their processes (e.g. how to make realistic estimates of how much work they can take on in a sprint) to explicitly help newcomers.
Small tasks make estimation and sprint planning much easier. They’re also especially useful for newcomers, as they can be completed within a single day.
Adjustments are levers related to job roles and the social environment that help newcomers to onboard successfully.
Newcomer adjustments relate to the individual who is adapting to a new environment.
Self-efficacy is about an individual’s belief in their ability to succeed in a situation or accomplish a task. This is important, because work in agile teams is based on the assumption that team members are empowered and can self-organise to do whatever it is they need to do to complete their tasks.
It’s important that newcomers understand their role within the team. Most developers often try to choose tasks that play to their strengths (front end, back end, etc.), but members of an agile team must be prepared to take on a wide variety of tasks.
The team lead in this case study coached newcomers in one-to-one reflection meetings, in which they .
Social integration is easy when the atmosphere is friendly, e.g. when team members are friendly, helpful, comfortable with each other, and play games and do other social activities together.
Team culture determines how things are done. Co-location of the team and regular agile ceremonies help newcomers to get to know the team and adopt their work culture. This is especially important for inexperienced newcomers who are new to agile and join a team with a strong agile culture.
An agile mindset is an essential part of agility. Newcomers face challenges as they need to learn how to function in a professional environment, e.g. taking responsibility, working incrementally, being experimental, and reflecting on how to improve. While these things do not have to be part of onboarding, it’s important that newcomers start working on their agile mindset during their first few months on the job.
Workplace adjustments relate to the way the workplace (i.e. the organisation and existing team) is set up to cope with integrating newcomers.
Agile teams are designed to be close-knit, well-balanced units. Any addition to the team changes its composition, which forces the team to adjust to accommodate the new team configuration.
Newcomers require guidance from a mentor, especially in their first few days. This role is best filled by a team lead or project manager, but they’re not always available and have little control over other meetings or events that take them away from the team. Additionally, new members rarely start before their predecessor leaves, which makes a hand-over period impossible. It is therefore essential that experienced members are also available to mentor newcomers.
Over time, teams should evolve to consist of more established members and fewer newcomers. This improves the team’s ability to continuously improve.
Agile teams aim to communicate effectively and efficiently within the team. When a newcomer joins the team, suddenly many aspects of the work that would normally be taken for granted have to be explained. Such a temporary change in the way the team communicates can also help accommodate part-timers.
A team is part of the wider organisation. If the rest of the organisation is not familiar with agile practices, members of the team do not feel like they are part of a wider community.
An agile community of practice is focussed on improving their agile practices and makes it easier for newcomers to learn from others, to get institutional agile training, or to feel part of something bigger. This is important, because research shows that doing agile in a non-agile environment is a challenge, and having a critical mass of staff who understand agility is essential to make agile work.
Based on these findings, the authors provide three recommendations for agile practitioners:
Incorporate agile-related practices that support onboarding into your process
Focus on training, explaining and modelling empowerment when onboarding staff
Regularly reflect and consider the workplace and newcomer adjustments where necessary to support onboarding