Satu kajian komprehensif yang menganalisis hampir 12,000 penyumbang merentasi lebih 200 organisasi telah mendedahkan bahawa mengukur prestasi pembangun individu melalui metrik masa kitaran adalah cacat secara asasnya. Penyelidikan ini mencabar amalan meluas menggunakan metrik produktiviti individu untuk menilai jurutera perisian, menunjukkan bahawa kebolehubahan yang wujud dalam pembangunan perisian menjadikan pengukuran sedemikian sebahagian besarnya tidak bermakna.
Skop Kajian: Hampir 12,000 penyumbang merentasi 200+ organisasi dianalisis untuk faktor masa kitaran dan corak kebolehubahan
Mitos Prestasi Pembangun Yang Konsisten
Kajian ini meneliti masa kitaran - tempoh antara tiket dibuka dan ditutup - yang dianggap oleh ramai pemimpin kejuruteraan sebagai metrik produktiviti yang paling berguna. Walau bagaimanapun, penyelidikan mendapati bahawa variasi dalam seorang pembangun dari bulan ke bulan adalah begitu besar sehingga perbandingan antara pembangun menjadi hampir tidak bermakna. Penemuan ini secara langsung mencabar konsep pembangun 10x yang popular, yang mengandaikan terdapat perbezaan yang stabil dan boleh diukur antara pembangun.
Data mendedahkan bahawa walaupun faktor seperti lebih banyak pull request yang digabungkan, peningkatan hari pengkodan seminggu, dan kerjasama yang lebih besar mempengaruhi masa kitaran dalam cara yang dijangka, kesan ini adalah kecil berbanding kebolehubahan yang besar dalam data. Ketidakpastian yang wujud dalam pembangunan perisian - dari keperluan yang berubah kepada pepijat yang tidak dijangka - mewujudkan bunyi yang mengatasi sebarang isyarat bermakna dari metrik individu.
Faktor Utama yang Mempengaruhi Masa Kitaran:
- Lebih banyak PR yang digabungkan: mengurangkan masa kitaran (saiz kesan: -0.0083)
- Lebih banyak hari pengkodan setiap minggu: mengurangkan masa kitaran
- Kerjasama yang lebih besar: mengurangkan masa kitaran
- Lebih banyak komen setiap PR: meningkatkan masa kitaran
- Lebih banyak kecacatan: meningkatkan masa kitaran
Masalah Menganggap Perisian Seperti Pembuatan
Perbincangan komuniti menyerlahkan salah faham asas dalam cara pembangunan perisian diukur. Tidak seperti pembuatan atau jualan, kejuruteraan perisian melibatkan pembinaan dan penyesuaian sistem yang saling berkaitan yang tidak boleh dikurangkan kepada unit kerja yang seragam. Tugas sememangnya berbeza dalam kerumitan dan skop, dan percubaan untuk menyeragamkannya sering mewujudkan lebih banyak geseran daripada meningkatkan kecekapan.
Perisian adalah rumit kerana seorang jurutera perisian sebenarnya adalah seorang arkitek, jurutera dan pembina pada masa yang sama.
Kerumitan ini diperburukkan oleh fakta bahawa pembangun bekerja di atas asas yang sentiasa berubah - perpustakaan, rangka kerja, dan sistem yang berkembang secara bebas. Kekangan tidak tetap seperti yang akan berlaku dalam projek kejuruteraan tradisional di mana bahan dan alat kekal konsisten sepanjang kitaran hayat projek.
Faktor Seni Bina
Satu wawasan utama dari perbincangan komuniti tertumpu pada peranan seni bina perisian dalam produktiviti. Keuntungan prestasi yang paling ketara - berpotensi peningkatan 10x atau bahkan 100x - datang dari keputusan seni bina dan bukannya kelajuan pengkodan individu. Seorang pembangun mahir yang bekerja pada sistem berseni bina buruk mungkin sebenarnya kelihatan kurang produktif kerana mereka dikekang oleh masalah reka bentuk asas.
Banyak syarikat telah menghapuskan peranan arkitek perisian khusus, membawa kepada sistem yang semakin kompleks yang memerlukan lebih ramai penyelesai teka-teki mahir untuk diselenggara. Ini mewujudkan kitaran di mana kerumitan bertambah atas kerumitan, menjadikan sistem lebih sukar untuk diubah suai dan dinyahpepijat dari semasa ke semasa.
Pendekatan Peringkat Sistem
Penyelidikan mencadangkan bahawa meningkatkan halaju penyampaian perisian memerlukan pemikiran peringkat sistem dan bukannya intervensi berfokuskan individu. Daripada cuba mengukur dan mengoptimumkan prestasi individu, organisasi harus menumpukan pada trend peringkat pasukan selama berbulan-bulan, menerima bahawa kebolehubahan adalah normal, dan melabur dalam penambahbaikan sistem yang memberi manfaat kepada semua orang.
Pendekatan ini menganggap produktiviti pembangun lebih seperti cuaca - sangat berubah-ubah, dipengaruhi oleh faktor yang tidak terkira banyaknya, dan hanya boleh diramal secara agregat dalam tempoh masa yang panjang. Purata bulanan masa kitaran individu memberikan sedikit wawasan tentang prestasi masa depan, tetapi corak peringkat pasukan dalam tempoh yang panjang boleh mendedahkan trend yang bermakna.
Penemuan mencadangkan bahawa organisasi harus memasangkan metrik kuantitatif dengan isyarat kualitatif dan menumpukan pada mewujudkan persekitaran yang menyokong kerjasama berkesan dan keputusan seni bina yang baik. Daripada berusaha menghapuskan kebolehubahan, pasukan yang berjaya belajar bekerja dalam keadaan tersebut sambil membina sistem yang boleh menyesuaikan diri dengan keperluan yang berubah dan cabaran yang tidak dijangka.
Rujukan: Measuring Engineering