まずはマンガで知ってみよう…

こっちはウソなし…
まなめのやさしい用語解説!!

 今日から私はプログラマ。最初のうちはわからないこともあるけれど,いずれは誰からも信頼される一流プログラマになってみせる。まずは「ペアプログラミング」で慣れてくれと上司に言われたけれど,学生時代に多少はプログラムをかじった私ならば,百戦錬磨の先輩にも今年の新人は使えるってところを見せてやるぜ!なんて気合十分。

 しかし,いざペアプログラミングがはじまったら,先輩は私の横でずっと見ている。えっ? そんなに信頼されていないの? これでは先輩は自分のプログラムが全く書けず,私はただの足手まといじゃないか。役立たずの私なんか,いないほうがいいんだ……。ということを,先輩に打ち明けてみたら,なんとこれがペアプログラミングというものだそうです。

ペアプログラミングとは,
2人で1台のパソコンを使って
プログラムを開発すること!

 普通,コードを書く人は1人でコードを書き,レビューをする人は1人でレビューのときだけチェックします。でもペアプログラミングでは,常に2人が一緒になって1台のパソコンに向かいます。そして「コードを書く係」と「チェックしながらナビゲートする係」を交代しながら作業を進めるのです。

特徴は「見られること」と「見ること」

 なにもかも二人一組のペアプログラミング,大きな特徴は二つあります。一つは見られること

 2人で1台のPCを使うって普通に考えたら生産性が半分になるように思うんです。しかし,1人でプログラミングをしていると調べもののついでに別の作業をしてしまったり,割り込み作業が入ったり…どんなに優秀なプログラマでも25%程度しかコードを書いていないといわれます。しかし,パートナーに見られることによって,別の作業や割り込みから守られ,目の前の作業に集中できます。この結果,ペアプログラミングの方が効率が上がるというおもしろい現象が起こるのです。

 また,人というものは見られているとついつい良いところを見せようとがんばってしまうもの。二人で理解を共有しながら進めるため,シンプルで読みやすいプログラムを書くようになります。自分以外の人が理解しやすいプログラムを書くと,もしバグが混入しても発見しやすいため,品質まで良くなるのです。

 ほかにも,新人教育のOJTの一環として使われることがあります。通常,わからないことがあっても先輩はいつも忙しそうでなかなか声をかけることができず時間を無駄に使ってしまうのですが,ずっと横で見てもらえるのですぐに聞くことができるというのはとても安心します。また,教える側としても実際に開発するスピードで順を追って指導できるため,的確な指示ができるなどのメリットがあります。

 もう一つの特徴は見ること

 ペアプログラミングの効果は“見られること”によって発揮する場合が多いです。でも,見ることもとても重要です。コミュニケーションを通して理解を共有し,確認しながら進めることによりスキルを互いに高めあうことができます。また他人の開発を横から見る機会なんてペアプログラミングでもしない限りなかなかありません。じっと眺めているだけで,その人のプログラムの考え方や,書き方,わからなかったときの調べ方などをどんどん学ぶことができるのです。そのぶん,見ている人は見られている人以上に集中力を使います。45分やったら15分休むなど,適度に休憩をとるようにしましょう。

 「先輩,もう疲れました? かわいい顔が台無しですよ。そろそろ休みましょうか」ペアプログラミングに慣れた私が先輩に休憩を催促します。「大丈夫よ。私はあなたと一緒ならずっとがんばれるから」「え,それって…」・・・なんていう展開が訪れる日を夢見て,今日も先輩の厳しい目線とダメ出しと戦います!

本日のまとめ

今日のまとめ

きたみりゅうじ
きたみりゅうじ もとプログラマで,現フリーのライター兼イラストレーター兼まんが家…とかいう,よくわからない肩書きにて世の中を徘徊中。最新作は『[改訂3版] 図解でよくわかる ネットワークの重要用語解説』(技術評論社),『新卒はツラいよ!』(幻冬舎)など。http://www.kitajirushi.jp/
まなめ
まなめ ニュースサイト「まなめはうす」の管理人。話題のニュースを紹介したり,ブログを書いたり,Twitterでつぶやいたりと,まるでネットの住人。しかし,本業はシステムエンジニア。コボラーでもある。 http://homepage1.nifty.com/maname/