【あんさんぶるぷろぐらみんぐ】

アンサンブルプログラミング とは?

💡 全員で1つのキーボードを囲んだら、知識もスキルも一気にシェアできる
📌 このページのポイント
アンサンブル(モブ)プログラミング 共有スクリーン 1台のPCで全員が作業 Driver タイピスト 指示通りにコードを書く Navi- gator 案内役 次に何をするか指示 Mob Mob Mob チームメンバー 意見を出す・レビュー ローテーション 10〜15分で交代 Driver → Mob Navigator → Driver Mob → Navigator 知識共有・品質向上 属人化の排除
アンサンブルプログラミングの配置と役割
ひよこ ひよこ

全員で1台のパソコンって…それ効率悪くない?

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

直感的にはそう思うよね。でも実際には「手戻り」「レビュー待ち」「認識のズレ」がゼロになるんだ。1人が書いたコードを後からレビューして修正するより、最初から全員の知見を入れて書くほうがトータルでは速いケースが多いよ。

ひよこ ひよこ

ペアプログラミングとは何が違うの?

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

ペアは2人だけど、アンサンブルはチーム全員。3〜6人くらいが一般的だね。ペアだと2人の知識の範囲に限られるけど、アンサンブルならバックエンド・フロントエンド・インフラの専門家が同時にいるから、より良い設計判断ができるんだ。

ひよこ ひよこ

具体的にはどうやって進めるの?

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

まずタイマーをセットして、5〜10分ごとにドライバーキーボードを打つ人)を交代する。ナビゲーター(残りの全員)が「次はこうしよう」と方向を示して、ドライバーはその指示に従って入力するんだ。全員が考え、全員が手を動かすのがポイントだよ。

ひよこ ひよこ

発言しにくい人はどうするの?

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

だからこそドライバーの交代が大事なんだ。全員が必ずドライバーになるし、ナビゲーターとしても「次のドライバーに引き継ぐために説明する」場面が生まれる。自然と全員が参加する仕組みになっているんだよ。心理的安全性が前提だけどね。

ひよこ ひよこ

リモートでもできるの?

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

VS Code Live ShareやIntelliJのCode With Meを使えばリモートでも問題ないよ。MobTimerというタイマーツールで交代を管理して、ビデオ通話しながらやるチームも多い。むしろリモートのほうが画面共有で全員が同じ視点を持てるメリットもあるんだ。

ひよこ ひよこ

どんなときに特に効果的?

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

新しい技術の導入時、複雑な設計判断が必要なとき、新メンバーのオンボーディング時が特に効果的だよ。あるチームでは新人が初日からアンサンブルに参加して、1週間でコードベースの全体像を把握できたという事例もある。知識共有の最強ツールだね。

ペンギン
まとめ:ざっくりこれだけ覚えればOK!
「アンサンブルプログラミング」って出てきたら「チーム全員で1つのコードを書く手法」と思えればだいたいOK!
📖 おまけ:英語の意味
「Ensemble Programming」 = 合奏型プログラミング
💬 「モブプログラミング」が暴徒(mob)を連想させるため、音楽の合奏(ensemble)に改名されたよ
← 用語集にもどる