Utang Teknikal

Salah satu perkerjaan saya adalah memperbarui aplikasi lama, and that would be a pain in the ass. Sebenarnya sebagai penganut if it ain’t broke, don’t fix it, timbul pertanyaan dalam diri, ngapain juga harus mengotak-atik aplikasi yang sudah berjalan dan berfungsi sebagaimana mestinya?

Jawabannya adalah karena saya insecure terhadap utang teknikal. Contoh sederhananya (tapi tidak terbatas tentang itu) adalah misalnya kamu mempunyai handphone jadul (contoh, android tahun 2014) kamu menunda-nunda ganti gawai selama bagimu batas minimal kegunaannya tercapain (bisa WA dan telepon). Maksud dari utang teknikal adalah pada suatu waktu kamu harus pasrah ketika WA memperbarui sistemnya dan tidak lagi mendukung sistem operasi gawaimu. Kalau misalnya kamu belum siap (tidak menabung untuk beli baru) coba perhitungkan berapa kesempatan yang hilang karena WA sudah tidak bisa berjalan di gawaimu. Hitungan itu bisa menjadi uang dan utang bagi pihak lainnya (misalnya, manajemen).

Dalam kasus kali ini adalah menemukan aplikasi X yang dibangun sejak 10 tahun yang lalu dan berjalan normal hingga saat ini, tapi beberapa waktu yang lalu sempat down karena server tempat aplikasi ini berada melakukan update sistem, yang berakibat tidak lagi mendukung PHP versi 5. Di tulisan sebelumnya saya menuliskan update framework Codeigniter untuk mengatasi masalah tersebut pada aplikasi yang saya kembangkan sendiri. Alih-alih melakukan update/upgrade, Pengembang aplikasi X mengatasi hal tersebut dengan melakukan downgrade sistem (salah satu fitur cpanel memang memperbolehkan memilih versi PHP yang sesuai). Apa yang dilakukan pengembang adalah menumpuk utang teknikal.

seperti yang tertulis di dokumentasi Cpanel profil default PHP sekarang adalah versi 7.3, 7.4 dan PHP 8 meskipun masih mendukung versi 5 tapi tinggal menunggu waktu saja akan hilang seperti versi 4.

Saat menerima limpahan aplikasi X dan mencoba menjalankannya di PHP 7.4 yang tentu saja muncul banyak error. Yang lebih menjengkelkan adalah selain meninggalkan Utang Teknikal, ternyata koding standarnya menggunakan standar ngawur, bagi saya tidak masalah kalau koding prosedural, yang jadi masalah kalau udah prosedural, eh, mengabaikan warning dari PHP dan di-suppress menggunakan error_reporting(0). Sama halnya seperti kamu bekerja di suatu proyek tapi kamu memakai sepatu futsal, alih-alih ganti sepatu proyek, kamu malah menutup mulut orang yang mengingatkanmu tentang prosedur yang benar, toh, meski pakai sepatu futsal, kamu masih tetap bisa bekerja.

Tapi itu pola pikir yang salah, Bambang!

Tulisan ini adalah hasil dilematis antara mengupdate aplikasi X untuk mendukung PHP 7.4, yang kayaknya PR banget. atau membiarkan saja tetap berjalan di PHP 5.6 yang akan menjadi beban pengembang berikutnya. wkwk.

Kalau jadi ganti pengembang berikutnya juga akan memunculkan dilema baru, yaitu refactoring (membenahi) vs rewrite (membuat ulang).

Tentu saja akan membuat saya mengucap, hadeeeh.

Harapan saya sih, para pengembang (terutama yang berbasis project) minimal melakukan penawaran tidak hanya untuk penambahan fitur tapi juga pemeliharaan dan update berkala terhadap teknologi yang digunakan oleh aplikasi yang dikembangkan.

Leave a Comment

Your email address will not be published. Required fields are marked *