The importance of documentation for Remote Teams — Part I
As Andreas Klinger writes in his extremely insightful and practical post “Managing Remote Teams — A Crash Course”, a remote team needs roughly 5x process in comparison to a co-located team.
Process can sometimes be misinterpreted as bureaucracy, when it’s really trying to be the opposite of that. Good process is a set of clear rules and expectations that are easily accessible and easily followed. For a remote team, where you want to enable people to be as autonomous as possible, good process is essential.
Over the last month, we have been furiously documenting how we do things on our team (i.e. process), and I’ll be the first one to admit, it’s been a lot of work. However, we are starting to see results and as time goes by and the team grows, these benefits will grow exponentially.
The three key areas that we have focused on to start are: onboarding, management/career progression and hiring. In this post, I’ll dig deeper into onboarding.
Setting a new team member up for success from day one is critical. Onboarding colors how the new person perceives the team and the company. If their first contact with the company is a disorganized mess, they are much more likely to adopt bad habits which will be harder to break later. First impressions do matter! So, focus on onboarding first and get it right.
Here are some of the key areas we cover in our documentation:
Intro to the company and the team
- Who we are
- How we are structured
- Our vision, mission, strategy, culture, objectives/priorities and our values
How we work
- Work hours and breaks
- Communication. What are the rules for using synchronous vs asynchronous communication. How do we respect each others’ time and boundaries? How do we optimize everyone’s time for deep work?
- Slack. What channels do we have and what are they used for?
- Check ins and check outs. Why we do them and what to expect.
- Weekly team updates. What’s covered and when to expect them.
- Escalation policies. How do you get in touch with people when things go sideways.
- Our approach to Remote Work (refer to previous posts for more details)
- How we run meetings and what are the rules and responsibilities around meetings.
- Time off. How to request it? What about sick days?
- Agile workflow. How we approach agile software development and what our practices are.
- Tools and Accounts. What are all the tools we use? How do you get access?
- General How Tos. Tips and tricks from the team.
Getting Set up
In this section, we tell people all the tactical details around getting set up. Here are the key areas we cover:
- Your Manager. Clearly defined set of responsibilities that a manger has so that people know what they can hold their managers accountable for.
- Emergency Contact List
- Team calendars
- Email groups
- Email signature
- Referral policy
After the general introduction to the team/company, how we work and basic setup and information, each sub-team continues with its own specific onboarding. Let’s have a look at Engineering team’s onboarding in more detail.
Here are the areas that are covered in more detail:
- Week 1–2 and 2+ general expectations
- Day 1 detailed schedule
- Engineering specific calendars
- Overview of major areas engineering is responsible for
- Top level architecture
- Relevant Github repos
- Processes related to agile, trunk based development, environments, PRs, testing, deployments, metrics and monitoring, etc.
This is our first pass of the onboarding documentation and it’s constantly getting better. As the team grows, it’s critical that each new person coming in is able to improve on this documentation, leaving it better for the next hire.
In Part II of this post, we’ll talk more about documenting management practices and career progression.