Apakah pemrograman pasangan pernah berubah menjadi diskusi panjang yang tidak produktif?

8

Saya hanya berpikir tentang pemrograman pasangan dan satu pemikiran baru saja terlintas di benak saya bahwa pasti suatu saat dua coders tidak akan setuju dan itu akan menjadi diskusi panjang (mungkin dipanaskan) tentang implementasi paradigma atau algoritma, dll Saya berharap ini mungkin perang 'agama' atas hal-hal? Apakah ini terjadi?

Belum pernah 'diprogram', apakah ini sesuatu yang terjadi? Apakah ada proses untuk menghentikan diskusi yang panjang?

Gary Willoughby
sumber
5
Lihat jawaban saya di StackOverflow
Sklivvz
1
Beberapa pekerjaan saya yang paling produktif didasarkan pada percakapan yang diskusi panjang dan panas. Jika percakapan ini sebenarnya hanya "diskusi" tanpa momen "Eureka" maka itu bisa menjadi masalah.
Ramhound
A. Ya. Pada titik mana kami menyebutnya membangun tim . ;-)
Drew
Apakah ada APA SAJA yang melibatkan lebih dari satu orang yang terkadang tidak berubah menjadi diskusi panjang yang tidak produktif?
mjfgates
@ mjfgates Titik adil! lol.
Gary Willoughby

Jawaban:

4

Diskusi yang sulit terkadang merupakan efek samping dari pemrograman pasangan, tetapi ini tidak selalu merupakan hal yang buruk. Sebagai diskusi tentang pendekatan mana yang harus diambil berarti Anda memikirkan kode sebelum Anda menulisnya dan Anda memiliki lebih dari satu set mata di atasnya.

Diambil dari: http://wundasworld.blogspot.com/2007/11/joy-of-pair-programming.html :

Situasi pasangan yang ideal mengharuskan kedua orang untuk menjadi pengembang ahli. Mereka harus terbuka terhadap ide orang lain. Dan dalam hal ini (pengembang ahli dengan pendapat bagus dan kuat), kemungkinan akan membawa kesakitan.

Namun, "perang agama", jika itu akan terjadi, akan muncul dalam tinjauan kode atau di tempat lain, jika mereka tidak muncul pemrograman pasangan. Menghindari diskusi yang tidak produktif adalah sesuatu yang harus diidentifikasi dan dihindari dalam setiap aspek pemrograman. Cara utama untuk menghindarinya berpasangan pemrograman, adalah untuk fokus pada menyelesaikan pekerjaan, belajar untuk memilih solusi yang memenuhi beberapa masalah, dan belajar kapan menyerah ketika suatu pilihan tidak sebanding dengan waktu yang diperlukan untuk memperdebatkannya.

jzd
sumber
3

Saya belum melakukan banyak pemrograman pasangan, dan umumnya memesannya untuk kasus-kasus di mana saya benar-benar macet atau masalah desain utama. Namun, inilah situasi di mana diskusi muncul. Ini pengalaman saya:

  • Diskusi besar muncul apakah Anda berpasangan pemrograman, atau tidak. Perbedaannya adalah bahwa pemrograman pasangan membawa mereka ke permukaan lebih cepat, dan mendapatkan lebih banyak otak yang bekerja pada masalah ini segera. Karena itu, saya cenderung mencari mitra pemrograman ketika saya mengenai keputusan kode yang penting dan sulit.
  • Diskusi yang dipanaskan pada umumnya tidak diarahkan satu sama lain seperti pada masalah. Ketika masalah hilang atau membuat tindakan (misalnya, 'mari kita rapat untuk menyelesaikan ini'), perasaan buruk hilang dan selesai dengan.
  • Diskusi yang dipanaskan adalah tanda-tanda bahwa orang-orang peduli dengan masalah tersebut dan ingin mencari solusi. Semangat seperti ini sering mengarah pada kreativitas dan solusi hebat.
  • Manfaat pemrograman pasangan tidak hanya lebih besar daripada risiko frustrasi, tetapi juga melindungi risiko itu. Keberhasilan dan kode yang baik dapat menghapus banyak frustrasi atau perasaan yang keras.
  • Saya melihat diskusi yang lebih panas muncul ketika seseorang mengkodekan sendirian dan pergi ke arah yang salah. Pada titik itu, coder memiliki banyak investasi ke arah yang salah, dan dibutuhkan lebih banyak karakter untuk mengakui bahwa mereka perlu mengulang sejumlah besar pekerjaan daripada yang dilakukannya untuk mengulang beberapa baris kode atau garis besar untuk proyek.
  • 'Perang suci' biasanya diselesaikan dengan preferensi perusahaan atau manajemen, diskusi rasional tentang pro dan kontra, atau senioritas. Perang suci yang tidak dapat diselesaikan dengan salah satu dari ini biasanya menunjukkan bahwa seseorang itu cocok untuk perusahaan, dan topik perang suci akhirnya akan muncul sebagai sumber gesekan bahkan tanpa pemrograman pasangan. Seruan kepada otoritas lain sering kali dapat membantu menyelesaikan masalah ini - mis., Mari atasan kita / klien memutuskan ini.
Ethel Evans
sumber
1

Biasanya ketika saya memasangkan program dan titik diskusi utama muncul, kami mencoba sebaik mungkin untuk menyisihkannya untuk diskusi terpisah. Akan ada hal-hal yang tidak dipertimbangkan ketika meramu desain awal, atau berbeda pendapat tentang cara mengimplementasikan sesuatu. Yang terbaik adalah tetap membuat sesi pemrograman bergerak maju, karena diskusi semacam itu dapat ditangani dengan cara yang lebih produktif daripada smack-dab di tengah pemrograman pasangan.

JohnRegner
sumber
0

Yang ada di bilik berikutnya dari saya sepertinya SELALU berakhir seperti itu.

Dan Ray
sumber
0

Dalam pengalaman saya, pemrograman pasangan telah dilakukan sebagai bagian dari pendekatan "ekstrem" umum, di mana fokus jangka pendeknya adalah untuk mendapatkan sesuatu dan berjalan, dengan pemahaman bahwa refactoring harus dilakukan nanti. Mengingat hal itu, kemungkinan diskusi yang panas cenderung berakhir dengan seseorang berkata, "Baiklah, kita akan mengkodekannya untuk sekarang dan melihat bagaimana kelanjutannya; kita selalu dapat mengubahnya nanti."

dfan
sumber