In a complex domain, such as software engineering, a crucial measure of a team’s effectiveness is the speed with which it onboards newcomers.
When a software team expands, it is usually because there’s too much stuff to be done. Onboarding a new team member slows the entire team down – the newcomer needs to be trained before they can be productive. This transitional period is often frustrating for both the existing team and its additional member.
The means to address this frustration is to adopt an 80:20 approach. In most cases, 80% of our results are derived from 20% of our efforts. For a newcomer to a field, it helps to master that crucial 20% of a job first, so that they can start contributing quickly. With time, they also manage to learn the peripheral 80% that is needed to do a complete job.
Of course, this is easier said than done. It is often difficult to pin-point the crucial 20% of any software. This code also needs to be documented and crafted in a manner that is easily understood. The team needs to have sandbox environments where they can experiment and make mistakes. It also needs to have enough slack to coach the newcomer. On the other hand, the new team member needs to bring an attitude of contributing in the face of tremendous ambiguity. All of these are mighty challenges. However, the ingredients to overcome these challenges are precisely the same ingredients necessary to build a great software team.
Onboarding speed can double up as a great metric for how well your software team is configured to otherwise function.