work-from-home-company-playbook

Playbook for Running a Global Work-from-Home Company

Ning Wang, CEO

COVID-19 (the disease caused by the coronavirus) has caused unprecedented disruption to our daily personal and work life throughout the world. How do you adapt to working from home and managing remote teams when you are used to doing so from a physical office? Offensive Security, a cybersecurity training and certification company, has been a global distributed company with people working from their homes since its founding in 2006. Today, we have people located in over 24 countries. Based on this experience, I want to share five tips on how to run a distributed team effectively.

#1 Have the Right Mindset

It takes the right mindset and culture to work effectively as a global distributed company. Of course, we also need tools and processes, but having the right mindset is key. Be aware that:

  • People are in different time zones when scheduling meetings/calls
  • Getting out of your house needs to be proactively planned
  • Life and work are very co-mingled when working from home
  • Flexibility is a great advantage

With people in 24 countries and 14 timezones, it is impossible to find a time for a company call that is during everyone’s working hours. We record all important meetings so that people can watch the recordings offline. Some people are morning people and some are night owls. When scheduling team meetings, take into consideration the natural habits of different team members.

When working from home, it is easy to just work and work and forget lunch and coffee breaks. This is one of the hardest transitions for people that move from working in an office to working from home. Encourage remote workers to take lunch breaks, go out for a walk during the day, walk their dogs, have a snack with their kids after they finish with their school work, etc.

It is really important to have these daily “interruptions” to the work schedule when working from home. As a manager of a team working from home, also be aware that not everyone has a home office, so seeing other home activities such as kids or pets or other home activities in the background should be expected and considered okay.

When working from home, personal life and work life are intermingled. At times, it is best to prioritize your personal life. This is especially true for working parents. Make sure that your team knows it is okay and even encouraged to take time out of their traditional working hours to take care of their kids, or participate in some activities with them since most are home with social distancing occurring in most places. It is much less about the “face time” and much more about getting things done, according to the schedule, and making sure that other team members are not delayed.

People may feel guilty for putting their personal life ahead of work during traditional working hours. As a CEO, to help alleviate these feelings of guilt, I share with people when I take a few hours on a weekday afternoon to visit a museum. You should recognize that it is easier for people to take care of personal things when working at home, and not impede that.

As a person working from home, we recommend that you let your team know if you will not be available during the traditional working hours. Take advantage of the work-from-home flexibility and help people strike a better balance of personal and work life.

Recognize that it is more important your team get things done in a timely fashion, rather than measuring hours spent on work.

#2 Implement both Synchronous and Asynchronous Communications

When working in an office, almost all communications are synchronous: meetings in a conference room, 1:1s, chance meetings and chitchats. When you have a distributed team, you will remember the synchronous meetings, but you also must design for ways that promote effective asynchronous communications that are casual, fast, fun, and informative.

We use email for things that are more formal: weekly activity summaries, monthly key decision emails from the CEO, summaries of project progress and status. We use a team chat and collaboration platform for all frequent and quick communications, which allows people not directly engaged in the communication to digest asynchronously.

To facilitate good asynchronous communications, we use our team chat platform and set up channels for different departments, projects, teams, events, etc. Some channels are private and some are public. We define and then communicate how each channel should be used and we enforce it. We encourage any 1:1 conversation that can benefit the entire team to take place in a team channel.

We encourage teams to develop methods and tools that work best for their functions and needs. For example, our IT team uses a bot that automatically sends out feedback surveys after each helpdesk ticket is closed, and our engineering team uses a stand-up bot for their daily stand-up.

#3 Use a Collaboration Tool to Document Every Activity

We use a software development collaboration tool to organize, communicate, collaborate and document all activities. Asynchronous communication is the main communication method for most people when working from home. This is definitely the case when you have a team with people in different time zones. To ensure effective asynchronous communication, you need to organize and document nearly every activity.

We create a “task” (in our collaboration tool) for nearly everything we do, no matter how small the task is. The task has an owner and involves those who need to do different activities or approve certain steps of the task. The task always contains a good description of the situation, steps that need to be done, and who needs to do them.

As each person completes each step of the task, the task is assigned to the next person, allowing everyone involved to know what this task is about and manage the workflow of the task until completion. The documented tasks also have the side benefit of serving as a knowledge base for future use.

For this process to work, it is important to agree ahead of time the tool and the process to use. While it is good to use the same tool for all teams in the company, it is important to allow flexibility for teams to make their own decisions.  We allow multiple tools to co-exist that serve similar but different purposes. For example, we have one tool that the entire company uses for all general task management, but our software engineers use a different tool to manage tasks that only the engineering team works on.

These tools won’t work if you don’t use them the right way. It took us some time, with constant reinforcement, to develop the habit of putting EVERY ACTIVITY in writing. For example, when an urgent support issue comes up, our support team, sometimes cross-functional, will communicate, diagnose, and fix the issue in real time, with all communications via a chat channel. Even in this urgent situation, we nonetheless try to make sure that someone creates a task and documents it, possibly closing out the task in the same session. This preserves the team knowledge and provides a means for people to go back, review, and learn, which can be very valuable over time.

#4 Don’t Forget the Non-Work Things

We have a firm belief that a person’s happiness is important. A happy person is productive and does quality work. Happiness can be influenced by work and by many factors outside of work. When your whole company is working from home, how do you know if someone is happy? You don’t see how they look, if they have had a bad day, etc.

In addition to the work-related chat channels, we therefore set up a number of non-work channels to allow people to share their everyday lives. We have channels for health and wellness, announcements, pets, women’s health, high-fives, etc. We use the health and wellness channel to share exercise routines, cooking recipes, good videos on mental health, etc.  We also occasionally run synchronized weekly workout sessions. We have a book club where people read a book together asynchronously and then have a call to share their thoughts. We welcome all new employees in our announcements channel. We give high-fives to people going above and beyond, or for some amazing achievements. In the department-specific channels, where most of the work communications occur, we allow and encourage people to share jokes, mixing work and fun throughout the day.

Use video as much as possible. When we do synchronous calls, we always try to use video.  As a CEO, to get more people to use video, I am always on video for all my calls, including 1:1s, team calls, and company-wide calls.

You can learn a great deal about a person via video. I often start my calls by talking about things that are not work-related: We talk about current events, a hobby we share in common, a book we came across. This allows me to get a feel for whether the people on the other end are happy or not. Sometimes people will bring their kids to join the call, or bring their pets. Encourage this, as this helps the person to work at home in a very natural way.

Pay attention to your team’s mental and physical health. In an office, it is easy to tell if someone is not feeling well. In a distributed team, it is much harder to know. Bring an awareness of mental and physical health to the center of the conversation, whenever appropriate and whenever possible.

I use my exercise dumbbells during my calls if I am not talking, sending a signal that exercise is important and it is okay to exercise in an uninterrupted way during a call. I remind people to stand up if they have not done so for a while whenever I start a call. We share tips for how to manage our mental fitness. We start our long meetings with a meditation session. All these little things will remind people of the importance of physical and mental health.

#5 Create Unstructured Time Together

Unstructured time together is super-important in building relationships and getting to know each other better. Unstructured time does not happen automatically in a distributed team: You need to make it happen.

I hold weekly office hours via a video call, and I send a reminder shortly before I start. People will drop in and out throughout my office hours. There is no set agenda, anyone can bring up any topic. When I am traveling, I share via video the local environment with the group.

What about virtual happy hours and parties to just hang out together? We are experimenting with virtual parties. We recently launched our refreshed flagship PWK (Penetration testing with Kali Linux) course, which was a huge product launch effort that went extremely well, involving nearly all functions in the company.

On the launch day, our team held an all-day video meeting, so people could drop in and out, getting updates or handling any urgent matters. Afterwards, we had a party via video conferencing. As with any party, we invited everyone but made it optional. There was no set agenda, no talks or presentations, we just had the team hang out together. Our CFO put a funny sticker on his forehead, many shared their stories, some brought coffee and some brought drinks. People just talked and shared anything they wanted. It was fun.

In times of crisis, emotional support is very important. During this COVID-19 time, people are nervous. There is a lot of news and discussions about what to prepare and how to manage. Of course, you can email your guidelines and policies to your team, but that does not provide the emotional support people need, especially for those who live alone or have elderly relatives to care for.

We made an impromptu decision to have an unstructured video call for the whole company, not mandatory but with everyone invited, where we just shared what each person was doing, the situation in each of the countries where our people are, allowing jokes throughout the call via chats, such as the US running out of toilet paper.

Our people found the call very helpful. Someone suggested creating a coronavirus chat channel, which was immediately implemented after the call, allowing people to share information asynchronously. Based on the feedback, we will continue with a weekly call until the situation stabilizes.

These are some of the tips we learned by operating as a global distributed company, which we have done for many years. I hope these tips are helpful for those who are changing to a remote work environment during the time of COVID-19.

ALL NEW FOR 2020

All new 2020 update for PWK!

Penetration Testing with Kali Linux (PWK)

2X THE CONTENT
33% MORE LAB MACHINES

Earn your OSCP

FOLLOW US ON TWITTER:

@offsectraining

@kalilinux

@exploitdb