Melalui kolega dan keluar dari wawancara, saya telah mendengar bahwa di perusahaan kecil saya, saya "bertanggung jawab" untuk kode 3-10 kali lebih banyak daripada di pekerjaan lain. Saya mencoba mencari semacam metrik fuzzy yang dapat saya gunakan untuk membandingkan beban kerja saya dengan yang lain di bidang saya.
Dengan "tanggung jawab kode", saya tidak bermaksud "Saya satu-satunya yang tahu area X dari basis kode" (walaupun sayangnya, sering kali benar dalam lingkungan startup), tetapi merujuk pada nomor seperti "code_base_size / number_of_developers ".
Apakah ada sumber daya yang dapat saya gunakan untuk membantu saya mengukur beban pekerjaan dengan lebih akurat daripada hanya menghitung baris kode?
Jawaban:
Satu-satunya ukuran nyata bagi pengembang yang dipekerjakan adalah jumlah jam yang dihabiskan untuk pengkodean dan perbaikan bug, dan uang yang Anda terima untuk itu. Jika Anda menginap larut malam 6 hari seminggu untuk 50K US $ setahun, maka Anda memiliki masalah. Tidak peduli berapa banyak baris kode yang diinginkan oleh atasan Anda, Anda tidak akan menangani lebih dari yang dapat Anda lakukan, tentu saja dengan mempertimbangkan kualitas kode tertentu. Mengembangkan kode berkualitas buruk tanpa uji unit adalah cara yang baik untuk menangani lebih banyak kode, tetapi perusahaan harus membayar harga hutang teknis yang besar .
Di perusahaan kecil pengembang cenderung bertanggung jawab untuk kode lebih banyak daripada di perusahaan besar . Faktor 3 hingga 10 yang Anda maksudkan tampak realistis bagi saya.
sumber
Saya sudah tahu tim tiga orang yang mengelola basis kode 1,5 juta baris dan tidak tenggelam di dalamnya. Pengukuran yang penting bukanlah seberapa banyak kode yang menjadi tanggung jawab Anda, melainkan seberapa banyak kode yang perlu Anda ubah dalam waktu tertentu.
Ada juga sudut penilaian risiko. Jika Anda adalah satu-satunya orang yang tahu sepotong kode, berapa biaya peluang yang akan hilang jika Anda berjalan di bawah bus? Perusahaan kecil biasanya tidak melakukan penilaian risiko seperti itu, tetapi ini berarti bahwa kesuksesan bisnis yang berkelanjutan dibiarkan begitu saja.
sumber
kode ukuran dasar / jumlah pengembang tidak terkait dengan beban kerja. Jika Anda memiliki basis kode stabil besar, metrik akan tinggi. Jika Anda memiliki basis kode kecil yang masih dalam pengembangan, metrik itu akan rendah. perubahan baris per unit waktu per pengembang lebih terkait dengan beban kerja. Tetapi bahkan kemudian, saya telah menghabiskan waktu berhari-hari untuk melacak bug halus yang perbaikannya hanya satu baris ...
sumber
Kode harus menjadi tanggung jawab grup, bukan dari satu pengembang. Dukungan harus didelegasikan secara adil setiap minggu, tampaknya bodoh untuk mengalokasikannya dengan cara lain. Jika bukan itu masalahnya, saya sarankan Anda berbicara dengan manajemen Anda.
Dalam situasi yang menggambarkan seorang pengembang Anda mungkin berjuang untuk memenuhi tenggat waktu karena sejumlah besar dukungan dari satu bidang di mana pengembang lain sedang dikerjakan. Struktur manajemennya sangat tidak efisien.
Saya juga menyarankan Anda menjauh dari mengukur beban kerja dalam baris kode. Jam kerja adalah satu-satunya metrik yang masuk akal yang dapat saya pikirkan
NB. Saya tidak mengatakan sama saya katakan adil. Perlu dicatat bahwa tidak masalah untuk mengkhususkan pada aspek-aspek tertentu dari basis kode, yang terjadi secara alami. Ini hanya masalah jika tidak ada orang lain yang bekerja pada kode itu.
sumber
Ini bukan pertanyaan pemrograman, ini pertanyaan manajemen.
Ada beberapa pertanyaan mudah untuk menjawab ini dan tidak ada hubungannya dengan perangkat lunak.
Kemudian ikuti logika ini:
Ini adalah penyederhanaan berlebihan yang memiliki dua kelemahan mencolok.
Tetapi Anda mendapatkan idenya.
sumber