2024年9月27日

モブレビューを導入して分かったメリットとデメリットについて


Content
初めまして、23年12月入社のはると申します!
この度、初の技術ブログ執筆となります。

私が所属するチームでは、数か月前からモブレビューという取り組みを新たに導入しました。
今回はモブレビューを実践したからこそ分かるメリットとデメリットを記載していきます。

モブレビューとは

モブレビューとは、複数の開発者が集まり、1つのプルリクエストを一緒にレビューする手法です。
ソースコードに対する疑問点や改善点を洗い出すことを目的としており、機能に対するレビューではなく、ソースコードに焦点を当てます。
また、ソースコードの細部まで見るのではなく全体的に問題ないかどうか、という観点でレビューをします。
細部については後工程の試験でバグの有無を洗い出せるので問題ない、という考えに基づいています。

また、本手法では下記のように役割が明確になっています。

  • ドライバー → レビューを受ける人
  • ナビゲーター → レビューをする人
  • タイムキーパー → レビュー経過時間を管理する人

正式には他に+1~2種類役割はありますがチームの規模など現実的課題を考慮し上記の通りに収まりました。

モブレビュー導入までの経緯

モブレビュー導入以前はリーダー層がレビューを全て担当していました。
しかし、複数案件の担当などタスク過多により時間を確保することが難しくなり、レビューへの注力が厳しい状況が生じることとなりました。
加えて、リーダーが一時離脱(育児休暇など)をするケースでは、iOS及びAndroidに偏りのあるリーダーが担当するため、片方のレビュー品質が低下し、工数増加の影響もあります。

こういった状況を改善すべく、モブレビュー導入の話が挙げられました。

導入して得られた効果

知識の属人化解消

レビューの場面に全員がいるため、指摘内容及び解決方針を全員把握することが可能です。
このため、1度のモブレビュー実施で参加者全員の知識の底上げに繋がり結果的にチーム技術力の向上に大幅な貢献をします。
また、リアルタイムで指摘をもらうため、これに対する疑問点をその場で即座に解決することができるのも大きな魅力です。

論理的思考の向上

ドライバーはレビュー時、コードを説明できる必要があるため、予め話す内容や順序などを考慮する必要があります。
プルリクエストが小規模なら問題ありませんが、規模が大きい場合これに比例してレビュー内容を分割して進め方を自身で考える必要があります。
一見、準備時間を要するという観点から課題点のようにも思えますが長期的にみると作業者は作業全体を分解して考えるようになり、より論理的・合理的に進めるようになります。

長期的に考えた場合のレビュー時間短縮

1点目と繋がりますが、モブレビューを行うことで知識の属人化を避けることが可能です。
ここでいう”知識”とは、指摘のみに限らず実装内容なども含まれます。
そのため、今後別担当者が既存機能の改修を行う場合、モブレビューにて得た事前知識を用いて実装のキャッチアップに要する時間を削減することが可能です。
また、モブレビューを行う度に事前知識が増えることを考慮すると、より効果的であることが予想されます。

導入して実感した課題点

各役割の経験者にお聞きしたので各視点から記載していきます。

ドライバー

  • ナビゲーター側に考えが伝わっているのか分かりづらい
  • モブレビューの準備工数が入り作業量が増えた

ナビゲーター

  • 指摘をするタイミングが掴みにくい
  • 指摘によっては議論が長引いて予定時間を超過する
  • 細かい指摘をその場で伝えるかレビュー後にコメントで指摘するか迷う
  • ドライバー側の説明粒度が自身の想定と異なる場合に指摘するか迷う(情報の過不足のおそれ)
  • ドライバー同士でも意見が異なったりする場合がある

タイムキーパー

  • 経過時間をチャットで知らせてもナビゲーター側が説明に集中して見逃してしまう場合がある
  • ドライバーの説明を遮らないよう、かつ確実に気が付いてもらうように経過時間を知らせることが難しい

課題に対する所感

全体的にまだ取り組み初めて間もない、という不慣れなことによる課題点が多く見受けられます。
また、ドライバーの1つ目の課題点などは、ドライバー&ナビゲーター双方の課題点でもあるため、一方に改善を求めるのではなくお互いに話し合って改善する必要があります。

今後の改善について

大きく分類すると2種類かと思われます。

ルールの明確化

取り組み始めたばかりということもありルールが明確化されていない点が多々あります。
それ故に、各役割の人たちが無意識的に探り探りとなってしまいます。
加えて、無意識であるため、”自分自身が何に対して困っているのか?”を言語化することが困難です。
これに対し、ルールを加えることで統一化を図ります。
また、定期的にメンバーへ聞き取りを行いルールを柔軟に調整することも必要です。

心理的安全性の確保

モブレビューは性質上、ドライバー(1人):ナビゲーター(複数人)の構図になってしまいます。
1人に対して集団で意見を伝える、というのはどうしても心理的圧力が働きドライバーに対する負荷が非常に高いです。
そのため、日頃から雑談を行う・優しい表現を用いて伝える・リアクションを行うなどドライバー側が安心できるような仕組み作りが必要不可欠です。
逆にここが疎かになり、ドライバーが常に不安を抱えることになるとモブレビューは間違いなく破綻していくと予想できます。

2024年9月27日 モブレビューを導入して分かったメリットとデメリットについて

Category 技術開発

ご意見・ご相談・料金のお見積もりなど、
お気軽にお問い合わせください。

お問い合わせはこちら