LIVESENSE ENGINEER BLOG

リブセンスエンジニアの活動や注目していることを発信しています

5ヶ月間業務でモブプログラミングを実施して感じたよかったこと・難しかったこと

自分たちのチームはチーム発足から5ヶ月間モブプログラミング(以下モブプロ)で業務を行ってきました。
今回は5ヶ月モブプロを実施して気づいたことについて紹介したいと思います。

モブプロの導入

自分たちのチームは2つのチームが合併したことで生まれました。

それぞれのチームの仕事の領域は異なっており、お互いのチームが何をやっているかを共有する必要がありました。
そこでモブプロを導入すればお互いのチームの知識を共有しながら業務を進めることができるのではないかと思ったのがモブプロを実施するきっかけでした。

効率について考えはじめる

これまでの仕事スタイルとしてフルリモートで勤務していたこともあり、個人をタスクにアサインし、アサインされた人がタスクを完了まで対応するという働き方が基本でした。
そのためモブプロの導入はタスク遂行の効率が悪くなるのでは?という見方がありました。

モブプロの導入を考えてからリソース効率とフロー効率という2つの効率の種類を知り、この言葉を用いてモブプロ導入を推し進めました。
効率の種類を知ったことでフロー効率の改善を目指すためにモブプロを実施するという論理が使えるようになり、関係者への説明が容易になった記憶があります。

フロー効率についてはこちらのスライドがわかりやすかったです。
https://www.slideshare.net/i2key/xpjug

やってみてよかったこと

実際にモブプロを実施したことで感じた良かった点を挙げていきます。

問題解決が早くなった

複数の人が集うことにより、いろいろな知識やアイデアが常に共有される状態になりました。

実際に実装方針で悩んでいたタスクでモブプロの効果が発揮されました。
モブになっていたメンバーがそのタスクで実装しようとしていた機能と似たような機能を開発した経験を持っていて、その経験をチームに共有することで実装が進むという場面がありました。

モブプロでは「複数人で同じ作業をするため作業効率が悪いのではないか」という懸念点がよく挙げられます。
しかし、モブプロによって問題解決が早くなった結果、開発スピードもきちんと担保できました。

知識の共有がスムーズ

みんなで同じコードをみながら仕事を進めるので、技術的な知識やドメイン知識の共有が都度都度実施できました。
また、みんなで一つの仕事をやるため、「特定の領域のタスクは特定の人がやる」という状態がなくなりチーム全員がこれまでやったことのない領域の開発に着手することができました。

ちょっと怖い、めんどくさい作業をチームで取り組める

不具合や問合せ対応、本番環境での作業など1人でやるには気が引けてしまう作業もチーム全員で取り組むことで1人でやるときに比べて圧倒的に安心感がある状態で取り組むことができます。

コミュニケーション量が増えた

みんなで同じ仕事に向き合うためコミュニケーションが必然的に増えました。

オンライン通話をつなぎっぱなしにしているため会話の心理障壁も低くなりました。 コミュニケーション量が増えることがそのままチームビルディングにもつながっているように感じます。

ふりかえりを細かく実施することでカイゼンが早い

モブプロを実施するたびにふりかえりを行ってカイゼン活動を行っているためチームの変化がかなり素早くなりました。

やってみて難しかったこと

良かったことばかりではなく難しく感じることもありました。

チーム全員がやることがわかっているようなタスク

難しいというより単純に完了まで早さが出せないと感じました。
やることが単純で誰がやっても大体同じ結果になる仕事は無理にチーム全員で取り組むよりも手分けをした方が素早く実施できる印象です。

やりたいことはあるがどのようにやるかわからないとき

解決方法をメンバーが誰もわかっていないときとりあえずモブで議論すると発散してドライバーに支離滅裂な指示を出して混乱させてしまっていました。

逆にモブ全員が調べ物をしてしまうとドライバーが手持ち無沙汰になるという状況もありました。

割り切ってチーム全員で調べ物をして良さそうなアイデアを見つけた人の案を試してみる。をうまくいくまで繰り返すのが私達のチームではやりやすかったです。 もっと上手いやり方があるような気がしているのでチームでいいやり方を模索したいと考えています。

ドライバーの交代タイミング

時間管理を忘れたりすることで1人の人がずっとドライバーをしている状態が発生していました。

ドライバーを細かい時間で交代するのが一般的な印象ですが、ケースバイケースで一人に固定したほうがやりやすいこともあるという感覚です。

自分たちのチームの場合、モブプロ開始当初は15分ごとにドライバーを交代していましたが、最終的には1時間ごとの交代に落ち着きました。

まとめ

5ヶ月ほどモブプロを実施することでモブプロに関する知見がある程度たまりました。
モブプロをうまく機能させるポイントは細かくカイゼンを行い、チームやプロジェクトにあった形にすることだと感じました。
自分たちの場合はモブプロがうまく機能していると実感するまでに大体1ヶ月ほどかかりました。

モブプロにはベストプラクティスが存在しないため、モブプロを導入する際は「まずは試しにやってみる、やりにくい箇所はカイゼンする」というスタンスで取り組むとよいと思います。
その結果、モブプロがやりにくいという結論になったのであれば無理にモブプロを継続する必要はないと思います。

自分たちのモブプロの経験が参考になれば幸いです。