Jelas, jika manajemen mau menghabiskan waktu dengan ulasan kode, maka semua orang harus melakukannya.
Tetapi selalu ada orang-orang (atau perempuan) yang menolak dengan setiap ons dari keberadaan mereka.
Bagaimana Anda mengelola secara efektif berurusan dengan skenario ini ketika menghadapinya sebagai peer reviewer?
Jawaban:
Dia menolak karena takut . Pengondisian ini mungkin merupakan hasil dari pengalaman buruk sebelumnya tentang ditinjau, sebagai seorang anak, di sekolah, di tempat kerja atau bahkan di tim Anda saat ini. Dalam masyarakat modern kita, sangat umum bagi kita untuk membingungkan hasil kerja seseorang dengan nilainya sebagai manusia. Itu sebabnya ulasan di tempat kerja tidak diterima dengan baik. Itu juga mengapa berbicara di depan umum di salah satu fobia yang paling menyebar (takut akan hukuman).
Untuk menghindari perilaku seperti itu, Anda perlu beberapa psikologi. Anda harus membuktikan kepada otak kadal itu bahwa hal itu tidak akan terjadi (dia tidak akan dihakimi, dihina, dibunuh, apa pun ...) dengan membuat dia pingsan terhadap kode ulasan.
Salah satu metode paling efektif yang saya temukan untuk membuka blokir seseorang adalah memintanya untuk meninjau kode Anda , sebelum meminta untuk meninjau kodenya.
Setelah beberapa saat, usulkan dia untuk membaca kode untuk belajar darinya dan mengapa tidak menyarankan perbaikan. Ketika Anda menemukan sesuatu untuk diubah, berhati-hatilah dengan apa yang Anda tulis. Dia akan mengerti tidak ada yang perlu ditakuti, dan dia akan mengambil bagian positif dari proses peninjauan saja: belajar dan meningkatkan pengetahuannya .
sumber
Saya akan mencoba bekerja berpasangan - tim seseorang yang membenci ide dengan seseorang yang menyukainya, dan minta mereka meninjau kode masing-masing selama beberapa minggu. Jelas ini mungkin atau mungkin tidak membantu, tetapi berada di kedua ujung review akan setidaknya memberikan pandangan yang lebih menyeluruh dari proses. Memiliki kerja sama pasangan akan memungkinkan mereka untuk mengenal gaya masing-masing dan kesalahan umum dan akan memberi mereka waktu untuk benar-benar membantu satu sama lain menjadi lebih baik, daripada stempel karet. Ini juga dapat membantu Anda mempromosikan pemrograman pasangan di lingkungan kerja Anda, karena saya pikir Anda mungkin melihat kecenderungan yang berkembang untuk tidak hanya meninjau, tetapi juga mengkode ulang atau bahkan merencanakan dan kode dari awal.
Selama pihak-pihak yang berkepentingan bersedia untuk mencoba, ini bisa membantu. Jika mereka menolak untuk mempertimbangkannya, tidak banyak yang dapat Anda lakukan selama mereka berada di tim.
sumber
@ Jawaban Pierre tepat untuk seseorang yang takut akan tinjauan kode. Saya bisa membayangkan situasi lain. Seorang programmer bintang yang merasakan review kode adalah buang-buang waktu karena ada kode mencapai standar kualitas dan kebenaran yang dapat diterima. Dalam hal ini mereka mungkin merasa review kode adalah pemborosan waktu dan perburuan. (Itu adalah pencarian masalah ketika tidak ada.)
Dalam hal ini saya akan mengarahkan kembali tujuan ulasan. Alih-alih tinjauan kode menjadi tentang menemukan "masalah" dalam kode, memperlakukannya sebagai pencarian target anjak piutang atau potensi peningkatan di masa depan, atau fitur desain tambahan. Dengan cara ini, baik coder dan reviewer terlibat dalam proses dan mudah-mudahan programmer ini akan merasa seperti ada waktu dimanfaatkan dengan baik.
sumber
Terus terang, pertanyaan ini tidak masuk akal jika Anda memiliki toko yang dikelola dengan baik:
1) Jika itu bagian dari pekerjaan, Anda harus melakukannya, atau Anda tidak patuh. Seseorang yang dengan tegas menolak untuk melakukan bagian dari pekerjaan yang harus mereka lakukan harus dikalengkan. Pemrograman adalah keahlian dan profesi - pengulas dan manajer ada untuk membantu menyelesaikan pekerjaan, tidak berurusan dengan anak-anak manja (dari segala usia.)
2) Jika Anda memiliki sistem kontrol sumber yang dikelola dengan baik, (yang merupakan keharusan di setiap toko perangkat lunak profesional), maka kode mereka dapat ditinjau apakah mereka suka atau tidak. Jadi tinjau kode mereka:
Jika itu baik, beri tahu mereka dan beri mereka tepukan di punggung - itu akan mendorong partisipasi.
Jika tidak bagus, beri tahu mereka juga. Ini harus memiliki efek memotivasi mereka untuk berpartisipasi, untuk membela diri. Jika tidak, Anda dapat menggunakan langkah-langkah hukuman: Denda keuangan, penurunan status, dll. Jika upaya Anda tidak berhasil, karyawan ini gagal datang, IMO Anda memiliki karyawan yang buruk dan mereka harus ditunjukkan pintu.
sumber
Apakah mereka memiliki pengalaman negatif di tempat-tempat di mana ulasan kode tidak dilakukan dengan benar? Mereka mungkin memiliki masalah yang sah.
Jika mereka benar-benar tidak melihat manfaat dari latihan ini, mintalah mereka untuk bersabar dan melihat apa yang terjadi pada kode mereka dan terutama yang lain (jika mereka pikir mereka sempurna) sebagai hasilnya.
Tinjauan Kode 'harus' meningkatkan pengembangan, tetapi sampai Anda memiliki sistem yang benar-benar berfungsi, mengapa ada yang mau melakukannya?
sumber
Saya pribadi bahwa ada beberapa perkelahian yang tidak bisa dimenangkan dengan 100% populasi.
Saya dapat melihat alasan yang cukup mengapa pemrograman pasangan tidak bekerja ketika seseorang dipaksa untuk melakukannya.
Tetapi review kode berbeda - mereka mengubah produktivitas Anda, belum tentu kebiasaan kerja Anda.
Manajemen dapat melakukan beberapa hal untuk mengurangi resistensi karena produktivitas: 1) Menerima pengurangan kecepatan untuk semua pengembang. 2) Menyediakan alat yang tepat untuk menangani manajemen dan penggabungan berbagai versi karena siklus peninjauan (mis., Memungkinkan pengembang memiliki repositori git lokal) 3) Menegakkan beberapa tekanan sosial atau bentuk lain untuk memastikan distribusi muatan dan kualitas dan ketepatan waktu ulasan.
Jika mereka melakukan itu, itu sah untuk meminta semua orang untuk berpartisipasi, IMHO. Perusahaan saya sekarang bekerja untuk kekuatan ini secara global - Anda tidak bisa mengirimkan tanpa persetujuan pemilik. Dan sementara ini memperlambat segalanya, itu mencegah banyak kecelakaan.
sumber
Kami menggunakan langkah-langkah teknis untuk membuat peninjauan kode wajib.
Cara kami memperkenalkan tinjauan kode adalah bahwa dalam kontrol sumber kami, tidak mungkin untuk menggabungkan kode yang tidak ditandatangani oleh orang lain daripada orang yang mendorongnya.
sumber
Pecat mereka
Sesederhana itu - apakah mereka mendapatkan proyek sendirian, atau mereka harus pergi. Singkirkan mereka dari tim Anda. Mereka tidak hanya tidak melakukan bagian mereka, mereka mengikis moral dan praktik tim.
Sekarang, jika tampaknya Anda harus memecat 50% dari tim Anda, maka ...
Memahami
Mengapa ada yang menolak? Apakah mereka tidak punya waktu? Apakah mereka terbakar? Apakah ulasan tentang sesuatu yang tidak mereka alami? Apakah mereka pikir itu buang-buang waktu, kalau begitu mengapa?
Metodologi Agile akan membantu di sini - Saya mengasumsikan Anda terus bekerja melawan silo (yaitu untuk mengurangi faktor bus), dan individu dalam tim Anda terlibat dalam apa yang dilakukan orang lain.
Bekerja untuk memastikan permintaan gabungan individu cukup kecil. Jika lebih dari 1 layar perubahan, perlu bicara siaga atau kilat untuk menjelaskan apa yang sedang dilakukan. Jika 10 halaman, perlu presentasi dengan slide dan diagram arsitektur.
Apakah semua orang yang bersangkutan bekerja di proyek yang sama?
Apakah proyek sudah terkubur di bawah gunung utang teknis?
Apakah mereka percaya pada proyek dan perbaikan berkelanjutan?
sumber