Ide umum yang dianut oleh sebagian besar teori Agile / XP tampaknya pasangan harus bertukar secara teratur. Misalnya setiap programmer harus menukar pasangan sekali sehari; setengah orang bertukar pada awal hari, setengah orang bertukar setelah makan siang: karena faktor-faktor eksternal seperti rapat, liburan dan sejenisnya kebanyakan orang cenderung membalik waktu swap mereka sekali atau dua kali per minggu sehingga konfigurasi pasangan mendistribusikan cukup merata di seluruh tim.
Satu alasan di balik sering bertukar adalah bahwa pengetahuan tersebar di antara tim dengan cepat dan merata, daripada memiliki keterampilan dan pengetahuan khusus yang terkonsentrasi pada individu-individu tertentu - menyiratkan bahwa pekerjaan dapat berlanjut dengan lancar jika orang pergi atau meninggalkan perusahaan. Alasan lain, yang merupakan semacam akibat wajar dari dogma seputar pemrograman pasangan itu sendiri, adalah bahwa setiap kali seseorang bertukar pada Anda mendapatkan review kode baru dengan sepasang mata baru, sehingga hanya dapat meningkatkan kualitas kode.
Kedua pernyataan itu terdengar masuk akal; dari sudut pandang manajemen sepertinya Anda mendapatkan peningkatan dalam stabilitas dan kualitas, dan karena itu sering bertukar teori standar di sebagian besar buku Agile / XP yang saya lihat.
Jadi, ketika benar-benar dipraktikkan, apa yang sebenarnya orang pikirkan tentang bertukar pasangan
- Sudut pandang seorang programmer?
- Sudut pandang seorang manajer?
Dan
- Apa yang harus menentukan kapan seseorang bertukar pasangan?
Jawaban:
Pemrograman pasangan sulit.
Itu sulit karena ini bekerja paling baik ketika 2 orang yang terlibat dekat dalam tingkat keterampilan dan itu bisa sulit di beberapa lingkungan kerja. Ini bisa lebih sulit ketika Anda bertukar karena Anda perlu menemukan orang lain dengan tingkat keterampilan yang sesuai dan kemudian membawa mereka dengan cepat pada masalah saat ini. Keuntungannya adalah semakin banyak orang yang terpapar pada setiap potongan kode yang telah dipasangkan. Ini akan menyebabkan lebih sedikit waktu di mana kode tidak dapat diperbaiki karena tidak ada yang cukup tahu tentang hal itu. Ini juga harus menyebarkan kepemilikan kelompok dan kemampuan bagi siapa pun untuk mengambil bagian dari pekerjaan apa pun.
Saya telah menemukan bahwa bahkan di lingkungan di mana pemasangan dilakukan, bertukar pasangan tidak sebanding dengan biayanya. Namun, ini mungkin karena tugas kami tidak pernah memakan waktu lebih dari ~ 1,5 hari. Kami menemukan manfaat besar untuk memecah tugas menjadi tidak lebih dari ~ 1,5 hari kerja. Pertukaran pasangan mungkin lebih masuk akal dalam konteks tugas yang berjalan lebih lama.
sumber
Saya seorang programmer dan manajer. Inilah pendapat saya:
Bertukar secara teratur sangat bagus. Saya suka bertukar 2-4 kali per hari, yang kira-kira secepat yang saya kira Anda bisa lakukan. Bagi kami, itu terjadi pada titik-titik alami: umumnya makan siang dan sore hari. Berganti setiap atau dua hari mungkin baik-baik saja, tetapi saya khawatir akan jauh lebih lama dari itu. (Saya pernah mendengar satu tempat bertukar jarang setiap enam minggu, yang saya pikir gila; setelah banyak waktu bersama Anda akan siap untuk menikam orang suci.)
Sebagai seorang programmer saya suka itu karena saya mendapatkan perspektif baru, bisa memeriksa area lain dari kode, dan dapat tetap dengan atau pindah dari sesuatu yang saya inginkan. Saya baru-baru ini beralih dari solo coding kembali ke berpasangan, dan saya senang: Saya belajar lebih banyak, bersenang-senang lebih banyak, dan menyelesaikan lebih banyak.
Sebagai seorang manajer saya pikir ini hebat karena memecahkan banyak faktor truk dan masalah kemacetan. Misalnya, akhir pekan ini saya mengambil akhir pekan yang panjang untuk pernikahan seorang teman, dan saya tidak khawatir sama sekali: semua yang saya kerjakan juga telah dikerjakan oleh orang lain. Saya juga berpikir itu sangat membantu anggota tim untuk menghargai kekuatan dan kelemahan satu sama lain, dan untuk mendorong kepemilikan kode kolektif.
Mengenai siapa yang tetap dengan pekerjaan saat ini, saya merasa seperti itu terutama terserah orang-orang yang terlibat. Terkadang Anda ingin melihat sesuatu, dan kadang-kadang Anda siap untuk perubahan. Kami juga kadang-kadang bertukar untuk membawa keahlian, atau agar seseorang dapat mempelajari sesuatu yang mereka minati. Kami mencoba untuk menjaga unit kerja kami cukup kecil (0,5-2,0 pasangan-hari), jadi itu bukan masalah besar, tetapi pertukaran itu terus berlanjut .
sumber
Okie, inilah jawabannya dari seorang programmer agile / xp pragmatis yang memproklamirkan diri. Saya telah memasangkan pemrograman selama lebih dari dua tahun sekarang. Jika pemrograman pasangan baik, bertukar pasangan sering (idealnya setiap dua jam, jika tidak setiap setengah hari). Di lokasi kantor kami, kami membuat titik untuk bertukar pasangan setiap hari (biasanya) atau setiap dua hari (dalam kasus yang lebih buruk). Melakukan hal ini dengan sendirinya dapat memberi kita banyak kepercayaan pada kualitas kode yang kita komit dan pelajari atau mengambil kesimpulan yang kita miliki dengan setiap rotasi pasangan (kita tahu bahwa tinjauan kode itu baik, semakin banyak semakin baik dan semakin awal semakin bagus. Inilah yang mencapai "pemrograman pasangan, termasuk praktik bertukar pasangan" ).
Mengapa kita tidak berganti pasangan setiap dua / empat jam? Yah, sebenarnya saya telah berada di tim yang berlatih ini juga. Ini tentu cara yang lebih keren dan lebih produktif. Tapi di sini masalahnya, interval waktu bertukar pasangan tidak boleh menjadi aturan, itu harus terjadi dengan sendirinya; hanya dengan begitu manajer atau bisnis dapat melihat manfaatnya.
Saya telah menyaksikan dan mengalami ini. Saya sekarang penginjilnya. Tidak ada teori. Agak pragmatisnya :) Selamat berpasangan dan bertukar pasangan.
sumber