Berhutang didalam pembangunan perisian
Posted by mkhairulDah lama pula tak post. Berikut adalah berkenaan dengan Technical Debt.
Berhutang atau lebih dikenali sebagai “Technical Debt” adalah metafor yang direka oleh Ward Cunningham didalam aktiviti pembangunan perisian.
Terdapat 2 jenis hutang, iaitu ianya dilakukan dengan sengaja atau tidak sengaja. Sila baca pautan-pautan yang diberikan diatas untuk makluman lanjut.
Satu senario yang biasa saya jumpa adalah dimana..
Abu: “Aku rasa kita kena buat SOP atau guideline untuk setup environment development kita ni”
Ahmad: “Kita tak ada masa, kita kena siapkan feature-feature ni dalam bulan ni”
Abu: “Bukan kita kena fokus terus buat SOP atau guideline ni, setiap kali dimana antara kita setup, kita tulis langkah-langkah dia pastu kita try la kalau ada tak betul kita tambah dan perbaiki, bukannya nak kena formal pun. Nanti orang baru masuk kita bagi benda ni terus boleh buat sendiri.”
Ahmad: “Ok, ok takpe, nanti ada masa nanti kita buat”
Kemudian, ada orang baru masuk dan perlukan persekitaran pembangunannya disetup. Ahmad pergi tolong, setup IDE nya dan web server. Apabila nak setup perisian, dia menunjukkan cara pembangunan di tempat kerja itu, dan sampai satu tahap untuk run test (unit testing), ada yang gagal. Sambil menggaru kepala, dia cuba debug. Selepas 1 jam, dia panggil Aiman, rakan sekerja nya.
Ahmad: “Aiman, test ni fail la. Aku tak pasti apa masalah”
Aiman: “Ok, meh aku tengok”
Selepas 1 jam.
Aiman: “Aku pun tak tau. Jap aku gi cari Ali.”
Ali pun datang.
Ali: “Erm, jap aku test… Macam ni takleh.. oh korang lupa nak tukar setting kat config dia nih. Jap aku tukar.”
Ali: “Ok, settle.”
Lalu mereka pun pulang ke tempat masing-masing untuk sambung kerja mereka.
Nampak tak apa masalah kat sini? Macam mana kalau ada orang baru lagi masuk? Takkan sampai 3 orang kena datang untuk menyelesaikan masalah akar sebegini. Takde guideline untuk setup persekitaran pembangunan. Bukan terhad pada isu begini sahaja, macam macam lagi isu seperti tiada piawaian untuk mengkod (coding guideline), nota-nota penyelesaian yang bertulis (dalam word pun ok) yang boleh dikongsi bersama.
Sedar tak sedar, ini semua adalah hutang. Dimana kadar faedahnya bertambah hari demi hari dan jika tiada kesedaran untuk membayar “hutang” ini, akan membawa padah (dari segi mental ataupun kewangan).
Jadi, marilah kita bersama-sama sedari akan hutang-hutang yang mengelilingi pinggang kita dan membuat persiapan untuk membayarnya dengan menjadi lebih peka.
Selamat programming!