「分かりそう」で「分からない」でも「分かった」気になれるIT用語辞典イメージぴよ画像「分かりそう」で「分からない」でも「分かった」気になれるIT用語辞典

モブプログラミング

pointこの用語のポイント

pointプログラミングの やり方だよ

pointみんなで1台のコンピュータを使うよ

point1人がコードを書いて、残りの人たちが口出しするよ

スポンサーリンク

簡単に書くよ

モブプログラミング(英:mob programming)とは

プログラミングの やり方のひとつ
であり

みんなで1台のコンピュータを使い、あーだこーだと相談しながら1つのソースコード(人間語で書いたプログラムの元ネタ)を書いていく やり方
です。


image piyo

詳しく書くよ

順番に見ていきましょう。
まずは予備知識として「ペアプログラミング」について説明します。
「そんなの説明されなくても知ってるよ!」な人は適当に読み飛ばしてください。

ペアプログラミングは「2人一組でやりますよ!」なプログラミングのやり方です。
二人羽織みたいなものですね。

モブプログラミング1

まずは2人一組になって、1台のコンピュータの前に座ります。
今回はピヨ太君とピヨ子さんが組んでコンピュータの前に座りました。

モブプログラミング2

2人のうち、片方は手を動かす係です。
ソースコードプログラムの元ネタ)を書く役割を担います。
もちろん自分でも考えますけどね。

今回はピヨ太君が手を動かす係になりました。

モブプログラミング3

もう一方はサポート役です。
手を動かす係と一緒に考えて、必要に応じて口出しする役割を担います。

今回はピヨ子さんが口出しする係になりました。

モブプログラミング4

2人の役割分担は

・手を動かす係
・口出しする係


です。

モブプログラミング5

ピヨ太君とピヨ子さんは、あーでもない、こーでもない、と言い合いながら、1つのソースコードに手を入れていきます。

このように2人で協力しながら1つのソースコードを作っていくプログラミングのやり方がペアプログラミングです。

モブプログラミング6

単純に考えれば、ペアプログラミングの作業効率は1人でやる半分です。
実際にソースコードを書くのはピヨ太君だけですからね。
ピヨ太君とピヨ子さんが、それぞれソースコードを書けば、2倍のスピードで作業が進むはずです。

モブプログラミング7

ただし、それは「単純に考えれば」です。

ピヨ太君は1人でやっていると、お昼寝してしまうかもしれません。

モブプログラミング8

2人でやっていれば、サボりにくいでしょう。
ピヨ子さんが見ていますからね。

モブプログラミング9

あるいは、上手く進まないときの状況も違います。
1人で考えていると、煮詰まってしまうかもしれません。

モブプログラミング10

2人でやっていれば、あーだこーだと相談できます。
2人の意見をぶつけあうことで画期的な解決策が思い浮かぶかもしれません。

モブプログラミング11

他にも、教育面で良い効果が期待できます。

へぼプログラマのピヨ太君がスーパーエンジニアのピヨ子さんと一緒にプログラミングをするのです。
ピヨ太君はピヨ子さんの仕事のやり方を間近で学べます。

モブプログラミング12

ピヨ子さんも、ピヨ太君をアゴで使えば少しは気分転換になるかもしれません。

モブプログラミング13

このように、ペアプログラミングにはペアプログラミングなりのメリットがあります。
もちろん、デメリット(状況によっては1人でやった方が速い、など)もありますけどね。

なお、今回の説明では「手を動かす係」と「口出しする係」で役割分担しましたが

・実際のプログラムを作る係
・作ったプログラムをテストするためのプログラム(テストコード)を作る係


のように役割分担する場合もあるようです。

モブプログラミング14

以上を踏まえて

ペアプログラミングの大人数版

が「モブプログラミング」です。
モブプログラミングでは、みんなでワイワイ言いながら1つのソースコードを作り上げていきます。

モブプログラミング15

モブプログラミングの「モブ」は「群衆」を意味する英語の「mob(モブ)」です。
「群衆プログラミング」と読み替えればイメージしやすいかもしれませんね。

ペアプログラミングにおける役割分担は

・手を動かす係:1人
・口出しする係:1人


でした。

モブプログラミング16

これがモブプログラミングでは

・手を動かす係:1人
・口出しする係:いっぱい


に なります。

モブプログラミング17

手を動かす係は途中で交代したりするかもしれませんけどね。
いずれにせよ、書くソースコードは1つです。

モブプログラミングのメリット・デメリットは、基本的にはペアプログラミングと同じだと思います。
……が私はモブプログラミングをやったことがないので断言できません。
具体的なことは他のところで勉強してください。


image piyo2

一言でまとめるよ

まぁ「モブプログラミング」って単語が出てきたら「みんなで1台のコンピュータを使ってワイワイ言いながら一緒にやるプログラミングのやり方なんだな~」と お考えください。

一番上に戻るよ
スポンサーリンク
書籍画像012
書籍画像008

おまけ

■訳してみるよ

「mob(モブ)」の意味は「群衆」とか「暴徒」とか「大衆」とかです。
「programming(プログラミング)」は「program(プログラム)」+「ing」です。
「program(プログラム)」の意味は「計画」とか「演目」とか「(コンピュータの)プログラム」とかです。
何となく くっつけると

群衆でプログラムを作る

となります。





書籍画像
わわわ説明術コラム
宣伝だよ
「分かった!」と思わせる説明の技術 知識ゼロの相手にも伝わるようになる本【Audible】
マンガでわかるITパスポート
おい点P、動くんじゃねえ!──ニガテ民のための算数と数学の本