• GIZMODO
  • DIGIDAY
  • gene
  • cafeglobe
  • MYLOHAS
  • Glitty
  • machi-ya
  • roomie
  • GIZMODO
  • DIGIDAY
  • gene
  • cafeglobe
  • MYLOHAS
  • Glitty
  • machi-ya
  • roomie

堀込泰三堀込泰三  - ,,,  11:00 PM

10のタイムゾーンにまたがる「Buffer」チームの働き方とそのメリット

10のタイムゾーンにまたがる「Buffer」チームの働き方とそのメリット

160423buffer_workstyle.jpg


buffer overflow:当社「Buffer」のチームは、世界中に分散しています。先日サンフランシスコオフィスを閉鎖したので、現在は12のタイムゾーンにまたがるチームとなっています。よく聞かれるのが、「そんなに多くのタイムゾーンにまたがっていて、どのように働いているのですか?」という質問。この記事では、プロダクトエンジニアリングディレクターを務めるNiel de la Rouviereが、その質問に答えてみたいと思います。

筆者自身、この質問に答えることで、会社でフルタイムデベロッパーとして働くことのユニークな側面を振り返ることができました。リモートで働き始めて2年になりますが、それはそれは楽しい道のりでした。以下に、タイムゾーンをまたがって働くことのメリットと課題をお話しましょう。


勢い:1日中働き続けることができる


まだ会社が小さかったころ、私はアジア、コリンは英国、ブライアンは米国にいました。タイムゾーンをまたがることによる勢いを知ったのはそのころです。私はフロントエンド、コリンはバックエンド、ブライアンはデザインを担当していました。1日の始まり/終わりにお互いに同期を取り、バトンを渡します。すると、翌日起きたときにはバックエンドやデザインが完成していて、すぐに次の作業に取り掛かることができました。一貫した生産性の連鎖は目を見張るほど。ボトルネックはほとんどありませんでした。このように、仕事が止まらないことこそ、タイムゾーンをまたいで働くことの最大のメリットです。

現在では、当社のエンジニアリングチームにも人が増えました。チームが変われば人も動くため、事態は以前よりは少し複雑です。たとえば私は現在、米国やヨーロッパにいる人たちと働いているため、時間に多少のオーバーラップがあります。しかも、現在イタリアのミラノにいるフェデリコが、数カ月後に家族と一緒にアジア/オーストラリアを旅する予定です。これによって、私たちの勢いとリズムが少し変わるでしょう。それに、タイムゾーンをまたいでいても、時には勢いが失われることもあります。

そのため、朝起きたら作業が進んでいて、すぐに次に取り掛かれるという状況にはまだ至っていません。このような事態は定期的に発生するため、次のポイントが必要になります。


ボトルネックが発生したら、新しいワークフローが生まれる:自立と並列化


当社では、モチベーションの高い、自立した人材の採用と育成を目指しています。チームのダイナミクスは、常に変化しています。問題が発生することもあれば、メンバーが異なるタイムゾーンに出張することもあります。風邪をひくことだって、数日間の休暇を取ることだってあるでしょう。このようにしてチームのダイナミクスが変化したときに、チームメンバーとのオーバーラップがほとんどなくなってしまうと、上記の勢いが大きく失われます。しかし、そんなときにこそ、新たなワークフローとチャンスが生まれます。メンバーが自立して、異なるタスクを並行して進められるチャンスになるのです。

当社にとって開発チームのスピードは重要なので、常にリーンなコーディング、MVP(必要最小限のプロダクト)やアイデアの検証を心がけています。そのため、ボトルネックや混乱に直面したときには、バグの修正、新機能の異なる実装方法のリサーチ、コードの一部のリファクタリング、お客さまからのフィードバックの掘り下げなど、別のチャンスを探そうとします。

これらの取り組みは、最初からプランに含まれているわけではありません。つまりデベロッパーは、自発的にこれらのタスクを見つけ出す能力を持たなければなりません。

私はこれをコールバックになぞらえています。プランのある場所で休止状態が発生したとき、積極的にほかの実行方法を探し、コールバックが戻ってきたらプログラムのその部分をレジュームします。

プロダクトエンジニアリングの立場から言うと、これによって動きが速くも遅くもなりました。新機能の構築時には速い動きを心がけ、エンジニアリングチーム内外でボトルネック(顧客開発のフィードバックやデザイン待ちなど)に直面したときは、リファクタリングやプランニングなど、時間のかかるタスクをじっくり検討しています。

このような並列化が、当社のエンジニアリング文化における重要な役割を果たしています。


テレビ会議と非同期のコミュニケーションで連絡を取る


当社は現在、「Buffer for Business」「Respond」「iOSチーム」などの小規模なプロダクト&エンジニアリングチームに分かれています。チームはたいてい5、6名で構成され(うちエンジニアは1、2名)、さまざまなタイムゾーンにまたがっています。毎日の情報共有のためのビデオチャットは、タイムゾーンによって意味が変わってきます。たとえばヨーロッパ/アフリカのメンバーにとってのビデオチャットは、米国とのオーバーラップの関係で、1日の終わりを意味します。一方で米国のメンバーにとっては、ビデオチャットが1日の始まりです。つまり、各メンバーがいる場所のタイムゾーンによって、それぞれのルーチンが異なることになります。

私は「UTC+2」のタイムゾーンにいるため、通話を1日の終わりにして、朝の時間帯に集中力を要するタスクに深く取り組みます。同じタイムゾーンにいるエンジニアも、同じように朝に集中して働いています。そこで私たちは、通話は午後にすることにしました。

それとは別に、米国とのオーバーラップの関係で、1日の終わりの2~3時間が、テレビ会議のできる時間帯です。当社ではそれぞれのタイムゾーンでの生活を尊重しているので、相手が望まないのであれば、深夜にテレビ会議を設定することはありません。そのため、この短い時間帯が埋まっている場合、一部のテレビ会議を選んでほかは出ないか、別の日に延期してもらう必要があります。

これは、チームの成長における課題です。でも、非同期式コミュニケーションへの依存を高めるチャンスでもあります。勢いが変わるのと同様に、コミュニケーションスタイルも変わります。私たちにはさまざまなコミュニケーション手法があり、状況によって最適な方法は異なるのです。時には、優れた非同期式コミュニケーションを確立することが、リアルタイムコミュニケーションと同じくらい重要になることもあります。

今の時代、『Slack』『Paper』『Discourse』『Github』やメールなど、そのためのツールがたくさんあるのは本当にありがたいことです。


濃密なコミュニケーションを要する時期は近いタイムゾーンを優先


これまでの経験上、近いタイムゾーンを優先したほうがいい時期があります。新人研修のメンバーが参加した場合、Bufferでの成功へ導くために、たくさんのケアが必要になるでしょう。当社ではそのような責任を重視しており、この時期に関してはコミュニケーションのオーバーラップを大切にしています。たとえば現在の新人研修プロセスでは、ロールバディ、カルチャーバディ、リーダーバディによる3バディシステムを取っています。ロールバディは、新メンバーの役割に関する疑問に答えます。コードに関する質問に答えたり、ブレインストーミングを援助したりすることで、自立したデベロッパーになる道のりをガイドします。

そのため、ロールバディはオーバーラップの多いタイムゾーンに配置するようにしています。幸いチームが世界中に広がっているおかげで、ほとんどのタイムゾーンでロールバディを見つけることができています。


いつでも対応可能


タイムゾーンを越えて多くのデベロッパーがいると、どんなアラート、バグ、ダウンタイムが発生しても、最低でも1人は対応できるエンジニアがいるというメリットもあります。会社の文化として「no-ego doer」(非エゴの実行者)を重視していることも、コードやチームに対する共同責任を促進しています。これまでに、私がデプロイしたものがバグを生み、翌日慌てて対応しようとしたら、すでに「Hapiness Hero」チームが発見して別のエンジニアが解決済みだったということが何度もあります。これは本当に素晴らしいことだと思います。

このような感謝は、ほかのチームメンバーにも当てはまります。また、普段だったら触らないような分野のコードについて詳しくなったり、DevOpsのスキルが向上したりといった、副次的な効果もあります。これによって前述の自立がさらに促され、優秀なデベロッパーが育つことになります。

おかしな話ですが、これまでに私がもっとも勉強しなければならなかったのは、デフォルトの短縮URL「buff.ly」のDNS解決が不安定になったときでした。すべての投稿において、リンクの解決ができなかったのです。しかもそのタイミングがまた不思議で、第3回社員旅行としてチーム全員がケープタウンに旅行中のことでした。

私以外のエンジニアは全員移動中でした。私はいろいろ勉強しましたが、いくつかの問題は解決できませんでした。タイムゾーンをまたぐチームが一番必要なときに、全員が1カ所に集まっていたとは、なんとも皮肉なものです(笑)

つまり、世界中にエンジニアを持つことが、思いがけず不安定に強いシステムを作り上げていたのです!


最後に

リモートで働くのはとても楽しいことであり、タイムゾーンをごちゃまぜにすると、新しい働き方が生まれます。Bufferでは、それが自然になっています。時には課題もありますが、それはワークフローを見直し、変えていくためのチャンスでもあります。それに、勢いを保てる、いつでもサポート可能、ワークフローを並列化できるなどの点は、非常に大きなメリットです。チームの成長に伴い多くのことを学べるので、素晴らしい道のりになることは間違いありません。


Working Remotely: How we develop Buffer over 10 different timezons|buffer overflow

Niel de la Rouviere(訳:堀込泰三)
Photo by Shutterstock.

MORE FROM LIFEHACKER

powered by
    
    
    
  

Kotaku

Recommended

© mediagene Inc.