Dia menolak untuk mendengarkan tim, dan dia baru-baru ini menghentikan ulasan kode, pengujian unit, berbagi rincian implementasi ...
Ulasan kode tidak harus mengharuskan pembuat kode untuk mengirimkan pekerjaan untuk ditinjau.
Cara mudah untuk melacak apa yang dia lakukan adalah mengawasi sejarah VCS, mencari check-innya. Jika Anda khawatir tentang kodenya, ini adalah cara mudah untuk menemukannya. Dapatkan histori diff, lihat apa yang dia masukkan, dan lihat apakah ada bendera merah yang menyerang Anda. Tangkap checkinnya dengan cukup cepat dan jika Anda menemukan masalah, Anda dapat memutar kembali komit dan mengirim email kepadanya untuk efek itu. Anda diperbolehkan memanggil sesama anggota tim Anda, bahkan sebagai junior coder, ketika Anda melihat sesuatu yang jelas salah.
Ya, dia "kode" dengan cepat, tetapi kodenya hanyalah penghasil bug. Anggota tim lain dan saya berada dalam "fase perbaikan bug" dan 80% bug berasal dari kodenya. Saya tidak ingin memperbaiki bug-nya. Dan manajemen buta, atau tidak ingin melihat ini, atau mungkin mereka suka "kecepatan" -nya.
Kode berasal dari persyaratan. Persyaratan menghasilkan tes runnable yang memverifikasi persyaratan telah dipenuhi. Tes-tes tersebut dapat dipecah lebih lanjut, dan dapat ditulis sebelum perubahan dilakukan untuk memverifikasi bahwa perubahan memenuhi persyaratan (red-green-refactor; esensi dari TDD).
Tambahkan metrik "cakupan kode" ke server build tim Anda (mudah-mudahan Anda memilikinya; jika tidak, itu masalah pertama Anda). Hanya dengan mengecek bahwa unit test pass tidak akan menemukan masalah dengan kode non-TDDed barunya, dibuat di area yang tidak memiliki tes unit. Setelah menjalankan semua tes unit, server build idealnya telah mengeksekusi setiap baris kode, tetapi sebenarnya ada beberapa hal yang tidak bisa Anda uji unit. Secara realistis, Anda masih dapat mengharapkan cakupan 95% atau lebih baik (atau mengecualikan perpustakaan atau jenis file tertentu dari cakupan). Cepat atau lambat, koboi Anda akan memeriksa sesuatu yang merusak bangunan karena dia menurunkan tingkat cakupan di bawah ambang batas, dan Anda memanggilnya keluar.
Dan sejauh menyangkut "kecepatan", kecepatan adalah seberapa cepat Anda menyelesaikan sesuatu, dan itu tidak "selesai" sampai selesai dengan benar. Anda bisa memberikannya kepada manajer Anda dengan cara ini; pertimbangkan seorang montir mobil yang, ketika manajer membawa BMW-nya untuk mengganti oli, lupa untuk mencabut kembali colokan wajan, dan sebagai akibatnya semua oli baru mengalir keluar bahkan sebelum ia keluar dari garasi. Tentu, penggantian oli hanya membutuhkan waktu lima menit, tetapi manajer tidak akan peduli tentang hal itu ketika mesin mobilnya menyala dalam perjalanan pulang. Dia akan peduli bahwa mekanik ketinggalan satu langkah, yang akan menghabiskan banyak waktu dan uang tambahan untuk diperbaiki. Saat ini, dia membayar seorang koboi untuk melakukan pekerjaan dengan sangat cepat, dan kemudian dia s membayar seluruh tim jumlah yang jauh lebih besar untuk datang dan melakukan kembali pekerjaan dengan benar. Apa, sebenarnya, keuntungan dari terus membiarkan koboi melakukan tugasnya?
Apakah ada cara agar saya (sebagai rekannya yang lebih muda berdasarkan umur, bukan bosnya) dapat melakukan sesuatu tentang hal itu?
Sebut dia. Ketika Anda menemukan sesuatu yang dikacaukannya, perlihatkan padanya bagaimana kodenya gagal, bagaimana ia bisa mencegah masalah di tempat pertama (termasuk desain yang tepat, TDD, ulasan kode) dan apa yang Anda atau harus lakukan sebagai hasilnya untuk memperbaiki kode yang rusak.
Saya merasa seperti saya yang terakhir yang benar-benar peduli dengan proyek ini.
klaxon menggelegar, lampu berkedip, sirene meraung - jika Anda benar-benar merasa seperti Anda satu-satunya orang yang peduli dengan kualitas kode yang dihasilkan oleh tim, maka ada masalah SERIUS. Jika Anda merasa Anda mencoba menyeret seluruh tim menendang dan berteriak ke era pengkodean yang baik, dan terlalu berat untuk diangkut, maka jatuhkan. Jika ada tim lain di perusahaan yang melakukannya dengan benar, mintalah transfer, jika tidak, pergilah.