ピンポンペアプログラミング
プログラミングの やり方だよ
2人一組でやるよ
片方がコードを書いて、片方が口出しするよ
途中で役割を交代しながら進めるよ
簡単に書くよ
ピンポンペアプログラミング(英:ping-pong pair programming)とは
2人一組で1台のコンピュータを使ってやるプログラミングのやり方(ペアプログラミング)の やり方のひとつ
であり
それぞれの役割を固定化しないで、途中途中で役割を交代しながら進めるやり方
です。
詳しく書くよ
順番に見ていきましょう。
まずは予備知識として「ペアプログラミング」について説明します。
「そんなの説明されなくても知ってるよ!」な人は適当に読み飛ばしてください。
ペアプログラミングは「2人一組でやりますよ!」なプログラミングのやり方です。
二人羽織みたいなものですね。
まずは2人一組になって、1台のコンピュータの前に座ります。
今回はピヨ太君とピヨ子さんが組んでコンピュータの前に座りました。
2人のうち、片方は手を動かす係です。
ソースコード(プログラムの元ネタ)を書く役割を担います。
もちろん自分でも考えますけどね。
今回はピヨ太君が手を動かす係になりました。
もう一方はサポート役です。
手を動かす係と一緒に考えて、必要に応じて口出しする役割を担います。
今回はピヨ子さんが口出しする係になりました。
2人の役割分担は
・手を動かす係
・口出しする係
です。
ピヨ太君とピヨ子さんは、あーでもない、こーでもない、と言い合いながら、1つのソースコードに手を入れていきます。
このように2人で協力しながら1つのソースコードを作っていくプログラミングのやり方がペアプログラミングです。
単純に考えれば、ペアプログラミングの作業効率は1人でやる半分です。
実際にソースコードを書くのはピヨ太君だけですからね。
ピヨ太君とピヨ子さんが、それぞれソースコードを書けば、2倍のスピードで作業が進むはずです。
ただし、それは「単純に考えれば」です。
ピヨ太君は1人でやっていると、お昼寝してしまうかもしれません。
2人でやっていれば、サボりにくいでしょう。
ピヨ子さんが見ていますからね。
あるいは、上手く進まないときの状況も違います。
1人で考えていると、煮詰まってしまうかもしれません。
2人でやっていれば、あーだこーだと相談できます。
2人の意見をぶつけあうことで画期的な解決策が思い浮かぶかもしれません。
他にも、教育面で良い効果が期待できます。
へぼプログラマのピヨ太君がスーパーエンジニアのピヨ子さんと一緒にプログラミングをするのです。
ピヨ太君はピヨ子さんの仕事のやり方を間近で学べます。
ピヨ子さんも、ピヨ太君をアゴで使えば少しは気分転換になるかもしれません。
このように、ペアプログラミングにはペアプログラミングなりのメリットがあります。
もちろん、デメリット(状況によっては1人でやった方が速い、など)もありますけどね。
なお、今回の説明では「手を動かす係」と「口出しする係」で役割分担しましたが
・実際のプログラムを作る係
・作ったプログラムをテストするためのプログラム(テストコード)を作る係
のように役割分担する場合もあるようです。
以上を踏まえて
役割を交代しながら進めるペアプログラミング
が「ピンポンペアプログラミング」です。
由来は「ピンポン(卓球)」みたいですね。
ダブルスの場合2人で交互に球を打つからだと思いますが、個人的には「テニスじゃダメだったのかな?」と疑問を持っています。
一言でまとめるよ
まぁ「ピンポンペアプログラミング」って単語が出てきたら「役割を交代しながら進めるペアプログラミング
(二人羽織プログラミング)なんだな~」と お考えください。
おまけ
■訳してみるよ
「ping-pong(ピンポン)」の意味は「卓球」です。
「pair(ペア)」の意味は「対」とか「一対」とか「一組」とか「一組にする」とかです。
「programming(プログラミング)」は「program(プログラム)」+「ing」です。
「program(プログラム)」の意味は「計画」とか「演目」とか「(コンピュータの)プログラム」とかです。
何となく くっつけると
卓球のようなやり方で、一組でプログラムを作る
となります。
■検索してみる?






