Gunosy Tech Blog

Gunosy Tech Blogは株式会社Gunosyのエンジニアが知見を共有する技術ブログです。

モビングの感想をベストプラクティスと共に語る

広告技術部の石田です。

「ペアプロやモブプロをやっているけど、うまくできているかわからない」

そんな悩みを抱えている人はいないでしょうか?

私はモビング(モブプロ)をやってみて、チームが団結して何か大きなことを成し遂げたいという気持ちがあればモビングは必ず報いてくれると思うようになりました。

また、ともに成果を上げてきたチームのメンバーもモビングをやって良かったと言ってくれました。

それだけでなく、世の中にはすでに『モブプログラミング・ベストプラクティス』という本が出版され、先人の知識が出回っていることも後になってわかりました。

この記事では本書を読んだ私の感想と、実際にモビングしてチームから出た感想を交えて紹介したいと思います。

モビングの可能性に不安や疑問を持つ人がこの記事を読んで違う観点に気づいてくれれば私としては執筆した甲斐がありますが、前置きはこのくらいにして本題に移りたいと思います。

帯書きに書かれた4つのポイント

まず、『モブプログラミング・ベストプラクティス』の帯書きひとつ取ってみても、私たちがモビングして感じてきたことに近いと思いました。

f:id:imagawa_yakata:20210207175241j:plain:w300
本書の帯書き

帯書きには「進ちょくが順調に」とありますが、まったく同感で、私たちのチームからも「仕事が丁寧になって順調に進むようになった」という意見が出ました。

モビングするとドライバーがひとりで判断するよりもミスや見落としに気づきやすくなり、より効率的な方法を発見できることが増えます。

これは、ナビゲーターがドライバーのミスに気づいて教えてくれることもあれば、作業が行き詰まったときにドライバーとナビゲーターの垣根を越えて皆で何が悪く、どうすれば良くなるのか真剣に話し合ってきたからだと思います。

帯書きにある「欠陥(バグ)が減る」とか「よりよい判断を下せる」という言葉がこれに近いでしょう。

さらに帯書きには「個人に頼らずにすむ」とも書いてあります。

本を読み進むと、モビングすると特定のキーパーソンが培ってきた知識(とくに暗黙知)が他のメンバーにも無理なく共有されていって、次第にキーパーソンに頼らなくてよい状況を作り出せると書いてあります。

マネジメントの書籍であれば「属人性を排除する」など表現するであろうところを、モビングすれば特定のキーパーソンに頼らない状況を作り出せると述べた本書は、人とチームの大切さをよくわかって書いてあるのが伝わってきます。

ベストプラクティスと違った部分

しかし、私たちは必ずしもこの本に書いてある通りにモビングしてきたわけでないことも確かなようです。

例えば、ユーザーからの問い合わせや他の開発チームからの相談などはモビングの阻害要因だと本書は語ります。

このため、「バットマン*1」という窓口役を専門に設けてこれらの業務からチームを守るのが良いと記されています。

対して私たちのチームは、こうした唐突な飛び入り仕事は常に起きるもので、それを回避するでもなく、チームが対応すべき避けられない仕事と考えています。

だから私たちのチームでは問い合わせや相談、そしてプルリクのレビュー依頼もプログラミングと分け隔てなく全員でモビングしてきました。

それでも仕事は十分順調に進んできました。

特定の誰かにやりたくないことを押しつけることもなくなり、こうしたモチベの上がらない仕事もあまり嫌だと思わなくなりました。

それはチームの中から「すぐやる習慣ができた」という感想が出たことが何よりの証拠だと私は思います。

作業分担をやめたことについて

ここまでふり返ると、私たちはつね日ごろ作業の「分担」というものに慣れきっていて、あまりにそれが当たり前過ぎて疑いを持たなくなっていると気づかされます。

実際のところ「人に仕事を依頼するストレスがなくなった」という意見も出ました。

今までは、この仕事はこの人ならできるとか、こっちは荷が重いなどと、タスクの依頼で悩むことが多くありました。

その上、依頼した仕事が期日までに完了せずやきもきしたこともあります。

しかし、思えばこんな気持ちは作業分担などやらなければ感じることもなかったのだとモビングは教えてくれました。

巻末の及部さんの解説について

最後に、RSGTでも常連のスピーカーである及部(およべ)さんが本書の巻末に記した解説に触れたいと思います。

彼はモブプロは極論すれば「チームと一緒に働くだけのこと」だと言います。

この域に達すればもはやモブプロマスターですが、私たちもモビングを続けるうちに特定の個人のスキルとか、チーム共通の目的といったことにあまりこだわらなくなってきました。

全員ともチームで一緒に働いていることが当たり前に感じられてきたからだと思います。

とはいえ、及部さんはモブプロか作業分担の二者択一を迫られているわけではないことをよく解ってほしいとも語ります。

モブプロが得意・不得意とするケースもあるので、これから取り組む仕事内容や、チームの現在の状況、周囲との信頼関係などに合わせてモビングを採り入れるのが良いと彼は言います。

私もこれに賛同します。

確かに私たちが今年の年明けから始めたプロジェクトにはモビングが抜群にマッチしていました。

しかしモビングがよそのチームや今後のすべてのプロジェクトに適合するような、あらゆるケースにうまく対応できる方法とは限らないとも思います。

実際、モビングでやろうとしてうまく行かなかった経験もありますが、これは別の記事に譲ることにします。

この記事と『モブプログラミング・ベストプラクティス』という本によって、みなさんのチームが団結して大きなことを成し遂げる勇気を高めてくれれば何よりだと私は思います。

最後までお読みくださりありがとうございました。

*1:本書によれば、バットマンとはアメコミのヒーローではなく軍隊の従卒を表す言葉だそうです。これは、モブの外部の人が質問やチームのヘルプを要請する際の最初の窓口となってチームに取り次ぐ役割を担います。