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

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

最終更新:
💡 1つの作業を、チームで合奏する

チームで同時に1つの作業に取り組む開発手法。入力担当(Driver)と、方針を考えて伝えるナビゲーターなどの役割を交代しながら進める。モブプログラミングとも呼ばれ、対面でもリモートでも実践される。

📌 このページのポイント
チームで同じ作業を一緒に進める 共有する1つの作業 案を出す 一緒に考える 入力担当 Driver 確かめる 一緒に考える 左右:ナビゲーターなど(相談・調査) 役割を交代。間隔はチームで調整
青い矢印は相談した内容を入力担当へ伝え、コードにする流れ。図は役割の一場面で、Driverを交代する。対面・リモートともに参加方法や会話を調整する。
ひよこ ひよこ
全員で1台のパソコンって、効率が悪くない?
ペンギン先生 ペンギン先生
作業を分担するより、人の時間を多く使う面はあるよ。一方、その場で相談でき、認識のずれや後からの修正を減らせる可能性がある。手戻りやレビュー待ちが必ずゼロになるわけではないので、チームの作業に合うかを試して振り返るんだ。
ひよこ ひよこ
ペアプログラミングとは何が違うの?
ペンギン先生 ペンギン先生
ペアは2人で取り組むけれど、アンサンブルはチームで同じ作業に取り組むよ。専門の異なる人が一緒に考えたり、新しいメンバーに考え方を説明したりできる。人数だけで良い設計や知識共有が保証されるわけではないんだ。
ひよこ ひよこ
具体的にはどうやって進めるの?
ペンギン先生 ペンギン先生
入力担当は、ナビゲーターが話し合って伝えた内容をコードにするよ。他の人は次の手順を考えたり、調べたりする。役割を定期的に交代する実践があり、提唱者のチームでは15分ごとに入力担当を替えていた。これは一例で、全チームの固定ルールではないんだ。
ひよこ ひよこ
発言しにくい人も自然に参加できる?
ペンギン先生 ペンギン先生
交代するだけで参加しやすくなるとは限らないよ。質問できる間を取る、説明の速度を合わせる、休憩や参加方法を相談する、といった配慮も必要だね。誰かが入力している間も、全員で同じ問題について考えられるようにするんだ。
ひよこ ひよこ
リモートでもできるの?
ペンギン先生 ペンギン先生
できるよ。共有画面と通話、あるいはLive Shareのような共同編集機能を使う方法がある。共同編集ツールを入れるだけで手法が成立するわけではなく、同じ作業に集中し、引き継ぎや会話の方法を決める。通信や参加者の環境に合わせた調整も必要だよ。
ペンギン
まとめ:ざっくりこれだけ覚えればOK!
「アンサンブルプログラミング」って出てきたら「チームで同じ作業を一緒に考え、役割を交代して進める手法」と思えばだいたいOK!
📖 おまけ:英語の意味
「Ensemble Programming」 = 合奏型プログラミング
💬 Ensembleは音楽の合奏などに使う言葉。チームが1つの作業に取り組む様子に重ねた名称だよ。モブプログラミングという呼び方も使われているんだ。

参考資料

← 用語集にもどる