私がモブプログラミングに安心して加わるために意識したこと

1. はじめに

こんにちは!kintone 開発チーム所属モバイルソフトウェアエンジニアのトニオ(@tonionagauzzi)です。

Cybozu Advent Calendar 2022 の24日目の記事です。

私が所属しているkintoneモバイルチームではモブプログラミングが浸透しており、開発作業の7割以上をオンラインで画面共有するやり方でモブプロしています。

そのモブプロに関する記事ですが、今回は、既にモブプロをやっているkintoneモバイルチームに新人の私が入って感じた抵抗感についてです。

私が9月に入社してから4ヶ月間の抵抗感と乗り越え方について紹介することで、次に来る新人さんを「大丈夫だよ」と後押しできれば幸いです!

※ 本記事におけるモブプロとは、一般的なモブプロではなく、kintoneモバイルチームが採用しているモブプロのことを指します。

2. モブプロの基本

モブプロは1人のドライバーと複数人のナビゲーターに分かれて進み、ドライバーが画面共有して手を動かします。

新しいメンバーは知識をつけるため積極的にドライバーをするのがよいと言われます。

3. 感じた抵抗感とどうやって乗り越えたか

私にとっては、自分のPCの画面を相手側に映し、決まった順番でドライバーを交代するというのは初めての体験だったので、初期はいろいろな抵抗感がありました。

3-1. ショートカットキーを使えないので作業が遅いと思われるんじゃないか

これは初日に感じたことです。

私はiOSエンジニアですが、GUI活用派なので、Xcodeのショートカットキーは何も知りませんでした。

他の人がドライバー中に、ショートカットキーを使いこなしてスムーズにメニューを開く様子を見て、自分も積極的にショートカットキーを使いたいと思いました。

できないことへの恥ずかしさはあまり感じませんでしたが、議論を止めてどこまで聞いていいのかを気にしていました。

しかし、いざ始まると何でも聞いてよかったり、むしろ聞かなくてもなんでも教えてもらえるような状況になり、知らないことを知らないと言うのは実はメリットのほうが断然大きいということに気づきました。

  • 教わる側はもちろん新たに知れる
  • 教える側とチームにとっては再理解の機会になる
  • 思わぬ改善のきっかけが生まれる

むしろデメリットは思いつかないくらいでした。

それならば、盛るくらい知らない姿勢で臨もうと思いました。

評価を気にする新人さんもいるかもしれませんが、技能評価はもう選考段階で終わっているので、入社してしばらくは知らないことを安心して聞いたほうがよいと思います。

ちなみに私は入社して2ヶ月で早くも給与改定面談でしたが、堂々と聞きまくっても給与が下がるようなことはなかったです。タイミングが早すぎて上がる理由もありませんでしたが(笑)

3-2. 自分の変換候補や検索履歴、コマンド入力履歴を人に見られたくない

自分のPCの画面を他人に共有する以上、このプライバシーの問題がつきまといます。

使うツール次第かもしれませんが、私が入ったチームではZoomの画面共有を使っていたので、ツール側で解決するのは簡単ではなく、ツールを変えるほどの行動力もありませんでした。

私はやったことや頭の中をすぐメモアプリに書いたり、疑問はすぐ検索する癖があるので、変換履歴も検索履歴も汚染されています(笑)

ですが、心配するほどのことはありませんでした。

突っ込んでくる人はいなかったですし、自分がナビゲーターに回ると他人の履歴まで見ている余裕はないことにも気づきました。

ナビゲーターには目の前の問題の解をドライバーの代わりに考えてあげるという重要な役割があり、意外と忙しいのです。もしかするとドライバーよりも忙しいかもしれません。

そんな中でもし私の履歴に突っ込んでくる人がいたら、たぶん人間として興味や好意を持ってもらえてるので、「モテ期や!」と思うことに決めています(笑)

どうしても気になる場合は、作業用とは別にモブプロ用のユーザーを作成したり、ブラウザを見せるときはシークレットタブを使うのが有効です。

3-3. 一挙手一投足いろいろと突っ込まれたくない

これはモブプロのルールをよく知らなかったのでそう思っていました。

たとえばゲームで遊んでて、みんなある程度自分で操作して攻略しているのに、自分は言われたとおりに操作するだけという状況を想像すると、面白くないと思います。

そういう感覚で、最初のドライバーのときは早く終わらないかなと時計ばかり見ていました。

ですが、モブプロのルールによると、ドライバーの役割はチームの頭ではなく手になり、ナビゲーターの指示通り手を動かすのに専念することだと知りました。

つまり、新人だろうがベテランだろうが、いろいろ突っ込まれるのが普通であり、ドライバーは「早く次の一手を教えてくれ」と待っているほうが定石なのです。

F1やWRCのドライバーは、無線やコ・ドライバーの指示通りに運転するのが仕事で、自分で好きなように走れる趣味の走り屋とは違って、言われたことを実践することに専念しています。

モブプロのドライバーも同じだと気づいてから、自信を持って言われたとおりやればOKだと思うようになりました。

3-4. モブプロ中は元気なのに、終わったらドッと疲れてしまう

これは、自覚していなかったものの、日課のランニングのタイムがガクッと落ちるという形で気づきました。

私は仕事終わりの夜間に走る派なんですが、本当に自覚がないのに、1km1分以上落ちました。

自己分析して思い当たったのは、休憩の少なさでした。

この頃、モブプロの時間制限は設けておらず、ドライバー固定のまま2時間休憩なしで進むこともありました。

長すぎるとさすがに「そろそろ休憩しましょうか」と声をかけてもらっていましたが、自分のほうから休みたいと切り出すのはなんか悪いような気がして、周りのペースに合わせていました。

それが裏目に出ていると感じたので、ふりかえりで、休憩が足りずに疲れていると伝えました。

すると、すぐさま以下のルールが決まりました。

  • 25分ごとに5分休憩を取る
  • 3セット繰り返したら15分くらいの長めの休憩を取る

また、時間を決めても集中するとすぐに忘れられがちなので、Zoomの運用ルールも作りました。

  • モブプロ開始時は25分のブレイクアウトルームを作る
    • 作ったルームには入らなくてもよい
  • 25分経つと全員にルームを閉じる通知が出るので、そこで休憩に入る

これは新人だけでなく全員にとってよい改善だったので、こまめに休んだほうがよいです。

また、入って間もない人でも、感じたモヤモヤを隠さず正直に話したほうがよいと思いました。そこから思わぬよい改善が生まれることがあります。

サイボウズでは、入社2ヶ月目くらいにモヤモヤ共有ワークというイベントがあり、普段言いづらいことでも話すきっかけをもらえます。

3-5. 考える、手を動かす、話す、聞く、質問する、を器用にこなせない

器用さを要求されるモブプロは自分と相性が悪いと感じていました。

頭に浮かんだことを言語化するのは、昔から時間がかかるほうです。

まして相手に伝わるように、礼儀正しい言葉を選びながら伝えようとすると、手を動かすことを忘れてしまいます。

また、質問文を組み立てているうちに議論が進んでしまい、指示を受けて手を動かしたら質問のことなどすっかり忘れていた、ということもよくありました。

こればかりは器用に生まれ変わることはできないので、それなら不器用なキャラクターとして早いうちに知ってもらおうと思い始めました。

そもそも、全部を器用にこなせる人は特殊だと思います。

その場で発言できなければ、後からテキストでまとめて送るなど、自分に合った伝えかたを選べます。

私の場合は、メンターの1人に個別で質問攻めをする時間を作ってもらう工夫がよかったです。

サイボウズはグループウェアの会社なので、コミュニケーションのツールや方法は1つではなく、対面で器用に振る舞わなければ、と思わなくて大丈夫だと思います。

3-6. プロフェッショナルな仕事をしている気がしない

社歴が長いベテランほど、指示を受けずどんどん自分の判断で走れるドライバーになりますし、私はキャリア入社で社会人としては1年目ではなかったので、最初から自己判断しないと自分の報酬への対価として割に合わないと感じていました。

キャリア入社であっても、モブプロ中は、ナビゲーターのときは自分が閃く前に誰かが答えを出してしまい、ドライバーのときは言われた通り手を動かすだけという状況が続きました。

このままだと半年に一度の給与改定で給与が下がってしまい、家族に負担をかけるのでは、とよからぬ方向に考えを巡らせていました。

人材マネージャーとの1on1で、キャリア入社の人でも前職のように前線で活躍できるようになるには半年くらいかかるので心配しなくてよいと言われ、だいぶ気が楽になったと思いますし、新しく来る人にもぜひ伝えたい一言です。

その半年間、少しずつ他のナビゲーターの真似を重ねる段階で、自然と新しい環境に適した新しい脳の神経回路が構築されていくからです。半年間ソロプログラミングに取り組むのとは桁違いの情報量を吸収することができます。

とはいえ、たまには自分の力でやりたい、腕試しをしたいこともあると思います。

そのときは、改善系のタスクに手を上げてソロプログラミングの時間を設けるか、働き方宣言で少数派の朝型にしてしまう(笑)など、欲求を満たす方法は色々あります。

4. 新人さんに伝えたいこと

この記事は、モブプロのベストプラクティスよりも、モブプロは安心して入れるものだと伝えることを目的として書きました。

先述の数々のハードルがあった私でも4ヶ月間ですっかり安心できているので、大丈夫!とお伝えして、新しいキャリアをスタートさせる皆さんを応援したいです。

5. さいごに

この記事を書くにあたって、モブプロのことを深く知るために、Mark Pearl著のモブプログラミング・ベストプラクティスを最後まで読みました。

本書の途中には、この本におけるモブプロのタイムラプスが登場しました。面白いので共有します。

www.youtube.com

性格や得意不得意は人それぞれなので、これが正解!というものはないと思います。

また、ソロプロと比べてモブプロが必ずしもよいとも限りません。リソース効率重視かフロー効率重視かが異なるので、単純比較はできないと思います。

モブプロのやり方はチームによって多種多様ですし、kintoneモバイルチームではモブプロを取り入れて以来ふりかえりと改善を重ねているので、同じチームですが半年前と今とでルールを大きく変えています。

私自身も、まだモブプロはいいぞ!と思えているわけではなく、個人作業ならゲーム感覚で楽しいのにな〜と思いながらやっているときもあります。

ただし、入って間もない会社で効率よく情報を吸い上げ、早くチームに溶け込むためにはkintoneモバイルチームが行なっているモブプロは最良に近い選択肢だったと思っています。

モバイルエンジニア募集について

私が所属しているkintoneモバイルチームでは、プロダクトを一緒に育てていく仲間を募集しています。よろしくお願いします!

キャリア採用/ポテンシャル採用 Androidエンジニア

cybozu.co.jp

キャリア採用/ポテンシャル採用 iOSエンジニア

cybozu.co.jp