For those used to working in a physical office, it can be quite an adjustment working from home every day and feeling isolated from your team. Plenty of people have already covered the basics of working remotely, such as the importance of structuring your day, maintaining personal hygiene, and dissecting lists of tools that remote teams use. However, there's always room for bigger-picture questions of strategies to communicate effectively, build morale, and appreciate the humanity in one another.
We've been a distributed company from the beginning and have some well-established practices and strategies that we hope will help you get through the pandemic and improve your productivity while working from home.
Just because you're not physically in the same room doesn't mean an end to meetings. Here are the types of meetings we have at Lullabot—some of which you'll relate to, and some you might want to start—and how we conduct them as a distributed team.
Moderator-led, small group meeting, 15 to 60 minutes. Typically occurs weekly or multiple times per week. Semi-formal; a moderator goes around the team and asks for updates from each participant. Updates are usually brief; participants list current tasks and any blockers and sometimes recently completed or upcoming tasks when they're noteworthy, or participants need feedback.
After the meeting is over, the moderator releases attendees, except for people who want to participate in after-talks if time permits. The moderator may list specific people required for the after-talk, but other interested parties are welcome to listen and participate. After-talks are conversations that aren't directly related to current tasks but may be of interest to the team, such as strategic ideas or longer-term initiatives. After-talks are not time-sensitive; they can occur when a meeting has not consumed its allotted time but can be bumped to future meetings if time runs out.
For meetings with larger groups, we often start topic threads in the appropriate Slack channel where each meeting attendee adds their updates for all to review on their own time. The time on the call is then used primarily for after-talks, whether it's following up on a specific update or discussing other relevant topics that require attention.
All-Company Team Calls
Moderator-led all-company meeting, 60 minutes in length where ~20 members of the organization and the leadership team each give a 2-minute update. These are held weekly on Monday mornings to kick off the week. Updates typically follow the following format:
- How was your weekend?
- What are you working on this week?
- Optional: Personal updates that an individual speaker feels compelled to share with the team (i.e., life events, recent accomplishments, challenges, etc.)
This meeting is part business, part morale, and team building. We use an automated program to select speakers for each call and assign them an order in which to speak. The speakers' names are generated on a rotation-basis to ensure everyone gets visibility, and the all-team format gives people insights into other parts of the organization beyond their immediate department and coworkers. Participants can ask to switch slots with someone if they need to miss part of the meeting, and there's also an alternate list should someone scheduled to speak not be able to make the meeting at all.
Moderator-led all-company meetings, 60 minutes long. Monthly. Formal; a moderator invites the leadership team to give updates on the state of the organization or specific strategic initiatives and then leads a Q&A period to surface questions that have been submitted by employees. The call takes place on Zoom, and the questions and conversation take place in Slack in our #townhall channel. In the channel, those with questions pin them so the moderator can easily find them.
Small group or all-company meetings, 30 to 60 minutes, depending on the topic. Formal; typically a presentation by one or more individuals on a specific topic. The topics may range from things like a new strategic initiative, an HR-mandated training, or even training on a particular tool that a team is adopting.
For this kind of meeting, I like to have an agenda with questions and share them on my screen. This helps set the context and share the same language of concepts with everyone. Otherwise, two or three attendees may start discussing something complex, and the rest will lose track of what they are discussing because they don't understand the domain of knowledge well enough.
Meetings for Morale
Coffee Talk & Tea Times
Small, informal group meetings, typically 30 minutes, but sometimes without a set end time. Whoever is around and interested in a chat can join these meetings and talk about their day, pets, family, video games - whatever's on their mind. These meetings typically occur first thing in the morning or at the end of the day, but this may vary depending on the time zone of the participants; first thing in the morning in Texas is mid-morning for the East Coast.
Small group calls, 30 minutes, weekly. We use an automated program to generate small groups of five or six people and a randomly selected moderator that rotates every Friday, and those people join a Zoom call and chat informally. The moderator kicks off the meeting with questions like "how has your week been?" and "what are you up to this weekend?" This call is excellent for building morale, and the rotating nature of the groups means that people routinely get to catch up with people they don't work with every day, which brings us closer together as an organization. It's also a great way to end the week and head into the weekend.
Small group meetings with no set start or end time. Sometimes we just open a chat while they're each working on their tasks, only to have that line of communication open with the outside world. For us, this might be on someone's Zoom or Google Meet line, while other organizations maintain devoted virtual office space for these co-working hangouts. Sometimes you just want to hear another human's voice and know people are out there working while you're working on your own.
Show & Tell
Optional weekly meeting open to the entire company, consisting of two 30-minute slots devoted to specific topics. A moderator introduces the sessions and records the meetings. The recordings are later posted internally for people who are interested in the topics but unable to attend live. The sessions themselves are presented by individuals or small groups around the specific topic.
While these topics are sometimes business-related, such as a developer sharing a new tool, they can also be completely unrelated, like a team member sharing their knitting skills or how to do hydroponic gardening. It's an opportunity for people to share things they find interesting, and think other people will too.
You'll be doing a lot of asynchronous communication while working from home. While it can take some time to adjust to doing this remotely, there are steps you can take to make this a more seamless experience.
Agree to a system for status updates.
Whether you're starting a new project, moving a weekly scrum online, or onboarding a new employee, you need to agree to and communicate a system for status updates. Define asynchronous communication methods for the project or topic, and stick with those methods. This gives everyone clarity on where and how to add updates and locating the latest details of a project's status.
Some things you'll need to define include:
- Where should people post their status updates? Slack? GitHub tickets? Jira? A Dropbox Paper document containing meeting notes? Here's an article on how we use Dropbox Paper for collaboration.
- How frequently should people post updates? Daily? On the day of the scrum/meeting? Only when they have blockers? For some teams, daily updates are too frequent, while for others, visibility into current tasks is a must for project planning and allocating resources. Working remotely, more frequent communication is often more helpful than when you see your team in person every day.
- What should people do with questions/comments? If people are posting updates in a Jira ticket, but someone has a question or comment about an update, should they post it right in the ticket? Or should that conversation happen somewhere else, like in a team Slack channel or via voice chat? Some organizations may want all details and communications recorded directly in the ticket, while others prefer only to communicate relevant updates there, and other conversations happen elsewhere.
When should you post updates?
As a general rule of thumb, there are a few points where it's most relevant to share updates on in-progress work.
When the questions are not blockers, post them in the location you established when you set up your system for status updates. These are for people to consider when they have time, asynchronously. If nobody comments on them before the next scrum or team meeting, bring up the question during the meeting.
When questions are blockers, you should handle them via the separate process in place for managing those. Maybe that's a daily check-in meeting where you talk about what you're working on, or perhaps it's reaching out to the team via Slack to get help resolving the question more quickly. Make sure you communicate that the question is a blocker, so other people understand that you've paused your work until it gets addressed. Ideally, you'll have other work you can switch to while waiting for an answer.
If a question is a blocker and the work is time-sensitive, you'll need a system for whom to notify, and how. Maybe the answer is to call another team member first, and then loop in a project manager or other manager if schedules need to be adjusted. In this case, you probably can't wait for asynchronous communication and should move to a meeting or a call.
Finally, share the answer to your question wherever you originally shared the question. This lets people know that the question is no longer outstanding, and captures important details around how the issue was resolved.
When you've completed your work, post a status update, either via closing a ticket, requesting a peer review, or sharing an update in the team channel, basically wherever your team established when you agreed to the system for status updates. Sharing a status when you finish your work lets managers see that you're making progress and makes your work visible when your team is not together in person. Being visible while distributed is key to making the arrangement successful, and sharing status updates when you finish tasks goes a long way toward accomplishing that.
When to Move from Asynchronous Communication to a Meeting or Call
When you need to speed up or clarify communication
If a thread includes more than two or three replies and the replies are detailed, a verbal conversation is probably better and faster. It removes the chance of miscommunication, speeds up the resolution time, plus it's a good touchpoint.
When to move from chat or email to collaborative documents
When asynchronous communication isn't working, moving to a meeting or a call isn't the only solution; sometimes, it's moving to a different form of asynchronous communication. When discussing a complex topic, for example, it may be easier to write everything down in a Dropbox Paper or Google Doc and then share it with collaborators, asking for comments or updates.
Seeing everything spelled out in document form can be easier than trying to have an abstract conversation about a complex topic, and gives people a place to make changes or leave comments more directly. This gives you a place to iterate together toward consensus and is great for capturing complex concepts. Think of this as being similar to a virtual whiteboarding session, but it can occur asynchronously versus having everyone in the same place at the same time.
Keeping Up Morale via Asynchronous Communication
If you use Slack, you know it's a useful tool for business communications, but it's also part of the solution for keeping up morale and team-building in a distributed team. Beyond the morale-building meetings, we also structure Slack channels to provide an outlet and support for our employees, breaking things out into categories like #health, #parenting, #levity, #pets, and even #covid-19.
These channels give workers a chance to have non-work conversations, whether it's sharing a moment of levity during the day, trading tips on parenting challenges, or quarantining COVID-19 discussions to a specific channel, so it doesn't take over the entire Slack. By providing explicit channels for these topics, we also allow other workers to opt-out of conversations they don't want to participate in; simply don't join, or leave, those channels. This enables employees to avoid conversations they're not interested in while giving other people a venue to talk about these topics.
Being "visible" While Distributed
Being a distributed organization places more responsibility on the individuals to "stay visible" than when working at a co-located office. Each organization must define what "visibility" means to them. For us, the expectation is logging into Slack to be available to others and documenting your work (or non-work) for the day.
It's essential to encourage proactive and deliberate communication. Individual conversations can get lost, so we try to maintain collective knowledge so that other team members can jump in and continue someone else's work when necessary. This makes the team more agile, giving team members the ability to switch tasks if needed to where their expertise is most valuable. It also helps shore up against unexpected absences.
When communication issues are detected, ask these questions:
- Have we made expectations and methods of communication clear?
- Does everyone have what they need to be supported and accomplish their work?
- How can we increase visibility, and are additional tools needed?
Tips for Working with Kids at Home
Even for us remote workers, it's not the norm to have kids running around the house during our workdays. While we have the remote working thing down, we, like many of you, are having to find ways to keep the kids occupied so we can stay productive. Here are some of the ways we're doing this.
Take turns swapping "parent on duty."
If you've got multiple adults in the household, take turns swapping "parent on duty." One person gets an uninterrupted block of time to work; maybe this is for focus work or scheduling meetings, while the other is staying with/looking after the kids. Swap every two hours, or establish a cadence that works for your family.
Close the door.
When you need to get stuff done, go into a room with a door that closes - and close it. Teach the family that a closed door means "don't interrupt unless there's an emergency," while an open door means "I'm working, but available for interruptions if there's something you need." If you're going to close the door, check with the family and make sure everyone has what they need before you close it, and let them know when you expect to open it again. i.e., "I'm in a meeting for the next hour, but I'll open the door again when it's over."
Set a schedule for the family.
Kids need schedules, too. Give the kids blocks of time. 30-minute blocks work well during which they'll do specific activities. A couple of examples of that include the Khan Academy schedules for school closures and the Mommyhood101 Daily Schedule for Kids. This gives your kids something to do while you're doing your work, and sets expectations for them about when they're expected to do certain things.
You can go one step further and add your schedule to a whiteboard, so kids can see when you're in meetings, and what types of things you might be doing while they're doing their activities. This can be helpful in a multiple-caregiver home; have everyone's schedule in one place, so people can see what the others are doing, when they need uninterrupted focus time, and can take turns tag-teaming the day.
Establish a cadence for "checking in."
For younger kids or kids unaccustomed to structuring their own time, this might be every half hour. As the family gets more practice, you might be able to expand that to every hour or every two hours. If you have some upcoming block of time during which you can't be interrupted, communicate that. Let the family know that you've got a 1-hour meeting at noon, but then you'll be available again.
Establishing a cadence for checking in, and communicating that, makes it easier for family members to defer interrupting you; not bothering working family members for an hour is a lot easier than not bothering working family members for an entire day, so family members are more likely to respect that.
Don't be afraid to admit defeat.
Sometimes things just aren't getting done. Maybe you're anxious about current events. Perhaps a kid has too much energy and needs an active outlet for a while. Be prepared to accept that some things just are not happening now, and take a break. The work will be waiting when you get back. Maybe you can go back to it after the kids are in bed, or sometime during the evening when everyone is relaxing. A traditional 9 to 5 schedule may not be realistic right now, and that's ok as long as you're communicating that with your team.
Make fewer demands, but strive to improve.
Reducing demands and expectations for both kids and adults will help. Maybe you won't show up to that meeting in a dress shirt with makeup fully applied. Maybe the kitchen will look like a bag of flour exploded for a few more hours. Maybe the kids won't be able to sit quietly for an hour if they've never had to do that before.
With practice, both you and your family will acclimate. After a week or so, increase expectations slightly. If the kids are old enough, add housework like dishes and laundry to their schedule. They'll need help and reminders, but they can learn to adapt.
Over time, with experience, communication, and setting and adjusting expectations, your family will get better at working when it's time to work, and enjoying the family time when it's not.
Thanks to the Lullabot team for contributing these tips and to Dachary Carey for drafting the article.