Ryan Snyder


Posts tagged with "distributed teams"

Sep 8

Bringing Distributed Teams Together

I worked at Mozilla, and recently started working at BankSimple.  Both are distributed companies, and both require tremendous efforts to ensure that remote team members are on the same page and working together.  It goes without saying that periods of face time are necessary to help people feel like they are truly part of a team.
I helped define the schedule to facilitate team building for both organizations in Portland, Oregon.  I wanted to share our respective agendas (acknowledging some of which is redundant), as well as reflective thoughts for creating a successful team building week.

Mozilla Web Development Off-site 

Mozilla is based in Mountain View, California, and its ~40 member web development team is scattered not only around the United States, but also Europe.  We decided to host the team off-site in Portland, Oregon, centered around the open source conference Open Source Bridge.  Since Mozilla is a community-driven organization, we wanted to create a week that allowed the web development team to bond together, as well as to engage the open source community.
Team members flew into PDX on Sunday, June 19th.  Here’s a look at our schedule:
The team flew in, hopped the Max to downtown, and got settled in.  We communed at Henry’s Tavern Billiards Room over grub and brews that evening.
We contacted the fine folks at Urban Airship and rented their community room for the day.  Mike Morgan, the web development manager, led a number of discussions that morning about the Mozilla mission and the state of web development at Mozilla, the highlight being his talk about growing the web development team from 2 to 40 members.
For the afternoon, we held a number of focus sessions, where team members signed up ahead of time to demo what they were working on or to lead a discussion about relevant topics.
In the evening, we held a team dinner at Deschutes Brewery, inviting members of our IT staff who happened to be in town for the event.
We spent the entire day at Open Source Bridge, where 3 Mozillians gave talks.  
I scheduled dinners for 10-tops at 4 restaurants around town: Andina, Biwa, Clarklewis and Pok Pok.  A wiki page was created to allow team members to sign up for dinner at one of the restaurants on a first-come first-serve basis.  Taxis were scheduled to pick us up and deliver us to each of the restaurants.  Afterwards, taxis delivered us to Apex for a team after-party.
We spent the entire day at Open Source Bridge, and had a free night where nothing was scheduled.
We spent the entire day at Open Source Bridge, where 1 Mozillian gave a talk.
That evening we co-hosted a happy hour party for Open Source Bridge attendees with the lovely peeps at Emma.  Mike Morgan and Crystal Beasley provided a creative way for attendees to declare their love for the open web.  Team members were on their own for dinner, and afterwards a number of people celebrated Potch’s award-winning karaoke performances at 2 local venues.
We spent the entire day at Open Source Bridge hacking on projects, and presented our creations to the rest of the team at the end of the day.  Friday night was a free night where nothing was scheduled.
Saturday was a team building day.  A bus picked us up and took us to the Vista House overlooking the Columbia River Gorge, then Multnomah Falls, where we hiked to the top of the falls.  Afterwards we ventured to Hood River, where we lunched at and toured the Full Sail brewery.  We finished the trip by touring the Bonneville Dam, then heading back to Portland.  That evening we had a free night, and many team members ended their evenings at various downtown establishments.
Team members grabbed the Max from downtown to PDX to fly back home.

BankSimple All-Hands

BankSimple is a distributed company, at least for the moment, with ~20 members scattered in offices in Portland, Brooklyn and San Francisco, as a well as a few people in St. Louis and Geneva.  We decided to host the company all-hands at our office in Portland, Oregon.  The focus of the week was to bond as a team, refocus and make final preparations for the development sprints leading to our upcoming launch.
Team members flew into PDX on Sunday July 31st.  Here’s a look at our schedule:
The team flew in, hopped the Max to downtown, and got settled in.  We gathered in the Henry’s Tavern Billiards Room for burgers and pints.
We rented the Urban Airship community room for the entire day.  Josh Reich, BankSimple’s co-founder and CEO, led the morning’s discussions, by talking about the company mission, the original vision and wanting to bring it to fruition, and the company’s move to Portland.
For the afternoon, we held a number of company focus sessions, where team members signed up ahead of time to demo what they were working on or to lead a discussion about topics that required all of us to be present.
In the evening, we held a company dinner at Ned Ludd, a farm-to-table restaurant in North Portland.  I asked the chef-owner Jason French to speak to the group about the mission of his restaurant, to give the bankers a different perspective on a mission-driven business.  French described his mission by stating, “I produce food that nourishes people.”  He was outstanding.
We ended the evening around a pool table in the Boiler Room at McMenamin’s Kennedy School, an elementary school-turned-pub in Northeast Portland.
Tuesday was a team building day.  A bus picked us up in the front of the Urban Airship building, and took us to the Vista House overlooking the Columbia River Gorge, then Multnomah Falls, where we hiked to the top of the falls and continued on for a few miles.  Afterwards we ventured to Hood River, where we lunched on za and beers at Double Mountain Brewery.  We headed back to Portland around 4pm, and had a free night.
This day was an all-day hack session.  Team members declared what they would be working on that day, and everyone started clacking keyboards at 9am, with some wrapping up at 10pm and others at 2am.
In the morning, the engineering and business teams divided up and commenced focus session discussions.
In the afternoon, people demoed what they were hacking on the previous day.  And we shared final thoughts about the teams, the company and the mindset we needed to maintain as we prepared for the launch of BankSimple.
That evening, we celebrated a successful week by communing together at Alex Payne's house.
Team members grabbed the Max from downtown to PDX to fly back home.



After taking a bit of time to think about this, here are my takeaways on having a successful team building week.

Always begin the week and end the week by talking about mission.  Discuss the mission of the organization, the mission of the team, and set a clear tone for what the group should accomplish that week.  Reminding people of an organization’s true purpose serves as a great way to inspire and re-ignite your team’s passion.

You can’t put a price on face time.  Seriously.  For distributed companies, where people often interact via email, IRC or the occasional conference call, team members need to be reminded who each other are, and to see what kind of people they are in a non-work setting.
Don’t be extravagant a trip to Vegas is showy, distracting and deters people from embracing a company’s mission.  But do treat your team well.  Communing over a nourishing meal and a few bottles of wine go a long way in helping your team members know you are grateful for them and all of their hard work.  Both weeks, we were able to keep every meal under $100 per person, including the nights that we really splurged.

Go Away
An all-hands or team building event for distributed companies should never take place in the city of the company’s primary office.  If it’s a team building function, other employees will not respect the team’s purpose for the week and will constantly try to pull team members into meetings.  After work, there is the awkward moment when all of the remote employees are at the bar enjoying each other’s company, while all of the local employees are at home with their families.  Holding these functions in a city where no or few people from the company reside create a neutral territory that is more conducive to team bonding and focus for everyone, not just the remoties.
And I’d recommend against holding the event in a city like San Francisco or New York.  There’s a likelihood that your employees will have too many old friends there to distract them in the evenings, rather than spending time with the team.

Alcohol Helps
While not a solution, alcohol helps after a long work session.  It breaks the ice, and helps us introverted nerds drop our walls and say the things that may have been bottled up after months of working from home.  Just make sure you have a designated non- or light-drinker lined up to make sure nothing gets out of hand, and to call cabs to take everyone back to their hotels safe and sound.  Be sensitive to those who don’t partake, and don’t make the week a boozefest.
And plan for hangovers.  The morning after a boozy company function should never include a mandatory team building session.

Free Time and Fresh Air
Ensure that there are plenty of pockets of time where people are free to do as they wish. Don’t cater lunches; let people go outside, get fresh air, walk to get some food and have some time to digest what has been covered that day. Don’t plan every evening; designate 1 or 2 free evenings to let teams and individuals decide what they want to do, and allow the jet-lagged to catch up on some much needed rest.

Keep it Short
The Mozilla team function was an 8 day event, including the Sunday to fly in and the Sunday to fly out. By the time the week was over, everyone was wiped and just ready to go back home, especially the Moms and Dads who missed their tykes.  The BankSimple team function was a 6 day event including travel days, and in my opinion was the perfect amount of time.

Let the Team Help
Open up a forum to allow your team members to help craft the schedule for the week.  Create an Etherpad and let people declare what they want to communicate, learn and accomplish in focus sessions.  Ask them what they want to do for fun, which could mean touring a brewery or geeking out at an 80s arcade, and make it happen.  One of my favorite team building sessions took place a few years back, where Mozillians took a cooking class on Indian cuisine and prepared a meal together.

Create situations that give your team a different perspective on their work and their purpose.  Go for a long hike, visit the ocean and walk along the beach, listen to a noteworthy individual speak or visit a museum that features the works of the forefathers of your industry.

Choose a cost-friendly location that features a culture that your team is interested in exploring together.  For both of these weeks, we chose to host the event in Portland, where both groups enjoyed digging into the food, beer and coffee scene.  
If no employees reside in the chosen location, reach out to a local food blogger and purchase their consulting services to help plan your evening excursions.  Tell them the nights you want to dine out, how many people, budget per head count, cuisine preferences, dietary restrictions and overall vibe you want to create for your team.


 Let your employees know ahead of time how to record and declare expenses that should be reimbursed.  Some of us take those rules for granted, and the younger employees often feel reluctant to declare expenses because they don’t want to seem greedy.


 Strive to create a good balance between communing, discussing, hacking and playing. All of those aspects are so important for bringing teams of remote employees together, to help them feel like they’re working with a team, even months later when they’re cranking out code at midnight in their home office.


Fellow Mozillians and BankSimpletons, feel free to comment on what you thought was great, what you thought was not so great, and what you’d do differently.  Others, what have your favorite team building experiences been?  I’d love to hear y’alls thoughts.