見出し画像

「ユーザーにいち早く価値を届けられる」ことが最大のメリット! TimeTreeも実践するモブプログラミングとは?

TimeTreeはプロジェクトの目的に合わせて、新しい開発手法を柔軟に取り入れてトライできる環境があります。その一環で最近挑戦しているのが「モブプログラミング」です。

今回は創設メンバーのひとり藤木(Stud)に、TimeTreeでどのようにモブプログラミングが導入されているのかをインタビュー。TimeTreeのエンジニアチームが工夫して取り入れている開発スタイルをご紹介します!

話を聴いたメンバー
藤木 裕介 Webフロントエンドエンジニア / iOSエンジニア
1984年生まれ。TimeTreeでのニックネームはStud(スタッド)。ヤフー株式会社にデザイナーとして新卒入社して、主にモバイル向けのサービスに携わる。独学でプログラミングを学び、デザイナーとしてのバックグランドを持ちながらWebフロントエンド / iOSのエンジニアへ転身。2012年にヤフー株式会社と株式会社カカオジャパンのジョイントベンチャーへ出向後、2014年に株式会社JUBILEE WORKS(現 株式会社TimeTree)を共同設立。

取材 / テキスト:内島 美佳

開発のコミュニケーション課題を解決するために導入した「モブプログラミング」

画像3

▲リモートワーク移行前にオフィス会議室でモブプロ中の様子

——モブプログラミングとはどんな開発手法ですか?

プログラミングって普通は1人でコードを書きますよね。最近は、2人でやるペアプログラミングや3人以上でやるモブプログラミング(以下モブプロ)など、いくつかの手法があります。

モブプロではコードを書く「タイピスト」という役割を1人置きます。それ以外の「モブ」と呼ばれるメンバーたちは、問題解決のためのディスカッションをしながらタイピストにコードを実装してもらいます。タイピストは時間を区切って交代します。

——なぜモブプロを導入したのですか?

僕のいるWebフロントエンドチームは入社1、2年目の新しいメンバーが多いので、古くからある機能を改修しようとした際にとても苦労したんです。彼らの入社前に開発されたものなので、開発意図などが分かりづらかったのだと思います。

そこで、解決策の一つとして提案したのがモブプロです。その場でコミュニケーションできるので後から大規模な議論になることがありませんし、メンバー内での仕様や知識の共有にもつながると思って提案しました。

みんな新しいことをやるのには抵抗がない人たちなので、すんなり受け入れてもらえました。「とにかく試してみよう」という文化なんです。元々開発フローの振り返りと改善は毎週行っているので、モブプロはあくまで改善施策の中のひとつです。

——他チームやエンジニア以外からの反応はどうでしたか?

モブプロを知らないメンバーがほとんどだったので、みんなの疑問や不安を解消するために社内共有の場を開くことが重要だと考えていました。そこで、社内共有の場をつくってモブプロの詳細やメリットをプレゼンテーションしました。

エンジニアではない人たちにも僕たちがやっていることを理解してもらえましたし、他チームからは「うちのプロジェクトでも導入したい」という声をもらいました。自分としてはもっと社内に広めていきたいので、今は導入支援などもしています。

既存のやり方にこだわらず、TimeTreeに最適なスタイルを試行錯誤

——実際にどのようにモブプロで開発しているのか教えてください。

僕のチームはメンバー4人で集まり、1回2時間でやっています。最近はフルリモート勤務なので、オンラインミーティングツールを利用しています。

モブプロ

▲「Discord」や「Zoom」などオンラインツールを試行錯誤中

オフィスでやっていた頃は1台のPCを交代して使っていましたが、オンラインではタイピストが自分の画面を共有してコードの内容を見せながらやっています。

共有した画面にミーティングツールのお絵かき機能で書き込みができるので、丸で囲ったり下線を引いたりしながら話し合うことができます。やってみたらオンラインの方がやりやすい面もあるのは、意外な発見でしたね。

——すべての開発でモブプロを取り入れているんですか?

いいえ。やっているうちに、モブプロに合うタスクと合わないタスクがあることがわかってきました。

みんなの頭の中に共通の実装イメージがある場合は、誰が書いても同じ実装になるので、モブプロではなく個人で書いた方が効率的です。逆に、実装イメージがばらばらで、意見を出し合いながら開発する必要がある場合は、モブプロで開発をしています。

——モブプロでの開発中はどんな雰囲気ですか?

意見を出し合うといっても、殺伐とした空気で激しい議論をするわけではありません。お互いの得意不得意を尊重しているので、和やかな雰囲気です。

賑やかに盛り上がったり淡々と進めたり、チームによって雰囲気の差はあります。会議室で息抜きのお菓子を用意してやっていた頃は、持ち寄るお菓子にも個性が出て面白かったですね。

——導入初期と現在で、モブプロでの開発の進め方は変わりましたか?

モブプロの進め方は一般的にもまだ「これだ」という正解がなく、チームやプロジェクトに合わせて柔軟にやっていくのが良しとされています。だから僕たちも、チームの週次振り返り会で話し合って、モブプロのやり方自体をどんどん変えていっています。

TimeTreeのメンバーは元々、新しいツールを試したり知らないことに挑戦するのが好きな人が多いんです。フルリモートで勤務している今も、オンラインでの業務改善のために色々なツールを試してはSlackのチャンネルで情報共有しています。

——チームで意見を出し合って開発を進めるモブプロも、その進め方自体を改善する過程も、「多様な意見を集めて議論を深める」というTimeTreeが大切にしている考え方に近いですね。

そうですね。意見を出し合ってよりよい方向を模索する考え方はTimeTreeのカルチャーに通ずるものがあると思います。

TimeTreeの開発は仕様をあまりきっちり決めないのが特徴で、デザイナーが作ったモックの挙動を決めるのはエンジニアに任されているんです。「こういう挙動をしたら気持ちいいんじゃないかな」などと想像力をふくらませながら、個々のエンジニアのクリエイティビティを活かしているんですね。

エンジニアがお互いにアイデアを出し合いながら開発できるモブプロは、この特徴にも合っていると思います。

一番の導入メリットは「ユーザーにより早く価値を届けられる」こと

画像3

——モブプロを導入してよかったと思うことは何ですか?

プロダクト開発の中で「この人しかわからない」という部分を圧倒的に減らせたことです。

属人化してしまうと、その人が休んだりした際にプロジェクトが止まってしまいます。モブプロで仕様や意図を共有しながら開発すれば、一人が休んでも他のメンバーが開発を続けることができます。

プロジェクトが止まらず開発が続けられるということは、それだけ早くユーザーに価値を届けられるということです。やはりこれが一番のメリットですね。

——ありがとうございました。最後に、モブプロでの開発やTimeTreeの開発環境に興味を持ったエンジニアにメッセージをお願いします!

今回お話したモブプロはひとつのやり方に過ぎません。改善のための提案や試してみたいことがあれば、色々トライできる環境です。

僕たちにはやりたいことがまだまだたくさんあります。そんなチャレンジングな環境で、一緒に働いてくれる仲間を常に探しています。

今はユーザーさんも増えていて、より一層のスピード感とクオリティ担保が大切です。既存の枠にとらわれず一緒に試行錯誤できるメンバーを切実にもとめています!


💻


TimeTreeで一緒に働いてくれる仲間を募集中です!募集中ポジションはこちらのページをご覧ください。


関連記事
あわせてご覧ください!


TimeTree, Inc.
https://timetreeapp.com




この記事が気に入ったらサポートをしてみませんか?