モブプロ
プログラミングの やり方だよ
みんなで1台のコンピュータを使うよ
1人がコードを書いて、残りの人たちが口出しするよ
簡単に書くよ
モブプロとは
「モブプログラミング」の省略表現。
用語の中身としては
プログラミングの やり方のひとつ
であり
みんなで1台のコンピュータを使い、あーだこーだと相談しながら1つのソースコード
(人間語で書いたプログラムの元ネタ)を書いていく やり方
です。
詳しく書くよ
最初に留意事項です。
「モブプログラミング」と言われて「あぁ、アレのことね」と分かる方は最後まで読む必要ありません。
「モブプログラミング」を省略した表現が「モブプロ」です。
「モブプログラミング?それ何?おいしいの?」な人は、このまま読み進めてください。
用語の中身について説明します。

それでは、いってみましょう。
まずは予備知識として「ペアプログラミング」と「ペアプロ」について説明します。
「そんなの説明されなくても知ってるよ!」な人は適当に読み飛ばしてください。
ペアプログラミングは「2人一組でやりますよ!」なプログラミングのやり方です。
二人羽織みたいなものですね。
まずは2人一組になって、1台のコンピュータの前に座ります。
今回はピヨ太君とピヨ子さんが組んでコンピュータの前に座りました。
2人のうち、片方は手を動かす係です。
ソースコード(プログラムの元ネタ)を書く役割を担います。
もちろん自分でも考えますけどね。
今回はピヨ太君が手を動かす係になりました。
もう一方はサポート役です。
手を動かす係と一緒に考えて、必要に応じて口出しする役割を担います。
今回はピヨ子さんが口出しする係になりました。
2人の役割分担は
・手を動かす係
・口出しする係
です。
ピヨ太君とピヨ子さんは、あーでもない、こーでもない、と言い合いながら、1つのソースコードに手を入れていきます。
このように2人で協力しながら1つのソースコードを作っていくプログラミングのやり方がペアプログラミングです。
単純に考えれば、ペアプログラミングの作業効率は1人でやる半分です。
実際にソースコードを書くのはピヨ太君だけですからね。
ピヨ太君とピヨ子さんが、それぞれソースコードを書けば、2倍のスピードで作業が進むはずです。
ただし、それは「単純に考えれば」です。
ピヨ太君は1人でやっていると、お昼寝してしまうかもしれません。
2人でやっていれば、サボりにくいでしょう。
ピヨ子さんが見ていますからね。
あるいは、上手く進まないときの状況も違います。
1人で考えていると、煮詰まってしまうかもしれません。
2人でやっていれば、あーだこーだと相談できます。
2人の意見をぶつけあうことで画期的な解決策が思い浮かぶかもしれません。
他にも、教育面で良い効果が期待できます。
へぼプログラマのピヨ太君がスーパーエンジニアのピヨ子さんと一緒にプログラミングをするのです。
ピヨ太君はピヨ子さんの仕事のやり方を間近で学べます。
ピヨ子さんも、ピヨ太君をアゴで使えば少しは気分転換になるかもしれません。
このように、ペアプログラミングにはペアプログラミングなりのメリットがあります。
もちろん、デメリット(状況によっては1人でやった方が速い、など)もありますけどね。
なお、今回の説明では「手を動かす係」と「口出しする係」で役割分担しましたが
・実際のプログラムを作る係
・作ったプログラムをテストするためのプログラム(テストコード)を作る係
のように役割分担する場合もあるようです。
ペアプロは「ペアプログラミング」の省略表現です。
「ペアプログラミング」と「ペアプロ」は同じ意味の用語です。
以上を踏まえて
ペアプロの大人数版
が「モブプロ」です。
モブプロでは、みんなでワイワイ言いながら1つのソースコードを作り上げていきます。
モブプロの「モブ」は「群衆」を意味する英語の「mob(モブ)」です。
「群衆プログラミング」と読み替えればイメージしやすいかもしれませんね。
ペアプロにおける役割分担は
・手を動かす係:1人
・口出しする係:1人
でした。
これがモブプロでは
・手を動かす係:1人
・口出しする係:いっぱい
に なります。
手を動かす係は途中で交代したりするかもしれませんけどね。
いずれにせよ、書くソースコードは1つです。
モブプロのメリット・デメリットは、基本的にはペアプロと同じだと思います。
……が私はモブプロをやったことがないので断言できません。
具体的なことは他のところで勉強してください。
一言でまとめるよ
まぁ「モブプロ」って単語が出てきたら「みんなで1台のコンピュータを使ってワイワイ言いながら一緒にやるプログラミングのやり方なんだな~」と お考えください。
おまけ
■訳してみるよ
「mob(モブ)」の意味は「群衆」とか「暴徒」とか「大衆」とかです。
「プロ」は「programming(プログラミング)」の略です。
「programming(プログラミング)」は「program(プログラム)」+「ing」です。
「program(プログラム)」の意味は「計画」とか「演目」とか「(コンピュータの)プログラム」とかです。
何となく くっつけると
群衆でプログラムを作る
となります。






