「プログラマが知るべき97のこと/1人より2人」の版間の差分

削除された内容 追加された内容
http://xn--97-273ae6a4irb6e2hsoiozc2g4b8082p.com/ (cc-by-3.0-US)より転載
 
編集の要約なし
19行目:
私は「ペアプログラミング」の信奉者です。ペアプログラミングは、協力の究極のかたちと言ってもいいでしょう。ペアプログラミングの利点は、プログラマとしてのスキルが確実に向上するということです。プログラミングの技術、あるいは問題領域についての知識が自分より上の人と組んだ場合には、間違いなくその人から多くのことを学べます。逆に自分の方が上だ、った場合も、パートナーに説明しなくてはならないので、すでに知っていたことをさらに詳しく学ぶことになります。その過程で、今まで知らなかったことも多く学ぶはずです。必ず両者がお互いから何かを学ぶことができるのです。
 
ペアを組めば、の前の問題の解決に対して、2人分の知識、2人分の経験が活かせることになります。プログラミング、問題領域について2 人分の知識と経験があれば、1人では決して見えないようなことも見えてきます。その結果、より優れたソフトウェアをより効率的に開発することができます。両者の知識や経験に大きな差があったとしても、お互いが相手から何かを学びます。知識や経験が上の人間が、下の人間から何かを学ぶことも多いのです。新しいキーボードショートカットを覚えることもあれば、未知のツールやライブラリに触れることもあるでしょう。また当然、知識や経験が下の人間は、ペアを組むことで急速に力をつけることになります。
 
ペアプログラミングの支持者は、全員がそうではありませんが、多くがアジャイルソフトウェア開発の支持者です。ペアプログラミングに否定的な人がよく言うのは「仕事は1つなのに、どうして2人のプログラマに給料を払わなくてはならないのか」ということです。そう言う人には、私は「嫌ならやめればいい」と答えるしかありません。私が言いたいのは、1人よりもペアのときの方が、1つの仕事のために使える技術やテクニック(IDEを使いこなすコツなども含む)が増え、問題領域についての知識も増えるため、ソフトウェアの品質が向上する可能性が高いということです。また「宝くじのリスク(優れた知識、技術を持ったプログラマがある日、宝くじに当たって、急に会社を辞めてしまうリスク)」も緩和できます。