18F/18f.gsa.gov

View on GitHub
_posts/2015-10-15-best-practices-for-distributed-teams.md

Summary

Maintainability
Test Coverage
---
title: "18F’s best practices for making distributed teams work"
date: 2015-10-15
authors:
- melody
- mhz
tags:
- how we work
- distributed
- communication tools and practices
- collaboration tools
excerpt: "18F employees live all over the country, which means it's normal for the members of a project team to be spread across multiple cities. Because our teams are distributed, we've developed certain strategies for working well as a collaborative operation."
description: "18F employees live all over the country, which means it's normal for the members of a project team to be spread across multiple cities. Because our teams are distributed, we've developed certain strategies for working well as a collaborative operation."
image: /assets/blog/distributed-teams/18f-team-acano.jpg
---

18F employees live all over the country. We work out of homes in Dayton
and Tucson, St. Louis and Chapel Hill — and in federal buildings in San
Francisco, Chicago, New York City, and Washington, D.C.

That means many of our project teams are also made up of distributed
employees working all over the country. For example, you may have a
developer in Austin, a designer in Washington, D.C., and a content
strategist in Portland — but they’re all working on the same team and
with the same partners.

Because we work on distributed teams so frequently, we've developed
certain strategies for working well as a collaborative operation.

We have a “remote first” mindset.
---------------------------------

We borrowed the term “remote first” from [a
presentation](https://speakerdeck.com/orderedlist/designing-with-github)
by GitHub’s Steve Smith, another company with many distributed teams. A
“remote first” mindset means assuming that all of your coworkers are
remote for the purposes of communication and collaboration. This means
we:

-   **Proactively communicate**. As Kate Garklavs, a content designer who lives in Portland, puts it: “Because I'm remote, I've taken to sending short, proactive progress updates to my teams ("Hey, all — wanted to let you know that I finished writing XYZ and sent it to so-and-so for approval — should hear back by Friday."), even when daily standups aren't required. By sending these short updates throughout the day, I hope to keep folks in the loop with regards to what I've been up to.”

-   **Use our words.** We describe all of our visual designs using words. This might seem intuitive, but when your coworkers can’t see your computer screen, it’s particularly important to make sure you’re describing what you see. (For example, we encourage folks to use titles of page components and other descriptors to help collaborators more easily locate what a person is talking about (the blue "Get Started" button with the white text, below and to the right of the hero image, etc.))

-   **Assume people are working asynchronously.** We never assume that people are available the minute that we need them. We use the chat program Slack to communicate, which ensures all of our communication is documented and searchable for coworkers who might be checking on things later in the day. Writing everything down — even conversations we have verbally — ensures all team members are informed and up-to-date.

-   **Are patient.** Unless a decision needs to be made immediately, we give people time to respond to queries because they might be working on a different schedule or in a different time zone.

-   **Keep records.** As Dave Cole, a developer who works in Philadelphia, says: “Even after meetings, what's discussed and decided should be summarized into [GitHub] issues and notes for those who were not present or just to keep a record for the future. Good practices for remote teams and between teams overall.”

We have a five-hour overlap in our workdays.
--------------------------------------------

With people on both coasts, 18F operates from 9 a.m. to 8 p.m. ET every day.
But that doesn’t mean people work strange hours. East Coast people
generally work 9 a.m. to 5 p.m. on the East Coast and West Coast people
generally work 9 a.m. to 5 p.m. on the West Coast. People in the Mountain
and Central time zones also work 9 to 5, in their respective time zones.
(Though there are some exceptions: Some people prefer working late at
night on the East Coast or early in the morning on the West Coast to
better accommodate their teammates.)

What this generally means, though, is that everyone on our team, no
matter where they live, has at least 5 hours of overlap in their working
hours: generally between 12 p.m. to 5 p.m. ET. As Michelle Hertzfeld, a
designer in Tucson, notes: ”This covers the need for people to be in
touch at least part of the day and won’t slow down ‘hot items,’ yet
still allows people half the day to focus on actually moving the ball
forward.”

![A grid of 18F team members using video chat to attend a meeting.]({{site.baseurl}}/assets/blog/distributed-teams/18f-team-acano.jpg)
*Part of the 18F team at the weekly all-hands meeting.*

We share our screens frequently.
--------------------------------

Have a question for a coworker? Two minutes later, we might be sharing a
screen together, using programs such as appear.in, Google Hangouts, Screenhero, and
plain-old screencasting. This allows us to ask for feedback, show off
designs, and [pair
program](https://18f.gsa.gov/2015/05/04/pair-programming-why-two-heads-are-better-than-one/)
with each other.

We have face-to-face meetings at least once a week.
---------------------------------------------------

All of our teams meet with each other face-to-face on a weekly basis, if
not more frequently. We use high-quality microphones so that distributed
teams can hear things clearly. Video allows us to communicate more
expressively, and to give non-verbal cues like a thumbs up signal. It
fosters stronger connections and helps us to be responsive to each
other.

But sometimes things don’t work well. Audio drops out. Video fails.

As Jacob Harris, a developer who works in D.C., puts it: “I think
everybody here agrees that the most implausible science-fiction aspect
of Star Wars is how smoothly all the Jedi videoconferencing works across
the galaxy.”

So we also make contingency plans in case video or audio drops out — and
even when it doesn’t. For example, in our weekly all-hands meeting,
which everyone at 18F attends, we have video with sound, a phone option,
and we transcribe everything in real time in a Slack room, so that
remote participants (or people away from their desks) can keep up.

Jacob’s team uses several measures to compensate when videochat doesn’t
come through clearly.

“A shared Google document with an agenda helps people to know what the
meeting will be about in advance,” he says. “And anything that is
discussed / decided in the meeting must be added to that document.
Similarly, we request that any bugs or other coding work must be
documented using GitHub's mechanisms for issues, pull requests. This
makes it easier to remember what we're working on and keeps our actions
public in case someone wasn't able to hear what we were talking about.”

We make our work transparent to each other.
-------------------------------------------

We’re committed to making all our work, discussions, and decisions
available to everyone in the organization at all times. We do this by
having:

-   **Real-time chat (aka, virtual water cooler)**. 18F uses [Slack](https://slack.com/) to “hang out” virtually. This area is open all day for people to drop in and out as their schedule allows. The important thing is that everyone is invested in using it consistently, something that managers and team leads may need to continually reinforce. Everyone uses chat, even people in the office.

-   **The Hub***.* This is where announcements, weekly team reports, and meeting summaries go so that everyone knows a little about what’s happening in the entire organization. Updates here are brief; as soon as it turns into something that the team doesn’t have time to read, it’s failed.

-   **Cloud storage***.* 18F keeps shared documents in a shared space, all the time. We use GitHub and Google Apps for Government. Adding documents to folders that are pre-shared allows permissions to be set easily and quickly.

-   **Documentation in GitHub and Slack.** “We do a lot of chatting in Slack during the course of the day, but we also set aside a regular standup time where everybody summarizes what they did yesterday, today and what is blocking them,” says Jacob. “Currently, we do this by commenting on an image posted to the Slack channel so that all comments for that meeting are easier to find later, which sounds hackish, but it works better than trying another tool.”

We over-communicate, especially with clients.
----------------------------------------------

We make sure clients are reassured of progress through regular delivery
of drafts and versions. Team members are also very available (or at
least, available regularly) via phone, emails and instant message so
that clients can communicate with us on whatever platforms they use. We
know we must work to keep clients involved so there is shared investment
in the project and its outcome.

Internally, we often announce in Slack when we’re working from home, have a sick family member, or have a doctor’s appointment. This makes it easy for someone to track us down (or know when it’s better to reach out to a backup). Tadhg O’Higgins also had the idea this past summer to include our location or nearby airport code in our Slack handle — this makes it easy for new 18F team members to know what timezone someone else is in, and for veterans to keep track of people traveling away from their home timezone. No one made an official policy to include such locations, but the vast majority of the team adopted them organically — sometimes with creative tweaks like listing when they’re in transit (SFO > DC) or when they’re out of the office (OOO until 12 EST).

For this to work well, we all think of ourselves as remote employees, even if we’re in an office.
--------------------------------------------------------------------------------------------------

18F has employees in every time zone, but GSA itself also has a fantastic
telework policy. Thus, even if we were all stationed in Washington, D.C,
there would still be a need for our “remote first” mindset.

Jackie Kazil, a product lead who works in D.C., leads a team that has
members based in San Francisco, Washington, and Raleigh-Durham. She
says, “It’s important to make sure that two members who are co-located
in the same space attend project meetings on their own computers when
possible, because it's great to see each individual's face in a separate
screen. (Though that’s not always possible.)”

We intentionally make sure that there’s not a cultural split, or a
division between the “here” versus “there” team members. The entire team
makes a commitment to the tools and processes mentioned above to make
remote or part-remote work. It can’t just be the responsibility of those
working remotely to be extra-engaged. Everyone needs to use the same
process and commit to documenting work in the same way.

“It's important to make sure that those in offices advocate for the
interests of their remote counterparts because we don't always know when
something is up that needs advocating for,” says Becky Sweger, a
developer who lives in Western Massachusetts. “For example, people who
take notes in Slack [during meetings] or keep an eye out for questions
[from remote team members] during the all hands really help out their
remote colleagues.”

Some of us shift our time zones
-------------------------------

This is by no means required, but some of our West Coast employees enjoy
working earlier hours with their East Coast colleagues, and some East
Coast folks work late with their West Coast teammates.

Kate, who lives in Portland but frequently works an early shift, notes,
“I’ve lately experimented with shifting my schedule to allow for more
overlap with D.C. folks. Being fully remote, I value the ability to join
project teams "in person" (via Hangouts), and starting to work a bit
earlier than I did when I was in an office is one way I facilitate this.
It's worth noting a few things: The teams I work with are all very
respectful of the time difference and try to schedule meetings during
the core four-hour block we all share. Also, I'm a morning person by
nature, so I like getting an early start and maximizing the most
productive hours of my day.”

Why distributed teams are valuable
----------------------------------

For many on the 18F team, working in this collaborative environment is
second nature, but we understand that not everyone is used to working
this way. Part of 18F’s mission is to show our partners across the
federal government just how these tools can be used to maximum effect.
Also, by having our distributed teams fully integrated into the
workflow, we provide our partners a nearly 12-hour workday to spend on
their projects.

If you have more questions on the tools we use and how we use them, just
ask us at [18f@gsa.gov](mailto:18f@gsa.gov).

![A grid of 18F team members using signs to wish their colleague a happy birthday.]({{site.baseurl}}/assets/blog/distributed-teams/acano-birthday.jpg)
*Our design team takes two minutes out of their weekly meeting to wish
teammate Jeremy Canfield (bottom left) a happy birthday.*