試してわかった!ペアプログラミングの面白さ
システムエンジニアの今井です。
今回は前回のプロジェクトから導入をしてみたペアプログラミングについて書きたいと思います。
ペアプログラミングとはその名前の通り、
2人1組で1つのプログラミングを行うことです。
とはいっても2人で作業を分担するということではなく、1人が実際にプログラムを打ち込んで、もう1人はそれを見ながら指示したり相談し合ったりして開発を進めます。
ペアプログラミングをしてみて感じた点
実際導入をしてみて、自分が感じた「良い」または「微妙だ」と思った点をあげます。
良いかなと思った点
1.新たな気づきと学習になる
他人のコードを書く様子をリアルタイムでみることができるので、新たな気づきになる。その場ですぐ質問ができる。(コーディングにはその人の特徴が出るので、見ていて勉強になりました。)
2.作業が楽しい
ペアプログラミング中は常に会話ができるので、楽しく作業ができる。(会話が脱線してコーディングがおろそかになることも・・・)
3.間違いやずれもすぐカバー
コードを書いていない人がつねにチェックしているので、コードの文法間違い、仕様の認識のズレや漏れがカバーできる。
4.複数人で案件を把握
複数人が案件を把握しているので、どちらか一方が病欠したとしてもその案件がストップすることがない。
微妙かなと思った点
1.他の案件が止まってしまう
弊社では1人の従業員が複数の案件を抱え、同時進行で作業をしています。
今回のように2人で1つの案件を行なっていると、作業している案件は進むのですが他の作業が止まってしまいます。
この点は臨機応変に、納期が迫っているときは一時的にペアプログラミングをやめて別々に作業をしたほうがいいかなと思いました。
まとめ
今まで、情報が共有されている状態をつくろうと、システムメンバーで以下のような工夫を行っていましたが、なかなか満足する状態というのができずにいました。
・ドキュメント作成
・内容はどこまで書けばいいのか?
・時間がかかる(ドキュメントを書く方に時間を割くのであれば、コーディングしたい)
・記入したドキュメントを読む機会がなかなかない
・朝会議(朝一で各人抱えている案件の報告)
・各人抱えている案件の数はわかるが、内容の相互理解とまではいかない。
他の案件が止まってしまうというデメリットはありますが、
複数人が同じ案件を把握できているという状態は、私が考えるシステムチームの理想的なワークスタイルなので、とても魅力的に感じました。
今後
このようなメリットがありましたのでペアプログラミングを導入していくということになりました。
ただ他の案件がストップしてしまうという状態が発生するのは避けたいので、
いきなりすべての案件を導入していくのではなく、少しずつペアプログラミングを導入していくという方向になりました。
一度あなたの会社でも導入してみてはいかがでしょうか?