Pedia

モブプログラミング

もぶぷろぐらみんぐ

English: Mob Programming

意味

モブプログラミングとは、チーム全員(3人以上)が同時に1つの画面を見て、1つの問題を解決するために協力して設計・実装・テストを行う開発手法である。1人がキーボード操作を担当し(ドライバー)、残りの全員がアイデア出しや指示を行う(ナビゲーター)。一見効率が悪そうに見えるが、意思決定の待ち時間がなくなり、全員の知識が即座に共有され、手戻りが激減するため、フロー効率(タスクが完了するまでの速度)は非常に高いとされる。

概要

3人以上のチーム(モブ)全員で、1台のPCモニターを見ながら、1つのプログラムを書く開発手法。 ペアプログラミング(2人)の拡張版。「全員でやる」スタイル。

役割分担

  • ドライバー(運転手): 1人。キーボードを叩いてコードを入力する係。自分の頭では考えず、ナビゲーターの指示通りに入力する。
  • ナビゲーター(案内人): 残り全員。どのようなコードを書くべきか議論し、ドライバーに指示を出す。

数分〜十数分おきにドライバーを交代しながら進めます。

メリット

一見すると「1人でできる仕事を5人でやるなんて非効率だ」と思われがちですが、以下のような劇的な効果があります。

  1. 知識の共有: 全員が仕様とコードを理解するため、属人化(バス係数)がゼロになる。
  2. レビュー不要: 書いているその場で全員がチェックしている(リアルタイム・コードレビュー)ため、後からプルリクエストを出して待つ時間がなくなる。
  3. 質の向上: 多角的な視点で議論しながら書くため、設計ミスやバグが激減する。
  4. フロー効率: 誰かが詰まっても、誰かが答えを知っているので、作業が止まらない。

導入の壁

「サボっているように見える」「物理的に集まる場所が必要(リモートでも可能だが工夫が必要)」「心理的な安全性がないと発言しにくい」といったハードルがありますが、複雑な課題解決には極めて有効な手法です。

TOP / 検索 Amazonで探す