

続・リモートワークどうでしょう?―第2話 新人フォロー編
前回までのあらすじ
リモートワークがはじまってから1年半が経ち、佐々木は悩んでいた。
今のリモートワークの進め方ではどうも上手くいかない部分や課題があることに。
そこで、他のチームの人たちにリモートワークでの働き方について聞いてみようと思い立ち、早速行動に移してみた。
そして、佐々木の申し出を快く受け入れてくれた本間さんチームの皆さん(本間さん、柴崎さん、長澤さん)とともにリモートワークでの働き方について話してみることになった。
まずはリモートワークでの朝会についていろいろと取り組みを教えてもらい、大いに盛り上がったのだった。
登場人物紹介
佐々木:気が付けば11年目。リモートワークでの仕事の進め方に悩めるお年頃。輸出管理システムの保守担当チームに所属。
本間:気が付けば17年目。プログラムを書く時間の確保が難しくなってきて焦っているお年頃。パッケージ製品開発のお客様を支援するチームに所属。
柴崎:気が付けば12年目。最近、どうやって働きたいのか分からなくなってきたお年頃。本間さんと同じチームに所属。
長澤:気が付けば3年目。リモートワーク経験の方が長くなって、もう出社していた頃には戻りたくないお年頃。本間さん、柴崎さんと同じチームに所属。
引き続きみんなで話してみよう
リモートでも新人さんをフォローしたい!
佐々木:
新人さんがチームに入ってきたのですが、コミュニケーションの取り方やフォローの仕方をどうしようか悩んでます。
レビューのやり方とか、技術的なところでわからないことがあったときにどうやって説明するのが伝わりやすいかなあと。
本間:
私たちのチームの方は最初どうでしたっけ?もう2年近く前ですが覚えてるかな…。
柴崎:
最初はペアプロやモブプロでしたね。
ペアプログラミング、モブプログラミングとは?
1つのプログラムを複数人で共同開発する手法。2人で共同開発する場合はペアプログラミング、3人以上の場合はモブプログラミングと呼ばれ、それぞれペアプロ、モブプロと略称される。
長澤:
モブプロでやったり、ソロで作業したりと、すごく試行錯誤していましたよね。
本間:
最初の何カ月かはモブプロしていたような記憶があります。
柴崎:
嫌がられるまでモブ作業していたような。全員がモブプロをしたいという感じではなかったのですが、しかし結局、ソロで作業しても個別に質問が飛んでくる。質問へ都度個別に対応するくらいだったら、モブの方がコストは少ないかなと思っていました。
本間:
モブ作業を厚めにしていたのを補足したほうが良さそうですね。
このお客様はまず私と柴崎さんが長い間支援していて、その後に長澤さん含めて数人が同時に参画しました。メンバーが増えた時点では本間と柴崎さんが案件知識を持っていた状態でしたので、成果物を作成することだけでなく、柴崎さんから新メンバーへ案件の教育も兼ねて、モブプロでやっていたのですよね。
佐々木:
エンジニアとして経験のある人でも、新規の案件に参画したばかりの頃って実装方針とか設計書のこととか、わからないことが多いですもんね。それだったらモブプロで一緒に作業した方が早そう!
柴崎:
質問って、ドキュメント化されてないところから飛んできますよね。全てがドキュメント化されている状態もまれなので。
見るべきドキュメントが多くなってくると、書いても読まなくなるという。新規案件に入った直後はgrepするキーワードの感覚がつかめないから、ドキュメントを探すのも大変ですよね。
佐々木:
わかりみがふかい。
本間:
「ドキュメントがあるから読んでおいてね」だと期待したほどは身につかないので、時間を取ってチームで読み合わせもしましたね。ただそこまでしてもドキュメント内容を活用する場面はわかりづらく、最初はモブでやっていたのですよね。
長澤:
話をモブプロに戻すと、モブプロでドライバー(操作する人)を交代することは有効だったと思います。
自分がドライバーの場合は、実際に手を動かすので身に付きやすい。対して、先輩がドライバーの場合は、技術を盗むチャンスがある。
先輩の操作を見ていて「今、何をしたんですか⁉」という場面が多々あります。大体そういう時は、先輩はIDEのショートカットを使っています。
流れるように使っているのを見ると、これは開発効率が大きく変わるなぁと思います。
柴崎:
キーボード操作以外でスクロールしたら負けだと思っている。
リモートでモブプロをやるには?
佐々木:
でもリモートでモブプロやるのってしんどくないですか?Microsoft Teamsの画面共有でレビューやったりしてますけども、「ちょっと貸して」みたいなことやるの大変じゃないですか。
本間:
モブプロと言うと教科書的には共有のモブプロマシンを複数人で使うのですが、今回は共有マシンではなく他メンバーの手元のマシンをリモートで操作することにしました。
ビデオチャットツールに他メンバーのキーボードを操作する機能があるので使ってみたのですが、ストレス気味でした。他メンバーのマシンは勝手が分かりませんし、チャットツール越しのリモート操作はどうにも遅くてやりづらくて…。
柴崎:
ドライバー交代間隔が30分と長くなりがちでした。リアルでモブプロやっていた時は5分で交代していたこともあるのですが、リモートで間隔が長くなってしまうのは交代コストが高いためです。ソースコードをリモート経由でどう次の人に渡すか考える必要があるので。
佐々木:
そのあたりはチャットツールを選べば解決できる問題なんでしょうか?
長澤:
うーん、ビデオチャットツールごとの特性が一長一短なのが、また悩むんですよね。
Slackは画面に直接ペンで書けるので指示しやすいのですが、画質が荒くソースコードが読めないことがありました。
Microsoft Teamsは画質がキレイなのですが、画面へ書き込めないので言葉で指示せざるを得ないのがつらい。
Cisco WebExは画質がキレイだし軽いし画面上へ書き込めるのだけれど、書き込みするには毎回許可を求めるのが当時は煩わしかったです。(今は使っていないので今のことは不明)
Zoomは画質キレイな上にペンで書く機能もあるけれど、書く機能の使い勝手がしっくりこなくて…。
本間:
Slackの、ペンで書いたのが数秒でスッと消えるのは、画面上の位置を指示するのにちょうど良いのですよね。画質がイマイチなのが惜しい…。
佐々木:
通話は別でやることにして、画面共有だけやってくれるツールがあればいいのかな?
本間:
えっ、そんなツールがあるのですか?
佐々木:
いや、そういうツールはないのですが、PCの画面を生配信してみるとか?でも結局、画面上で直接指示することはできないか。
本間:
だよねー。
佐々木:
本間さんチームではどのような形に落ち着いたのでしょう?
柴崎:
プルリクエストとちょっとした会話でどうにか伝わるくらいに知識共有が進んだ結果、教科書的なモブプロする頻度は下がりました。仕様を検討するときや作業難易度が高い時はモブやペア作業しているかな。教科書的なモブプロではないのだけれど。これなんて呼べばいいんだろう?
本間:
「モブプロ」「ペアプロ」ではないけど、ワイワイやってるんですよね。ちゃんと説明すると、同じ成果物を作るために手分けしていて、互いがどんな作業をしているかだいたい認識が合っている状態と言えばいいのかな。たしかに名前が欲しいなあ。「ソロ」だと異なる成果物を作っている印象が出ちゃいますし。
柴崎:
ビデオチャットは開きっぱなしにしているので会話は続いているのですよね。ドキュメント書いているときに「こういう表現どうだろう〜」みたいな相談したりとアドバイスしたり。一緒にコードは書かないけれど、コードを画面共有してもらってアドバイスしたり。


本間:
ポイントは「同じ/近い作業を複数人でやっていること」かなと思いました。例えば1人がテストコードを書いていて、もう1人がテストデータを作っているといったふうに。
メンバ同士のコンテキスト(※背景情報や状況)が近い状態なので、テンポよく相談のやりとりがされています。お互いの作業をフォローしやすそうですし。
今はMicrosoft Teamsのビデオチャットを「本線」にしていて、モブやソロ作業のときは皆が本線のビデオチャットに参加しながら作業しています。
柴崎:
同時に2組で会話が始まった時は、新たなビデオ会議を開いて別れることもありますね。臨機応変に。
佐々木:
そういう意味だと、リモートで教科書的なペアプロやモブプロが難しい問題の根本解決はしてないのか…。求む!ペアプロに便利な画面共有サービス!
本間:
最初期の「教育目的でのモブプロ」は役割を果たしたってことなのかな。
柴崎:
Visual Studio Live ShareやCode With Meなどシームレスにコードを同時編集できるサービスもあるのですが、当時はお客様のコードを外部のサービスで共有するのに拒否感があって採択できませんでしたね。今ならローカルネットワークでコードを共有することもできるので、もう少しうまくやれるんじゃないかな。
モブプロの次の段階
佐々木:
新人教育の話に戻るんですが、なんかこう、教育的な、こちらから指示して手を動かしてもらうようなペアプロの次の段階が欲しいなあと思ってるんですけど、何かそういうのありますか?こちらの指示で実装してもらうのではなくて、自分で考えることのサポートというか…。
柴崎:
教育的なティーチングの観点でモブ作業・ペア作業していたのであれば、モブ作業・ペア作業の次の段階というより、ティーチングをやめてみることが次の段階になりますかね。ラバーダッキング法とかやってみてもいいかもしれないです。
佐々木:
アヒルになる?
柴崎:
ガーガーいうわけではなくて、むしろしゃべらないで聴く。相談者がしゃべる時に頭が整理されて気づきを得ることを期待しています。
私は1on1をやっているときに、しゃべっているだけで気づきを得ることがよくあります。
佐々木:
そういうことか…これはぜひ試してみたいです!
長澤:
確かに、1人で黙々とやるより、しゃべることによって勝手に頭が整理されて次の道が見えてくるということはよくありました。ただ、どうしようもなくなったときはスーパーアヒルさんに質問してヒントをもらっていました。(笑)
柴崎:
しゃべるアヒルで、どーもスイヤセンデシタ!!
本間・佐々木・長澤:
(笑)
佐々木:
ちなみに、ラバーダッキング法のさらに先とかってあったりするんですか?いやでも、そこまでいったらもう1人でも作業できるのか?
本間:
ブツブツ言いながら作業するオジサンになるのか…!?脳内アヒルと会話しているのだけれど、はたから見ると…ねえ?
柴崎:
守破離の「離」になるとぶつぶつ言いながら作業するおじさんになると。
佐々木:
リモートワークなら気にならない!(笑)
次回へつづく!
(次回も新人フォローの話になりそう)