Proses Ujicoba, Tahapan Penting Yang Sering Dilupakan
Banyak programmer yang merasa percaya diri dengan produk yang dibuatnya, namun seringkali melewatkan tahapan penting yang namanya proses ujicoba. ITU FAKTA, karena akupun begitu.
***
Siang itu ketika aku mau mencari makan siang dan melewati ruang laboratoium komputer, tiba-tiba seorang pria keluar dari ruangan sambil mengungkapkan kekesalannya.
“Asemik, iki program kok bermasalah terus to? Error ra entek-entek, Njelehi tenan..”
Melihat pria yang sedang kesal tersebut keluar dari ruangan, aku berbalik arah dan mencoba mengintip ke dalam lab komputer yang baru saja ia tinggalkan. Oh, rupanya pria tersebut sedang mengikuti pelatihan penggunaan sistem komputer.
“Ternyata masalahnya sama dengan yang sering aku alami.” pikirku dalam hati.
Pengalaman Mengembangkan Sistem
Sebagai seorang lulusan IT, maka mengembangkan sistem informasi atau membuat suatu program komputer merupakan salah satu hal yang pernah aku lakukan. Setidaknya pada saat waktu kuliah dulu.
Banyak hal yang sebenarnya harus diperhatikan dalam proses pengembangan sistem informasi. Namun pada kenyataannya banyak tahapan yang sering tidak dilakukan oleh seorang developer. Akibat dari banyaknya tahapan yang dilewatkan tersebut, sistem yang dibuat sering kali mengalami masalah ketika sudah digunakan oleh user.
“Trial and error“, “Learning by doing” dan beberapa ungkapan lain sering kali keluar dari mulut seorang programmer ketika user mengajukan komplain.
Ya, itulah fakta dan alibi dari kebanyakan programmer ketika mengadapi masalah pada program yang dibuatnya. Ya, akupun begitu. Tapi berhubung sudah jarang mengembangan sistem informasi, maka setidaknya alibi itu bisa aku simpan sementara waktu.
Penyebab Masalah Pada Sistem
Setelah cukup lama menjadi user suatu sistem informasi, akhirnya aku mencoba untuk mengambil sedikit benang merah dari penyebab banyaknya masalah program yang sering muncul bagi user.
Masalah yang sering muncul pada suatu sistem informasi/program komputer disebabkan oleh beberapa hal berikut:
- Permintaan dari user yang ingin cepat selesai/tidak jelas dan mudah berubah
- Programmer modal nekat ketika melihat proyek dengan nominal yang menggiurkan, tanpa melihat kapasitas diri.
- Kesalahan cara berpikir dari seorang programmer ketika mengimplementasikan permintaan user
- Pembuatan program tidak dilakukan melalui proses analisis dan ujicoba sistem
Mungkin ada programmer yang tidak terima dengan apa yang aku katakan ini. Oke.. No Offense ya..
Aku tidak mengatakan masalah ini sebagai permasalahan secara global, namun berdasarkan apa yang aku alami dan aku lihat sehari-hari. Jadi mungkin tidak semua masalah yang aku sebutkan dialami oleh programmer atau developer sistem.
Tahap Pengembangan Sistem Informasi
Melihat permasalahan yang sudah aku sebutkan sebelumnya, aku sangat tertarik dengan masalah yang terjadi ketika sistem informasi tidak melewati proses analisis dan ujicoba sistem terlebih dahulu sebelum dirilis kepada user.
Biar adil, aku mencoba mengingat-ingat apa yang pernah aku pelajari selama kuliah khususnya ketika matakuliah Rekayasa Perangkat Lunak (RPL). Di sana sepertinya kita diminta untuk dapat mengembangkan sistem melalui tahapan yang panjang. Tidak sekedar coding, debug, compile dan publish. Ya, itulah RPL. Matakuliah yang melelahkan dan membuat jam tidur semakin pendek.
Banyak tahapan yang harus dilalui ketika mengembangkan sistem informasi. Tahapan itu biasanya terdiri dari tahapan berikut:
- Tahap investigasi/analisis kebutuhan
- Tahap desain (ini sepertinya tahapan yang buat Flowchart, DAD, ER-Diagram)
- Tahap pembuatan/coding (ini yang biasanya paling disukai programmer)
- Tahap ujicoba/testing
- Tahap peluncuran dan pemeliharan sistem
Mungkin seingatku ada 5 tahapan penting itu ketika akan membuat/mengembangkan sistem informasi. Kalau ada yang kelewat boleh lho menambahkan. hehe..
Proses Ujicoba Yang Sering Terlupakan
Berhubung aku sendiri sekarang lebih banyak bertindak sebagai user maka aku cuma mau titip pesan saja.
Hai para programmer, maupun user pengguna/pemesan sistem ada baiknya ketika kita tidak melupakan proses yang namanya ujicoba ketika mengembangkan sistem informasi.
Jika sistem belum siap untuk di launching, pengembang harus berani untuk bilang belum siap. Harus berani minta waktu tambahan untuk proses ujicoba dengan melibatkan user. Tidak harus 100% sempurna, namun benar-benar siap digunakan oleh user.
Sebaliknya, user pun seharusnya mengerti jika proses ujicoba sistem itu penting. Jangan karena sudah bayar dan dikejar waktu, terus mengorbankan banyak pihak karena sistem yang digunakan ternyata belum siap alias banyak error. Endingnya menyalahkan pengembang.
“Ngomong mah gampang mas, coba ngalamin sendiri” mungkin ada yang bilang gitu sama aku.
Gapapa kalau memang ada yang bilang seperti itu.
Kalau ada yang pernah minta dibuatin program/web sama aku pasti ngerti deh. Bahkan kadang aku ga mau kasih program/admin web kalau user belum ujicoba sistemnya atau belum cocok sama yang diminta. Pokoknya ribet kalau sama aku. haha..
Faktanya aku lebih milih ga ambil proyeknya, kalau ga jelas dari awal. Lagian juga aku jarang minta fee di depan kecuali biaya untuk sewa hosting sama domain.
Membuat user puas dengan apa yang kita kerjakan itu ternyata susah. Tapi ketika user puas, maka kita akan merasakan kepuasan yang lebih besar.
***
Buat instansi pemerintah,
Mohon jangan cepat-cepat memutuskan untuk membeli/menggunakan sistem yang ditawarkan oleh pihak penyedia sistem. Jangan berfikir karena alokasi dana untuk membeli sistem masuk dan sesuai anggaran namun ternyata ketika sudah dibeli dan digunakan justru menimbulkan banyak masalah.
Proses ujicoba akan sistem yang akan digunakan itu penting. Karena biasanya marketing itu belum tentu mengerti program yang dibuat oleh pengembang.
Semoga dengan tulisanku ini semakin banyak yang menyadari jika proses ujicoba itu merupakan tahapan penting yang sering dilupakan.