ペアプログラミングは、時間のかかる非生産的な議論に変わりますか?


8

私はペアプログラミングについて考えていましたが、確かにいつか2人のコーダーが同意せず、パラダイムやアルゴリズムの実装についての長い(多分白熱した)議論になると思いました。これらは物事に対する「宗教的」戦争かもしれないと思いますか?これは起こりますか?

これまで「ペアプログラム」を行ったことがない場合、これは発生することですか?長い議論を止めるプロセスはありますか?



1
私の最も生産的な仕事のいくつかは、長い議論と白熱した会話の両方に基づいていました。これらの会話が実際には「議論」であり、「ユーレカ」の瞬間はまったくない場合、問題になる可能性があります。
ラムハウンド2011

A.はい。その時点で、チームビルディングと呼んでいます。;-)
ドリュー

時には非生産的な長い議論にならない複数の人が関係することはありますか?
mjfgates 2011

@mjfgatesフェアポイント!笑。
ゲイリーウィロビー

回答:


4

厳しい議論はペアプログラミングの副作用である場合がありますが、これは必ずしも悪いことではありません。どのアプローチを取るかについての議論は、コードを書く前にそのコードについて考えていることを意味し、コードに複数の目を向けています。

引用元:http : //wundasworld.blogspot.com/2007/11/joy-of-pair-programming.html

理想的なペアリングの状況では、両方の人が専門の開発者である必要があります。彼らは他の人の考えにオープンである必要があります。そして、この場合(良い強力な意見を持つ専門の開発者)、それは痛みをもたらす可能性があります。

ただし、「宗教戦争」が発生する場合、ペアプログラミングを行わない場合は、コードレビューなどで取り上げられます。非生産的な議論を避けることは、プログラミングのあらゆる側面で識別され、避けられなければならないことです。ペアプログラミングを回避する主な方法は、ジョブを完了することに集中し、複数の懸念を満たすソリューションを選択する方法を学び、選択について議論するのにかかる時間に値しない場合にいつ与えるべきかを学ぶことです。


3

私は多くのペアプログラミングを行っていませんが、通常は本当にスタックしている場合や大きな設計上の問題のために予約しています。しかし、これらはまさに議論が現れる状況です。これは私の経験です:

  • ペアプログラミングかどうかにかかわらず、大きな議論が起こります。違いは、ペアプログラミングはそれらをより早く表面化し、問題に取り組むより多くの頭脳をすぐに得るということです。このため、重要で難しいコードの決定にぶつかったときに、プログラミングパートナーを探す傾向があります。
  • 熱くなった議論は一般に、問題についてほどお互いに向けられることはありません。問題がなくなった、または実行可能になった場合(たとえば、「これを解決するために会議を開いてみましょう」)、不快な気持ちはなくなります。
  • 熱くなった議論は、人々が問題を気にし、解決策を見つけたいという兆候です。この種の情熱は、多くの場合、創造性と優れたソリューションにつながります。
  • ペアプログラミングのメリットは、フラストレーションのリスクを上回るだけでなく、そのリスクからも保護されます。成功と適切なコードは、多くのフラストレーションや苛酷な感情を消し去ります。
  • 人が一人でコーディングしていて、間違った方向に進んでいるときに、もっと白熱した議論が出てくるのがわかります。その時点で、コーダーは間違った方向に多くの投資を行っており、プロジェクトの数行のコードやアウトラインをやり直すよりも、大量の作業をやり直す必要があることを認めるには、より多くの人格が必要です。
  • 「聖なる戦争」は通常、会社や経営陣の選好、長所と短所に関する合理的な議論、または年功序列によって解決されます。これらのいずれかで解決できない聖戦は、通常、誰かが会社に適していないことを示し、聖戦のトピックは、ペアプログラミングがなくても最終的に摩擦の原因として浮かび上がってきました。多くの場合、他の当局へのアピールはこれらの問題の解決に役立ちます。たとえば、上司やクライアントにこれを決定させましょう。

1

通常、プログラムをペアリングして主要なディスカッションポイントが表示されたら、別のディスカッションのために脇に置いておきます。最初の設計を練るときに考慮されなかったもの、または何かを実装する方法について異なる意見があるでしょう。この種のディスカッションは、ペアプログラミングの真ん中のスマックよりも生産性の高い方法で処理できるため、プログラミングセッションを前進させることをお勧めします。


0

私の次のキュービクルにあるものは、常にそうなるようです。


0

私の経験では、ペアプログラミングは一般的な「極端な」アプローチの一部として行われており、短期的な焦点は何かを立ち上げて実行することであり、リファクタリングは後で行われることを理解しています。それを踏まえると、可能性のある激しい議論は、「まあ、結構です。今のところコードを記述して、状況を確認します。後でいつでも変更できます」と言って解決する傾向があります。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.