Jika ada klien yang menuliskan kontrak kerja ataupun FSD ataupun SPK yang berisi poin “Aplikasi yang telah dikembangkan dijamin bebas dari segala macam bug ataupun error” atau sejenisnya.
Maka bersiaplah menghadapi “never ending project“.
Mengapa?
Teknologi itu berkembang “rapid pace of change“, alias cepet banget berubah, versinya hari ini 1.0, besok sudah 1.0.1, dan bahkan sudah 2.1.0.
Lantas dengan segala perubahan itu, terkadang code yang sudah ditanam di aplikasi perlu dimutakhirkan, diperbaharui agar sesuai dengan perkembangan.
Itulah kenapa kadang pas Apple atau Google mengumumkan OS terbaru, perangkat iPhone/Android baru, banyak aplikasi di PlayStore/Appstore yang minta diperbaharui (diupdate). Gunanya agar menjamin keberlangsungan aplikasi dapat berjalan dengan baik.
Terkadang urusan “back-compatibility” itu tidak terjamin, apalagi perubahan struktur code/bahasa pemrogramannya radikal. Terpaksa deh diperbaharui daripada bermasalah di perangkat baru ataupun OS baru.
Ruginya kalau kita menjamin app yang telah dikembangkan menjadi app “yang bebas kutu”, maka kita harus siap dengan segala macem perubahan teknologi tersebut, alhasil jadilah “senjata” klien agar dapat layanan gratis dari developer.
Bagaimana antisipasinya?
- Buatlah batasan masa UAT (User Acceptance Test) atau masa alpha/beta version dari aplikasi yang telah dikembangkan menjadi 1 periode waktu, misal masa UAT dibikin terbatas selama 1 (satu) minggu, 2 (dua) minggu atau max 1 (satu) bulan.
Jadi, selama masa UAT, klien harus menyiapkan laporan bugs sekali selama 1 minggu (misalnya), kemudian ditulis di dokumen agar nanti masalah-masalah tersebut di-reproduce dari sisi developer untuk dicari masalahnya.
Biasanya yang dilaporkan itu adalah waktu (jam/tanggal) pengujian, kronologi (urutan) actual result, dan expected result (hasil yang diharapkan). Akan lebih bagus lagi dilaporkan via tiket di gitlab/jira/trello.
Ingat, klien harus punya gerak terbatas di UAT, jangan sampai pas kita lagi benerin bugs, dia malah laporin bugs-bugs lain dan minta cepet diperbaiki, alhasil masa perbaikan bugs mengalami banyak interupsi dari klien yang sudah pasti akan menyebabkan “delay” pekerjaan. Makanya kalau di kontrak kerja, saya selalu tulis “report once” pada tanggal tertentu (yang sudah ditentukan). Jika klien telat memberikan laporan bugs tanpa sebab yang jelas? siap-siap deh “project termination”. Di luar masa tersebut, tidak perlu dilayani, kan kontrak sudah habis. - Beri garansi terbatas, misal “2 (dua) minggu aplikasi tersebut bebas bugs dan siap memperbaiki masalah minor”, jadi kalau ada update library, struktur codingan, dll selama itu minor, ya dikerjakan dalam waktu 2 (dua) minggu tersebut, jika tidak ya harus dinyatakan sebagai “change request” (CR) alias permintaan tambahan.
“Lah kok enak banget, sudah bayar mahal-mahal masa’ gak dijamin? kan tanggungjawab anda selaku developer!”
hahaha..ini saya kutip dari klien yang pernah ngomong kayak gitu ke saya. Jadi dianggapnya, karena kita sudah dibayar maka tanggungjawab penuh sampai aplikasi dan sistemnya itu wafatย ๐ย “enak, gundulmu!” akhirnya ya saya tinggalin klien kayak gini (alias project termination karena permintaannya tidak saya penuhi karena di luar kriteria “bugs” dan “minor update” dan sudah lewat masa garansi).
Saya di kantor saja, selesai masa development, kelar UAT 1 bulan, setelah itu ya cuma rapat ini itu, gak ngoding sama sekali, tetap digaji, walaupun kerjaan garap app dah kelar, tetap digaji, iya, “kok enak? magabut ya?” yo nggaklah, itu kita standby siap sedia kapan saja bila ada masalah, kesulitan dari user, dll..siap bantu selama jam kerja. Setelah pengembangan selesai, kita dibayar untuk tanggungjawab melayani sesuai “job desc” kita. Lah enakan klien sudah gak bayar, minta dilayani aplikasi dijamin hidup terus.ย ๐
Logikanya, kita beli motor/mobil, mana maulah perusahaan yang bikin motor/mobil tersebut nyediain layanan atau sparepart gratis. Coba aja datang ke dealer motor/mobil pas mobilnya mogok “pak, saya beli mobil dengan anda, kenapa ini mogok, ini tanggungjawab anda, tolong perbaiki”, saya jamin diteriakin “stress!”.
Inget kata-kata Joker, “never do it for free“. Mau teman sekalipun, profesionalisme harus tetap dijaga, karena ya ingat, ada hak pekerja yang harus dipenuhi, dan pekerja tersebut juga punya tanggungjawab terhadap keluarganya.