80-1人より2人

プログラマが知るべき97のこと」の80個目のエピソードは、ペアプログラミングに関する話です。従来のプログラミングと言えば、1人で黙々と集中して行うイメージが強いものでした。しかし、このエピソードにも書かれているように近年はプログラミング作業の進め方も変わってきており、複数人で協力して行う方法が主流になってきています。複数人、特にペアで作業を行う事のメリットはこのエピソードにも書かれています。
ペアプログラミングを行うと仕事が楽しくなります。難しい問題を解決するために悩むこと、新しい発見をすること、共に苦労すること、様々なことを教わること、それらは人と人との繋がりです。プログラマであれば、一番楽しい話題はプログラムに関することです。条件分岐やポリモフィズムのちょっとしたアイディア、IDEのショートカット、様々なツール、それらは仕事をより効率よく進めることにも繋がります。
ペアプログラミングを行うと孤独ではなくなります。自分も何度か「1人プロジェクト」を経験したことがありますが、非常に寂しいものです。何か難しいことを達成したとしても、それを適切に評価してくれる人はいません。逆にまったく手間もかけずにちょっと作ったツールが評価されることもあります。プログラマでない人から見たら何が難しくて何が簡単なのかが解りにくいのです。勿論、相手にとって価値のあるものという絶対的な基準は重要ですが、プログラマという枠組みで理解して貰える事はモチベーションに繋がります。
ペアプログラミングを行うと高い教育効果があります。特に新人や経験が浅いプログラマにとって、ペアプログラミングは最高のトレーニングです。経験の豊富なプログラマにとっては、自分の考えを整理して伝えることが必要になるため、表現力が高まります。これは「なんとなく理解しているけど言語化できない」という中堅プログラマにとって最高のトレーニングです。
自分もペアプログラミングに関して本格的に導入を始めたのはつい最近です。それまでは環境の問題で中々導入したくても導入できませんでした。しかし、一端導入してしまうと、やらない事は考えられません。特にプロジェクトのキックオフ直後はお互いのスキルを確認し、ソフトウェアの要件や基盤を理解していく為にペアプログラミングは有効です。お互いが解らないのであれば相談することで新しい事が見えてきます。そして、チーム全体にプロジェクトの知識やスキルが伝わります。この機能は誰でなければ対応できないということがほとんど発生しない事は、プロジェクトの終盤で大きな強みとなります。

プログラマが知るべき97のこと

プログラマが知るべき97のこと