【もぶぷろぐらみんぐ】

モブプログラミング とは?

💡 全員で1つの画面に向かう「究極のチーム開発」
📌 このページのポイント
モブプログラミング ― チーム全員で1つのコードを書く function solve() { // コードを書く } 1つの画面を共有 D ドライバー キーボードを操作 N ナビゲーター N ナビゲーター N ナビゲーター N ナビゲーター 「ここは条件分岐で」 「テスト書こう」 一定時間でドライバーを交代(ローテーション)
モブプログラミングのイメージ
ひよこ ひよこ

チーム全員で1つのコード書くの?さすがに非効率じゃない?

ペンギン先生 ペンギン先生

直感的にはそう感じるよね。でも考えてみて。普通の開発だと、各自が書いたコードをレビューして、設計の認識ずれを修正して、知識を共有する会議をして…この「後工程」がかなり重いんだ。モブプログラミングはそれを全部同時にやるから、トータルでは効率的になることが多いよ。

ひよこ ひよこ

ペアプログラミングとどう違うの?

ペンギン先生 ペンギン先生

ペアプログラミングは2人だけど、モブは3人以上のチーム全員。ペアだと2人の知識の掛け合わせだけど、モブだとチーム全体の知識が1つのコードに注がれる。特に複雑な設計判断や、チーム全員が理解すべき重要な機能を作るときに威力を発揮するよ。

ひよこ ひよこ

ドライバーの交代ってどうやるの?

ペンギン先生 ペンギン先生

タイマーを使って10〜15分ごとに交代するのが一般的。大事なルールは「ドライバーはナビゲーターの指示に従ってコードを書く」こと。ドライバーが自分の考えで勝手に書き始めると、他のメンバーが置いていかれるからね。

ひよこ ひよこ

発言力の強い人に引っ張られない?

ペンギン先生 ペンギン先生

それはよくある課題。対策として「ドライバー以外は全員平等にナビゲーター」というルールを徹底する。声の大きい人が独走しそうなら、ファシリテーターが「他の人の意見も聞いてみよう」と介入する。心理的安全性がモブの成否を握るんだ。

ひよこ ひよこ

どんな場面で使うのが効果的なの?

ペンギン先生 ペンギン先生

実は「常にモブで開発する」チームもあるけど、多くは場面を選んで使うよ。特に効果的なのは、新しいアーキテクチャの設計、新人のオンボーディング、本番障害の調査、そしてチーム全員が理解すべきコア機能の実装。逆に単純な繰り返し作業にモブを使うのはもったいない。上級者は「この作業はモブの価値があるか?」を常に問いかけていて、必要に応じてモブ・ペア・ソロを切り替える判断力がチームの生産性を最大化するんだよ。

ペンギン
まとめ:ざっくりこれだけ覚えればOK!
モブプログラミングって出てきたら「チーム全員で1つの画面を囲んで一緒にコードを書く手法」と思えればだいたいOK!
📖 おまけ:英語の意味
「mob programming」 = 集団でのプログラミング
💬 「mob」は群衆の意味。Woody Zuillが2012年頃に提唱し、「All the brilliant minds working on the same thing, at the same time, in the same space, on the same computer」と定義した
← 用語集にもどる