プログラマにとっての楽しみのひとつであるペアプログラミング(ペアプロ)がいよいよ浸透つつあります。
ペアプログラミングとは、アジャイルソフトウェア開発の手法の一つである、エクストリーム・プログラミング(XP)で、開発のプラクティスの一つとして、挙げられています。
日本ではまだ歴史は浅いとききますが、ペアプロが開発の大きなポイントになってきたことは間違いないでしょう。
新年度も始まり、開発に大きく貢献してくれるプログラマが出てくるのかが気になるところですが、やはり一番注目すべきは新人の方々ではないでしょうか?
新人にとってスタートはやはり大事ですが、なかなか良いスタートを切れる新人はいません。それを見守る人にとってはストレスがたまる日々が続きます。
でもよく考えてみると、新人ってそんなにレベルが低いのでしょうか?プログラミングは一通り勉強しているわけだし、きっかけさえつかめば一気に上達するだけの実力は十分にあるはずです。
ペアプロで新人がはまってしまうことといえば、
(1) 先輩と同等の実装を目指すあまりなかなか実装が進まない。
(2) うまく実装できないので迷惑かけるからキョロキョロしてしまう。
ことではないでしょうか?
しかし、そんな時期を頑張って乗り越えると、少しずつスキルアップして、リズムよい開発が出来てきます。この時期が訪れる時間軸の差が問題なのではないでしょうか?
(1年たっても出来ない人と、2ヶ月で出来る人と・・・まだまだ入ったばかりの新人はどのような人か読めないので、この辺が大きなポイントになります。)
「新人が上達するためのポイントは?」
あるプログラマが「最後までやりとおすこと」と言っていました。「すべてにベストを尽くす。新人の方々はいまは調子が上がらない時期。でも必ず調子はあがるよ、絶対にね!」
脂がのっているプログラマの言う言葉は頼もしく聞こえました。
新人はプログラミングしてキーボートを打って打って打ちまくって、それでこそ新人は上達していきます。
ペアプログラミングは、上級な経験者の間では、個性を消してしまうという批判もあるようですが、大規模な開発を、組織として体系的に進めていくには、非常に有用であると考えています。上に述べた、新人の教育の例もそうですし、その他にも、下記の様な特徴があります。
(1) 仕様・ソースコードから、属人性を排除できる。
(2) 複数の視点が入ることにより、より品質を高めることができる。
(3) 孤独と思われがちな作業を、楽しく行なえる。
(4) チームに連帯感が生まれる。
これからも、ペアプログラミング手法を最適化して、開発に生かしていきたいと思います。
hogehoge
hugahuga
システム創造事業部
荒木 拓郎