Industri Perisian Kekurangan Data Asas Mengenai Masa yang Dihabiskan untuk Menulis Kod Pengendalian Ralat

Pasukan Komuniti BigGo
Industri Perisian Kekurangan Data Asas Mengenai Masa yang Dihabiskan untuk Menulis Kod Pengendalian Ralat

Jurang yang mengejutkan wujud dalam penyelidikan pembangunan perisian: tiada siapa yang tahu berapa banyak masa yang sebenarnya dihabiskan oleh pembangun untuk menulis kod bagi mengesan dan mengendalikan ralat berbanding dengan membina ciri-ciri teras. Pendedahan ini terbongkar apabila seorang penyelidik yang bekerja pada alat toleransi kerosakan menghubungi untuk mendapatkan data bagi menyokong dakwaan produktiviti mereka, tetapi mendapati bahawa pengukuran yang boleh dipercayai langsung tidak wujud.

Satu-satunya angka konkrit yang tersedia datang daripada sebuah buku tahun 1995 oleh Dr. Flaviu Cristian , yang menganggarkan bahawa pengendalian ralat sering menyumbang lebih daripada dua pertiga kod dalam sistem pengeluaran. Hampir tiga dekad kemudian, ini kekal sebagai satu-satunya titik rujukan kuantitatif dalam industri yang telah menjadi semakin kompleks dan teragih.

Statistik Utama daripada Penyelidikan yang Tersedia:

  • Pengendalian ralat menyumbang lebih daripada dua pertiga kod dalam sistem pengeluaran (kajian 1995 oleh Dr. Flaviu Cristian)
  • Pembangun menghabiskan kira-kira 11% masa mereka untuk nyahpepijat dan pembetulan pepijat secara purata
  • Sesetengah hari menyaksikan sehingga 32% masa didedikasikan untuk tugas nyahpepijat
  • Aktiviti ujian boleh menggunakan sehingga 16% masa pembangun
  • Syarikat-syarikat mendakwa kerugian $2 trilion USD akibat pepijat pada tahun 2020

Syarikat Mengelak Mengukur Apa yang Mereka Tidak Mahu Biayai

Kekurangan data ini bukanlah sepenuhnya tidak sengaja. Banyak syarikat sengaja mengelak daripada menjejaki masa yang dihabiskan untuk penguatan kerana ia tidak menyumbang secara langsung kepada pembangunan ciri atau penjanaan hasil. Ini mewujudkan titik buta di mana kerja penting tetapi tidak glamor tidak diukur dan tidak dihargai.

Sesetengah organisasi memang menjejaki masa pembaikan pepijat untuk tujuan pelaporan kewangan, membezakan antara perbelanjaan operasi (membaiki pepijat) dan perbelanjaan modal (membina ciri). Walau bagaimanapun, pendekatan yang didorong oleh perakaunan ini hanya menangkap penyahpepijatan reaktif, bukan pengendalian ralat proaktif yang berlaku semasa pembangunan awal.

Cabaran Pengukuran Melangkaui Penjejakan Mudah

Walaupun apabila syarikat mahu mengukur usaha penguatan, tugas ini terbukti sangat kompleks. Kerja pengendalian ralat sering berlaku serentak dengan aktiviti pembangunan lain. Seorang pembangun mungkin mencetuskan ujian beban, bekerja pada ciri-ciri lain semasa ia berjalan, kemudian kembali untuk menganalisis keputusan dan membetulkan isu. Aliran kerja yang berselang-seli ini menjadikan penjejakan masa yang tepat sukar tanpa menambah overhed yang ketara.

Masalah ini melangkaui logistik pengukuran sahaja. Pendekatan pengaturcaraan yang berbeza secara asasnya mengubah cara masa pengendalian ralat diagihkan. Dengan jenis keputusan, pembangun mesti mempertimbangkan senario kegagalan pada setiap langkah, membawa kepada pembangunan awal yang lebih lama tetapi kod yang lebih kukuh. Dengan sistem berasaskan pengecualian, pembangun boleh memberi tumpuan kepada laluan gembira pada mulanya, kemudian mengendalikan ralat apabila ia muncul semasa ujian.

Pendekatan Pengendalian Ralat yang Berbeza:

  • Jenis Result: Memerlukan pertimbangan kegagalan pada setiap langkah, pembangunan awal yang lebih panjang tetapi kod yang lebih kukuh
  • Berasaskan Exception: Fokus pada laluan gembira dahulu, kendalikan ralat apabila ia muncul semasa ujian
  • Faktor Pertukaran: Kos kegagalan, kesukaran penyelenggaraan masa depan, kemudahan menggunakan pembetulan

Industri Mengutamakan Kelajuan Berbanding Ketahanan

Dinamik pasaran semasa sangat memihak kepada pembangunan ciri pantas berbanding penguatan perisian. Dalam persekitaran yang didorong oleh modal teroka, syarikat sering memilih untuk menskalakan infrastruktur daripada mengoptimumkan kod, menambah mekanisme cuba semula yang mudah daripada melaksanakan toleransi kerosakan yang betul, dan bergantung pada bounty pepijat daripada melabur dalam keselamatan dari awal.

Masa yang dihabiskan untuk menguatkan perisian sentiasa sifar atau sangat hampir dengan itu melainkan syarikat menjadikan penguatan itu sebagai titik jualan produk yang mereka buat.

Pendekatan ini mewujudkan hutang teknikal yang menjadi mahal untuk ditangani kemudian. Apabila masalah muncul dalam pengeluaran, kos untuk membetulkannya jauh melebihi apa yang diperlukan oleh penguatan proaktif. Namun orang yang membuat keputusan jangka pendek ini jarang menghadapi akauntabiliti untuk akibat jangka panjang.

Penyelidikan Memberi Tumpuan kepada Masalah Akademik Sambil Mengabaikan Soalan Praktikal

Ketiadaan metrik industri asas menyerlahkan isu yang lebih luas dalam penyelidikan kejuruteraan perisian. Sementara penyelidik semakin menggunakan model bahasa besar pada masalah buatan dan mendakwa peningkatan tambahan berbanding garis dasar sewenang-wenangnya, soalan asas tentang bagaimana pembangun sebenarnya menghabiskan masa mereka kekal tidak terjawab.

Jurang pengetahuan ini mempunyai akibat sebenar. Tanpa data yang boleh dipercayai mengenai overhed pengendalian ralat, adalah mustahil untuk menilai dengan betul alat yang mendakwa meningkatkan produktiviti pembangun dengan mengurangkan beban ini. Syarikat tidak boleh membuat keputusan termaklum tentang melabur dalam infrastruktur toleransi kerosakan, dan industri terus beroperasi berdasarkan andaian daripada bukti.

Keadaan ini mendedahkan bagaimana industri yang dibina atas data dan pengukuran mempunyai titik buta yang mengejutkan tentang amalan mereka sendiri. Sehingga jurang ini ditangani, pembangunan perisian akan terus dipandu lebih oleh intuisi dan tekanan pasaran daripada pemahaman kukuh tentang di mana masa dan usaha sebenarnya pergi.

Rujukan: Time Spent on Hardening