👨‍👨‍👦‍👦

モブワークをチームに導入してみるのはいかが?

2024/12/19に公開

この記事は「レバテック開発部 Advent Calendar 2024」の 19 日目の記事です!

昨日の記事は、ryusukeeeeさんの「Twig→Reactへの漸進的移行:モブワークで基幹システムをモダナイズしていく」でした。

これはなに

こんにちは!レバテック開発部の宮下です。

モブワークを私たちの開発チームに導入した結果、協力的な開発が進み、多くの利点を感じました!!
本記事では、モブワークを導入した理由や実際に感じた利点に加えて、直面した課題について触れていきますー!

対象読者

  • チームでの協力やコミュニケーションを強化したいと考えている方!
  • モブワークやペアプロなどの共同作業の導入を検討している方!

モブワークとは

ChatGPT曰く

モブワークとは、複数人でプログラミングに限らず、色々な作業(資料作成、プログラミング、事務作業など)を一緒にやっていくことを指します。
ペアプログラミングは2人1組でプログラミングを行うことで、モブプログラミングはそれを2人と決めずに複数人で行うこと。

モブワークを導入した理由☝️

私たちのチームがモブワークを導入した理由は、大きく分けて以下の 2 つです。
その中でもチームの状況的に、特に 1 つ目の理由がメインでした。

1. 属人性の排除 / 知識量・スキルの統一

以前は、特定のメンバーに知識が集中していたり、そのメンバーに依存していることが多かったため、そのメンバーが不在の時に他のメンバーでは対応できないことがありました。
モブワークは、メンバー全員が同じ作業を進めながら常に議論を交わすため、自然に知識やスキルが共有されます。モブワークを導入することで、特定の領域に依存することなくチーム全体でタスクを共有して、属人性を排除したり知識量・スキルの統一を目指しました。

2. リードタイム短縮

以前は、価値のあるものを早く届けるということが習慣化されていませんでした。そのため 1 つの大きなタスクに 1 人が着手して、何スプリントにも渡って作業するということが往々にしてありました(決して悪いことではありません)。
モブワークでは、複数人が同時にタスクに取り組むため、課題解決が速くなります。そのため、リソース効率ではなくフロー効率重視となります。これにより、より早く価値があるものを提供できるようにすることを目指しました。

自チームでのモブワークルール📃

モブワークを導入するにあたり、私たちのチームでは以下のようなルールを設けています。

モブワーク開始前に必要なルール

モブワーク中のルール

モブワーク後のルール

やってみて感じた良かった点🥰

1. コミュニケーション強化

モブワークでは、メンバー同士の対話が欠かせません。普段あまりコミュニケーションを取らないメンバーも、アイデアを出し合い、意見を交換することで、自然とチーム全体の連携が強化されました。これにより、メンバー間の相互理解が深まり、心理的安全性の向上にもつながったと感じています。特に、リモートワーク環境でコミュニケーションが薄くなりがちなメンバーからは非常に好評でした!

2. 知識やスキルの共有

モブワークでは、メンバー全員が同時に問題解決に取り組み、常に議論を交わしながら進めるため、自然と知識やスキルの共有が進みます。普段あまり触れない領域の改修や、新しい技術をメンバー全員で学ぶことができるので、チーム全体のスキルであったり業務やドメインの知識量の統一ができました。
また、1人でタスクを進めていた際には気づけなかった、意外なアイデアや新しい視点を得ることもできるのもモブワークの良さですね!

3.効率性向上

モブワークは工数が参加人数分かかるため非効率のように思えるかもしれません。
しかし、以下のような作業が削減されるため効率的になったりします!!

  • コード/ドキュメントのレビュー作業がほぼ不要になる
  • 作成と調査を並行してできる
  • メンバーへの情報共有などが不要になる

やってみて感じた課題😓

1. 効果測定の難しさ

今回、モブワークの効果を測定することは困難でした。
まず、モブワークの成果を定量的に評価するための指標が見つけられませんでした。なんとなく良さそうなリードタイムの短縮や、メンバーのスキル/ドメイン知識習得についても、その改善がモブワークによるものなのかが判断できませんでした。
そのため、自チームでは定量で測ることを断念して、アンケートを実施して定性的に効果測定を行うようにしました。

※定量で効果を測りたい場合、モブワークを取り入れる前後で値の比較が必要になるので、事前に測定値を決めて測っておく必要があると感じました。(私はこの事前準備を怠りました)

2. 扱うタスク選定の難しさ

モブワークが効果的に機能するタスクを選ぶことが難しいです。
モブワークは通常、複雑で問題解決が必要なタスクや、チーム全体で意見を交わすことが重要な場面に適しています。しかし、全てのタスクがそのような性質を持っているわけではありません。単純な作業や反復的なタスクの場合、モブワークを取り入れると時間の無駄になる可能性があります。

対応として、最初はどのタスクをモブワークを扱うべきか選定が難しいと思うので、一通りやってみてチームで話し合い取捨選択していくのが良いと思います。

3. ナビゲーター次第でモブワークはだれる

モブワークでは、作業をリードする「ナビゲーター」の役割が非常に重要です。しかし、ナビゲーターの個人差によって、作業の進行具合やチームの活気に差が生じることがありました。例えば、ナビゲーターがあまりにも慎重すぎると議論が長引き、逆に早すぎると意見交換が十分にできないまま他のメンバーが置いてけぼりになります。また、取り組んでいるタスクに対してナビゲーターの知識が殆ど無い場合、そのセッションが上手く進みませんでした。

対応として、タスクによっては有識者をナビゲーターに指名したり、チーム全員が積極的に関わるように工夫したりする必要があると感じました。

まとめ

結論、自チームにモブワーク導入してよかった!!!!

モブワークは、チーム全体で協力し合い、知識やスキルを共有しながらタスクを進める非常に効果的な手法であると感じました。最初はモブワークに慣れるまで試行錯誤の連続でしたが、チーム全員で協力して作業を進める楽しさや達成感を感じることができ、今ではチームの強力な武器となっています。

とはいえ、個々のチームの文化やニーズに合わせて最適化する必要があることも事実です。今後もモブワークを継続的に改善し、さらにチームで成果を上げていきたいと考えています〜!

明日は ばば さんが投稿します!!!
「レバテック開発部 Advent Calendar 2024」をぜひご購読ください!

レバテック開発部

Discussion