DiscordとVSCodeを使ってリモートワークで快適にペアプロをする話

ogp

こんにちは、WEAR部運用改善チームの三谷です。

僕たちのチームのミッションは、WEARの運用においてエンジニアが行なっている作業内容を見直し、本来注力すべきサービス開発に取り組める時間を増やせるよう、運用を改善することです。時にはシステムを開発して自動化をしたり、時にはその業務自体が本当に必要なのかを考えて業務フローを整えたりしています。

そんな僕たちが、昨今の新型コロナウィルスの流行によってリモートワークがメインとなった状態で、メンバー間でペアプロをしたいと思った時に採用した方法がとても良かったので紹介したいと思います。

はじめに

新型コロナウィルスの世界的な流行を受け、弊社では2月半ばからリモートワークが推奨となり、3月末には全員が強制的に在宅勤務となりました。WEARプロダクトのエンジニアも2月より、各自自宅で業務を行なっています。

リモートワークになって懸念されたのが、メンバー間で十分なコミュニケーションが取れなくなることでした。特に、オフィスで自然と行われていた雑談レベルの会話が、リモートワークではできなくなってしまうことが問題と思われました。というのも、これまでは何気ない雑談から問題に気づいたり、問題が発生したタイミングで担当者に直接話しかけて素早く対処できたということが多々ありました。

また、業務の合間にメンバーと世間話をして、お互いの性格や価値観を知るということもできました。Slackなどのテキストチャットでコミュニケーションをとることもできますが、いくらタイピングが速くてもこういった雑談レベルのコミュニケーションを全てSlackで行うのは不可能と思われます。

個人的には、リモートワークでのテキストチャットによって、以下の点でコミュニケーションが低下することを懸念していました。

  • テキストを打つのが面倒で必要以上に発言しなくなる点
  • 相手の状況がわからず、質問するタイミングが難しくなる点
  • 急ぎの用であっても、相手が見てくれないと返事が来ない点
  • 周りの状況がわからず、雑談を投げかけにくい点(雑談を投げかけても反応がないとソワソワしますよね)

この他にも、リモートワークによる懸念はたくさんあると思います。

以降は、これらの懸念を解消するために行った対策を紹介します。

Discordでオフィスにいるかのように話しかける場を作る

上記の背景があり、弊社ではリモートワークで気軽にメンバーに話しかけることができるようにDiscordを導入しました。

Discordとは

Discordは、もともとゲーマー同士が音声で会話をしながらゲームを進めるためのボイスコミュニケーションツールでした。サーバー(コミュニティ)を作成してチャンネルを用意することで、チャンネルにいるユーザーでボイスチャットができます。その他にも、テキストチャット機能やビデオ通話、画面共有もでき、とても便利なツールです。

弊社では、サーバーをプライベート設定することで使用を社内のメンバーに限定し、チームや個人のチャンネルを作成して様々な会話が行えるプラットフォームとして活用しています。

Discordについての詳細は、HPをご覧ください。

discord.com

どこが便利?

前述しましたが、Discordではチャンネルに入ることにより、チャンネル内のユーザーとボイスチャットができます。チャンネルはいくつも作成できるので、自分のチャンネルを作成している人もいます。

僕のチームでは、基本的に始業後はDiscordにログインしてチームもしくは自分のチャンネルに入り、マイクのみミュートの状態にしています。そうしておくと、僕に話しかけたい人は同じチャンネルに入ってきて「みっきー!」と話しかけることで、僕には相手の呼びかけが聞こえます。そして、マイクのミュートを解除するだけで会話を開始できます。

discord

上図では、マイクをミュートにして自分のチャンネルにいる状態です。その他にも、数名が集まってミーティングをしていたり、僕と同じように個人のチャンネルで待機している人がいるのも一目でわかります。個人のチャンネルに一人でいる人は誰とも話していないことがわかるので、気軽に話しかけられます。また、誰かと話しているきに、チャンネルにふらっと他の人が入ってきて雑談が盛り上がるということもよくあります。

このように、Discordを利用すると雑談レベルの会話がリモートワークでも気軽に実現できます。これはとても画期的なことだと僕は思います!

最近では、WEARプロダクトのみんなが一日中Discordにログインしているので、オフィスで働いているときと同じ感覚で効率よく会話ができています。

しかし、いくつか課題も残っています。Discordに常駐することは強制ではないので、ログインしていない人に話かけたい場合はSlackなどで呼びかけて返答を待つ必要があります。

また、どこかのチャンネルで複数人が会話している様子を伺えても、雑談をしているのか込み入った話をしているのか判断ができないのでチャンネルに入りづらい時もあります。

例えばDiscord常駐を強制にしたり、雑談は「雑談チャンネル」で行うなどルールを決めると、もっと気軽に話しかけられる環境が作れて快適になりそうです。

Discord × Visual Studio CodeのLive Shareプラグインを用いたリモートワークでのペアプロの試み

ここで本題のリーモートワークでのペアプロについて紹介します。ペアプロには、先ほど紹介したDiscordとVisual Studio Code(以下、VSCodeと表記します)のLive Shareプラグインを組み合わせて使うのがオススメです!

Live Shareプラグインとは

Live Shareプラグインは、簡単に言うとVSCode上で複数人が同じファイルをリアルタイム編集できるVSCodeの拡張機能です。ホスト側が招待リンクをゲスト側に渡すことで、ゲスト側がVSCode上でホスト側のファイルを編集できます。ファイルの他にも、ターミナルやローカルサーバーも共有できます。

marketplace.visualstudio.com

細かい使い方は公式情報をご覧ください。

visualstudio.microsoft.com

Live Shareの機能を使ってみて個人的に驚いたのは、ゲスト側がホスト側のローカルファイルを触ることができることです。ホスト側のVSCodeのセッションにゲスト側がログインすることで、ホスト側のVSCodeで開かれているフォルダのファイルにアクセスできるので、ローカルファイルであっても共同編集できます。ソースコードを一旦GitHubへ上げ、プルリクを作成してレビューしてもらうなどの作業に比べると、ソースコードの共有と確認が格段にスムーズです。

Discordで話しかけて、Live Shareでペアプロをするととても効率的!

ここまでの結論として、リモートワークでは常にDiscordにログインした状態でいるのがオススメです。そして、ペアプロをしたいときは相手のいるチャンネルに行って「今ペアプロできますか?」と話しかけて、Live Shareを始める。こうすることでオフィスにいる時と比べても遜色ないほど、スムーズにペアプロを行うことができます。

さらに、Discordの画面共有機能も組み合わせると、ホスト側のローカル環境のプログラムの動作を一緒に確認しながら進められてとても便利です。僕たちのチームではこの方法を取り入れることで、リモートペアプロをしながらでも効率よくソースコードだけでなく表示の確認もできるようになりました。

DiscordとLive Shareプラグインのテキストチャット/ボイスチャットの比較

実は、Live Shareにもテキストチャットとボイスチャット機能があります。それぞれ、Live Share ChatとLive Share Audioという拡張機能をインストールすることで利用できます。尚、近日中にこれらの機能を統合したLive Shareがプレビュー公開される予定です。

詳しくは以下の記事をご覧ください。こちらの記事では、VSCodeでのテキストチャットとボイスチャットを使ったデモも確認できます。

devblogs.microsoft.com

実際に使ってみた感想

実際に使ってみた感想としては、テキストチャットについてはVSCodeアプリケーションから離れなくてもテキストが送れるので便利に感じました。しかし、現状ではテキストしか送れず、スクリーンショットやテキスト以外のファイルを送って説明するなどができないので少し歯がゆく感じました。その点では、他のテキストチャットアプリの方が快適です。

また、ボイスチャットも試したのですが音声が聞こえない状態になってしまい、その不具合は解消できませんでした。

何れにしても、Discordで相手に呼びかけてペアプロを始めるというフローが快適だと思うので、今の業務利用の仕方では、あえてLive Shareのボイスチャットは使わないかなと思いました。テキストチャットに関しては、ペアプロ中にURLなどちょっとしたテキストを送りたいときに便利なので使えそうです。

まとめ

リモートワークにおけるペアプロの方法を紹介してきました。これまでの内容をまとめると、僕たちのベストプラクティスはDiscordでマイクをミュートにして常駐しておき、気軽に話しかけてLive Shareでペアプロをするという方法です。

この方法で、お互いに離れたところでリモートワークをしていても、話しかけてから10秒ほどでペアプロを開始することが可能になります。オフィスにいる時と同じくらいスムーズですよね!

リモートワークでのコミュニケーションやペアプロの方法に困っている方は、是非、この記事の内容を参考にしていただけると幸いです。また、この他にもリモートワークを快適に行う方法があれば教えていただけると嬉しいです。

さいごに

業務以外でも僕たちのチームでは、リモート環境でもチーム内コミュニケーション促進を狙えるゲームとして人狼ゲームをやってたりします。人狼ゲームはコミュニケーションがとれるだけでなく、その人の人間性や意外な一面を垣間見ることができるので、発足して間もない僕のチームにとってはとても実りがありました。

今回のリモートワークのように突然業務をする環境が変わった時、それまでとは違って不便になることは当然出てきます。そんな中で、新しい仕組みを作って快適にしていくということは、エンジニアが得意にしていることだと思います。環境の変化に負けず、新しい楽しみを見つけていきましょう!

ZOZOテクノロジーズでは、一緒に楽しく働いてくれる方を募集しています。ご興味のある方は、以下のリンクからぜひご応募ください。

tech.zozo.com

カテゴリー