Oleh : Heri Juhari
Requirements engineering merupakan tahapan yang sangat penting dari proses software engineering (rekayasa perangkat lunak), karena software requirements adalah suatu bentuk definisi kebutuhan customer dan user yang berhubungan dengan transformasi system kerja mereka untuk dijadikan software. Dimana definisi kebutuhan itu sangat perlu diorganisasi dan disepakati bersama antara customer dan pengembang software.
Banyak para software developer gagal mengembangkan software karena salah menafsirkan kebutuhan yang diinginkan oleh customer. Kesalahan penafsiran kebutuhan customer dapat dari berbagai sudut, seperti: kurangnya mengerti proses bisnis yang berjalan, kurang lengkapnya informasi yang diterima saat survey, dan adanya perbedaan informasi yang diperoleh dari berbagai sumber dalam suatu organisasi tersebut.
Untuk menghindari hal tersebut, maka perlu dilakukan suatu pendekatan yang akan memperkecil kegagalan dari suatu proses pengembangan suatu software. Maka seluruh definisi dan spesifikasi software requirements customer harus didokumentasikan dan disetujui oleh kedua belah pihak – customer dan software developer. Sebelum kesepakatan dicapai, software developer bisa membuat definisi dan spesifikasi software requirements berulang kali sampai semua yang diperlukan bisa di-cover atau setidaknya pendekatannya – tetapi disepakati.
Untuk mencapai kesepakatan tersebut perlu adanya tawar-menawar antara customer dan software developer yang dalam requirements engineering dibagi dalam 3 proses besar yaitu: elicitation, specification, validation and verification. Formula ini dikenal dengan nama The Three Dimensions of Requirements Engineering. Proses requirements engineering ini dilakukan secara iterasi dengan mengakomodasi adanya umpan balik dari customer.
Requirements Elicitation
Requirements Elicitation adalah proses mengumpulkan dan memahami masalah dan kegiatan yang berjalan. Pada proses ini biasanya dilakukan dengan observasi terhadap lingkungan proyek yang akan digarap – termasuk fact gathering, wawancara pada pengguna langsung atau para menajer, dan bisa juga dengan mempelajari alur kerja yang terjadi dari bisnis proses yang berjalan. Biasanya proses ini dilakukan dengan terus menerus dengan jangka waktu tertentu sehingga keselarasan akan pemahaman suatu permasalahan bisa tercapai.
Requirements Specification
Jika seluruh kegiatan dan permasalah yang terjadi pada bisnis proses yang berjalan dimengerti dengan baik, maka software developer akan menkonversikan ke dalam suatu bentuk laporan tertulis yang berisi tentang semua definisi dan spesifikasi dari seluruh kebutuhan yang ada pada bisnis proses yang ada.
Requirements Validation and Verification
Setelah spesifikasi requirements berhasil dibuat, perlu dilakukan dua usaha: Validation (validasi), yaitu proses untuk memastikan bahwa requirements yang benar sudah ditulis. Verification (verifikasi), yaitu proses untuk memastikan bahwa requirements sudah ditulis dengan benar. Proses validasi dan verifikasi ini melibatkan customer (user) sebagai pihak yang menilai dan memberi feedback berhubungan dengan requirements.
REFERENSI
Romi Satria Wahono, Menyegarkan Kembali Pemahaman tentang Requirement Engineering, www.romisatriowahono.net, 2006.