はてなにおけるリモートワークあれこれ

こんにちは。このエントリは、はてなデベロッパアドベントカレンダー2015の11日目です。

developer.hatenastaff.com

昨日は id:tarao によるこちらのエントリでした。

developer.hatenastaff.com

はてなでは、東京と京都にそれぞれオフィスがあります。また、宮城と愛知のそれぞれの自宅からリモート勤務をしているスタッフもいます。 今まで何度かはてなにおけるリモートワークについて書かれたブログエントリがありましたが、今日はその最新版をお届けしようと思います。

全社的なリモートの仕組みについて

まずは、全社的な仕組みについて。

はてなでは、ポリコムテレビ会議システムが導入されています。

ポリコムは東京と京都のそれぞれの会議室やセミナールームなどに設置されていて、拠点間の会議はこれを使って行われます。 また、はてなでは始業時に全員参加の朝会があり、全体周知や前日のリリース情報の共有、当番制の3分スピーチなどをして1日の仕事を始めます。

朝会は東京と京都のセミナールーム同士をポリコムで繋ぎますが、ここで問題となるのは自宅でリモート勤務をしているスタッフについてです。

はてなでは、朝会だけでなく毎週木曜日の技術勉強会など、拠点間のセミナールームを繋いで開催される多人数のミーティングがいくつかあります。

そこで、最近になって自宅からのリモートスタッフもこうした全社的なテレビ会議に参加できるよう、新しいサービスが導入されました。

BlueJeansというテレビ会議サービスです。 bluejeans.com

BlueJeansの大きな特徴は、ポリコムのシステムとPCとが接続できるというところにあります。

これにより、東京と京都のセミナールームからはポリコム、自宅環境からはPCをBlueJeansで接続することで、全員が1つのテレビ会議に参加することができます。

また、朝会のような全体イベントだけでなく、通常の会議でも会議室のポリコムと、リモート勤務スタッフのPCをBlueJeansで接続して利用できます。

BlueJeansの導入により、自宅でのリモート勤務がぐっと楽になった印象があります。

開発チームのリモートワークについて

次に、開発チームにおけるリモートワークについてご紹介します。

ぼくが所属するMackerelチームを例にしましょう。

Mackerel開発チームは、東京オフィス、京都オフィス、愛知からの自宅勤務スタッフの3拠点にまたがってチームメンバーが分散しています。

日常的なコミュニケーションは、主にSlackGithubのIssueなどを用いて行われます。 Mackerelチームのコミュニケーションについては、ディレクターの id:Songmu によるこちらのエントリが詳しいです。

developer.hatenastaff.com

基本的にはチャットでのコミュニケーションがメインとなりますが、チーム朝会だけは全員顔を合わせて行われます。

チーム朝会はZoomというサービスを使って行われます。

zoom.us

朝会でZoomを使う理由は、自分の端末上でZoomを実行し、かならずチームメンバー全員がそれぞれ自分の端末でテレビ会議システムにログインするようにするためです。こうすることで、自宅からの参加者とオフィス勤務のメンバーとで、環境を揃えることができ、オフィス出勤者同士でワイワイしてるのを自宅から眺める、といった変な距離感が発生しないようにしています。

リモートワークをするにあたって、環境を揃える、というのはとても大切なことだと思います。特にオフィス勤務者は、なかなか自宅からのリモート勤務がどういったものかピンとこないものです。以前は「チームメンバー全員が自宅でリモートする日」などを設けて、自宅からのリモート勤務の雰囲気を全員で共有する、といった取り組みなどもやっていました。

こういったことを注意しておかないと、オフィス勤務者同士の口頭での決定事項が共有されず、他のリモートメンバーが置き去りになってしまう、といった問題が起きてしまいます。

一方で、スプリントの振り返りや、計画会議など多少込み入った議論が必要な場合は、自宅勤務スタッフもその日だけオフィスに出勤してもらい、なるべく同じ場所で議論するようにしています。やはりリモート越しに仕様についての深い議論をなどをするのは難しい、という印象があります。

Mackerel開発チームとは別のチームの話になりますが、リモートワークでは兼務が難しい、ということもあるようです。複数のチームの仕事を兼務していると、いわゆる割り込み作業が多く発生します。リモートワークの場合、こういった割り込み作業のコントロールが少し難しいようです。例えばオフィスで仕事をしていれば、割り込み作業に対して、それぞれの依頼者に声をかけて気軽に調整することが可能ですが、リモートワークだとそういった「それぞれの依頼者に声をかける」という作業が少し大げさになってしまいます(テレビ会議をセッティングしたり、グループチャットを立ちあげたり)。なのでリモートワークで兼務をする場合は、曜日によってどの仕事をするか明確化する、などの工夫をしているようです。

リモートワークでのコミュニケーションについて

ネットワーク環境が整備され、リモートワークは以前と比べて格段に楽になりました。 ソフトウェア開発において、GithubにIssueをたて、コードを書いてpushしてCIの結果を待ってプルリクエストを送る、といった日常の作業では、ネットさえ繋がっていれば場所の制約はまったくありません。こういったことから、開発の仕事はロケーションなど気にせずにどこでもできそうな気がします。

たしかに、コードを書くことは場所を問わずにどこでもできます。しかし、チーム開発となると少し事情は変わります。 いくらチャットや最新のテレビ会議システムを使おうとも、メンバー全員が同じオフィスで仕事をすることと、リモート越しに仕事をすることはまったくの別物です。

コミュニケーションでメンバー同士が意思疎通するためには、様々な情報が必要です。会話の際の声のトーンや表情、日常の所作。そういったところから、我々は非常に多くの情報を読み取りながら他者とコミュニケーションをとります。リモートワークにおけるコミュニケーションでは、こういった「言葉以外の情報」の多くが欠けてしまうことに注意する必要があります。

Slackで日常的にチャットをする場合、我々は絵文字を多用します。これは、言葉だけでは伝わらない自分の感情をチャット上で補完するためのテクニックです。たとえば、レビューなどで少し込み入った議論をする場合、どうしてもきつい文体になってしまうので、その場合「自分は別に機嫌が悪いわけではない」ということをチャット越しに伝える(感嘆符をつけたり、「〇〇ですー」と語尾を伸ばしてみたり)といった具合です。

チームで仕事をするには、それぞれの人となりを知ることも大切な要素なので、リモートワークがベースのチームであっても、定期的に顔をあわせる機会を作ってメンバー間の相互理解を深める必要性があるのではないかと思っています。

おわりに

リモートワークは、いろいろと難しい部分もありつつも働き方の多様性を拡げる大切な取り組みです。 とりわけリモートワークだけが難しいわけではなく、チームで仕事をするには様々な問題と対処する必要があります。リモートワークの工夫とはそういったチームで仕事をするための工夫の延長にすぎません。

はてなでは、多様な働き方を日々改善しながら開発に取り組めるメンバーを募集しています。

hatenacorp.jp

アドベントカレンダーの明日は id:dekokun です。お楽しみに!!