この記事は Wano Group Advent Calendar 2022の25日目の記事となります。
4日目にProduct-Led Growthまとめ、24日目に(STREAM DECK互換の仮想デバイスの紹介)も書いているので、そちらもどうぞ。
また、グループ会社のEDOCODE(メインで仕事してます)のAdvent Calendar もありますので、よろしければそちらもどうぞ。
この記事に書いていること
この記事では僕がメインで仕事をしているEDOCODEでのリモートワークでの開発で、どうやって相談しやすい(=問題が放置されない)ようにしているかに関して書いています。
EDOCODEでは新型コロナ流行の割と最初の方からリモートワークを始めています。最初からうまく行っていたわけではありませんが、今は普段の開発であまり問題を感じていません。
リモートワークでの開発では誰が困っているかとかわからないとか、気軽に話しかけにくいとかの課題がよくありますが、これに関してはあまり問題ない状態になっていると思っています。
相談しやすいリモートワークでの開発をどうやって実現しているのかについて紹介したいと思います。
課題と解決の方針
よく言われる課題として、以下の2つがあるかなと思います。
- 誰かが何かに困っていることがわからない
- ちょっとした質問や相談をしたいけど、相手の状態がわからない(離席中、ランチ中、MTG中...)
1. 誰かが何かに困っていることがわからない
正直なところ、これは出社したら解決する問題でも無いと思っています。
ミーティング中でしたら、他のメンバーが何かに困っていても気づけませんし、席が離れていても気付きにくいです。
困っている相手が気軽に話しかけてくれれば良いですが、そうでなければ、問題を抱え続けているかも知れません。
相談しやすい仕組みや問題に気付ける仕組みが必要ですね。
2. ちょっとした質問や相談をしたいけど、相手の状態がわからない
これは、出社していれば、わかりやすいかも知れません。離席中とかはひと目でわかりますからね。
席にいれば、気軽に話しかけることができます。
ただ、ミーティング中とかだと、いつ終わるんだろ?カレンダー確認するか...みたいなことも発生しますね。
なので、これは相手の状態がわかれば問題ないわけですし、気軽に話しかけられるツールがあれば問題ないです。
解決の方針
というわけで、以下のように解決の方針がたてられそうです。
課題 | 解決の方針 |
---|---|
誰かがなにかに困っていることがわからない | 相談しやすい仕組みや問題に気付ける仕組みを作る |
ちょっとした質問や相談をしたいけど、相手の状態がわからない | メンバーの状態がわかるようにする。簡単に話しかけられるツールを使う |
ツールや仕組みで解決する
EDOCODEでは、下記のような対策をしています。
解決の方針 | 解決策 |
---|---|
相談しやすい仕組みや問題に気付ける仕組みを作る | 朝・夕のミーティング、Slack/Slackのtimes-channel、週一の1 on 1 |
メンバーの状態がわかるようにする。簡単に話しかけられるツールを使う | tandem |
1. 朝・夕のミーティング
朝(全員参加のStandup Meetingの後)と夕方(16時)に開発者のミーティングを行っています。
速ければ、朝は10分弱、夕方は5分弱と非常に短いミーティングです。
夕方のミーティングは任意参加(忙しかったり予定があったりする場合はスキップでもよい)としていますが、だいたい参加してるんじゃないかと思います。
現時点では、参加人数は7人です。
朝やっていること
- 監視の確認(リソースモニタリング) - 1-3分
- 今日やることの確認 - 30秒弱 x 人数分くらい
- 直近PMから振られたタスクの確認 - 0 〜 2分
- 本日前後の締切タスクの確認 - 0 〜 1分
- コードレビュー予定確認 - 1分
- 相談・共有 - 0 - 10分
- トラブルの報告 - 0 - 5分
10分から長くても20分弱くらいです。たいてい10分以内に終わります。
夕方やっていること
- 今日やったことの確認 - 30秒弱 x 人数分くらい
- 前日、当日にPMから振られたタスクの確認 - 0 〜 2分
- 相談・共有 - 0 - 10分
- トラブルの報告 - 0 - 5分
朝の内容のコンパクト版です。長くても10分強くらい。何もなければ5分くらいで終わります。
詳しい内容
朝は割と色々盛りだくさんですが、太字のところが重要なので、太字のところだけ説明します。
今日やることの確認
Notionに、下記のようなボードを作っています。タスク管理は別であるのですが、本日やることを「TDDO」に入れておくという感じです。
タスクと二重管理になってしまっているところがあるのですが、タスクよりも粒度が細かい、1-2時間ですむものを書きます。
つまり、TODOに入れたものは、基本的に今日終わらせるものです。
もともと、各TODOに対して見積もり時間も入れるようにしていたのですが、最近さぼりがちです。
見積もり時間を入れていると、金曜時点で、Doneに入っているものの合計時間を数えれば、だいたいどれくらいのタスク量だったか見える化できます(あくまで見積もりなので目安ですが)。
ちょっと話がそれましたが、TODO
は、本日やることなので、本来夕方のミーティングでは、DOING
かDONE
に移っているべきものです。何日もTODO
やDOING
にとどまっているようなら何か問題がある可能性があります。
相談・共有
困っていることや、何か気になっていること、お知らせなどをボードに書いておきます。
就業時間中に聞ければそれで良いですが、聞けないまま放置してしまうといったことがないように、このボードを置いています。
対面で聞きたいけど、ミーティング中とかで捕まえられなかった...後で聞けたら良いや、くらいの内容をここに残しておくのが良いのかなと思います。
あと、Slackで返事もらってないんだけど...みたいなのも、書かれたりします。
すぐに聞けなくてもいいけど、対面で聞きたいことを残しておくことで、相談漏れを防げます。
2. tandem
コミュニケーションツールとして、tandemを使っています。
tandem については、以前、EDOCODEのCEOの田村が、リモートワークでもチームを感じるツール「tandem」という記事を書いていますので、良かったらそちらも参照してみてください。
そちらの記事にも書かれていることと重複するところがありますが、tandem の下記のような機能が非常に良いと思っています。
- Wave
- みんなの状態がわかる
- ミーティング中かわかる
この3つに絞って紹介します。
Wave
Wave
は、相手に対して、「手を振る」ことができます。
ちょっと用事があるときに、「ちょっといい?」とよびかける感じが実現できます。
Waveをした相手に下記のような通知がいき、通知をクリックするとビデオチャットが始まります。
上のように、NさんからのWaveがあった通知が来て、アプリ上では下記のようにNさんからWaveがあったことがわかります。
すぐに応じることができなくても、誰にWaveされたかがアプリ上でわかるので、相手にWaveし返すことで 「今、話せるよ」と合図を送ることができます。そうすると相手に同様に通知が行きますので、そこから会話ができますね。
なお、別にWaveせずに直接話す(Talk
)こともできます。相手がactiveな状態なら、急いでるときはそうすることもあります。
相手の状態がわかる
ユーザーがactive
/idle
/online
/offline
がひと目でわかります。
相手の状態を気にせずWaveすることもできますが、「今idle/offlineだから、Slackに残しておこう」と判断できますし、idle/offlineということがわかっているので、すぐに返事はこないなということも推測できます。
また、ランチにでてるとか、ちょっと外に出てるとか、集中したいときとかに、自分のステータスを変更できます。
これだけなら普通ですが、ステータスに対して時間を設定できるのがポイントです。
その設定時間がすぎると自動的にステータスがリセットされます。なので、ステータスを戻すという作業が不要になります。
なお、Do Not Disturb
中にWaveされた場合、アプリ上でWaveされたことはわかりますが、通知は来ません。
ちなみに、Slackと連携させておくと、SlackのStatusと同期されます(Do Not Disturbは同期されないですが)。
ミーティング中かわかる(誰とミーティング中かもわかる)
Google Calendarと連携してるので、ミーティング中の場合、ミーティング用の場所にミーティングのメンバーが集まります。話しかけたいけど、ミーティング中だからあとにしよう...とか判断が付きますね。
この画像の「MY MEETINGS」となっているのが自分のミーティングです。「TEAM MEETINGS」となっているのは、他のメンバーのミーティングです。
アドホックな会議の場合は、ここの画像にはないですが「CONVERSATIONS」というところに入ります。
カレンダーに登録されているミーティングであれば、話したい相手にカーソルを合わせると、終了時間もわかります。いちいちカレンダーを確認する必要がありません。
なお、ミーティング中の人がミーティングが終わったときに通知を受け取るようなこともできます。
上の画像の時計のアイコンをクリックすると、話したい相手がミーティングが終わったタイミングで、自分宛てに通知が来ます。
通知が来たら、相手に対してWaveしたら良いですね。
ちなみに、これは余談ですが、ミーティングの数分前に、「Auto-Join」するかどうかの通知が来ます。これをクリックしておけば、会議の開始に遅れるということもないです。
ちなみに、始まってると下記のように「Start」になります。
上の画像をみてわかるように、tandemからZoomやMeetでビデオ会議することもできます。カレンダーにURLが設定されていれば、どちらかを選択するようになります。
また、tandem上で常設のミーティングルームも設定できます。ランチ用や緊急対応用みたいな部屋を設定しています。
緊急対応用の部屋に入ってる人がいたら、そこに参加して詳しい話を聞くとかができますね。
つまり、tandemを使うと何が良いか?
ちょっと話がそれてしまいましたが、まとめると...
- 話しかけたい相手に気軽にWaveで話しかけられる/急いでるなら直接話しかけることもできる
- 話しかけたい相手が、今、話せる状態なのかわかる
- 自分の状態を皆に知らせることができる
話しかけたいときに話しかけやすくなり、相手のレスポンスが必要なとき(Slackの返事待ち、会議に参加してほしい)に、相手の状態がわかることで、それが可能かどうかわかるようになります。
- Slackに書いたけど返事ないなー
- 急な会議に参加してほしいから、Slackで呼んだけど、レスポンスないな...
みたいな状況が発生しにくくなります。意外とこういうマイクロなストレスと時間ロスがありませんか?
3. Slack の times-channel
よくあるやつですが、みんながみんな使ってるわけでもないです。
ただ、使っている人は、今考えていることや、ちょっと困っていることなどを書いてくれているので、それを知ることができたり、解決策を提案したりすることができています。たんに雑談してるときもありますね。
4. 1 on 1
週一で1 on 1 をしています。基本的にはタスク確認が目的なので、予め下記のようなフォーマットに入力してもらった上で、何もなければSkipしても良いことにしています(下記の内容はダミーです)。
実装の相談や雑談とかで30分くらい使ってるときもありますが、5-10分くらいで済むことが多いです。
まとめ
問題を抱えている人が相談するフローは下記のようになります。1 on 1 は、下記に対して、補完的に働くと思っておけば良いかなと思います。
おしまい
以上、ご参考になれば幸いです。別にオフィスで対面で仕事することを否定するわけではありませんが、リモートワークでも割とスムーズに開発するためにこういうことをやってますよ、という紹介でした。
さて、2022年のAdvent Calendarはこれでおしまいです。例年、空きが出たり、当日に間に合わなかったり...ということが多いのですが、今年はみんなが協力してくれたおかげで、ほとんど遅れることもなく完走できました。
グループ会社も含め、協力してくれたみなさん、ありがとうございました!
もちろん、読んでくださった皆様もありがとうございました!
それでは、皆様、よいお年を〜。
人材募集
現在、Wanoグループでは人材募集をしています。興味のある方は下記を参照してください。
JOBS | Wano Group
EDOCODEについては、以下をご参照ください。
Jobs at EDOCODE