Mengapa Faktor Kebutuhan Pengguna Menjadi Penting dalam Faktor Pembuatan Aplikasi ?

Ada perbedaan yang mendasar antara kebutuhan pengguna(user requirements) dan kebutuhan sistem (system requirements) sehingga kedua hal tersebut memang harus dipisahkan.

Kebutuhan pengguna(user requirements) dimaksudkan untuk menggambarkan fungsi dan fitur sistem dari perspektif pengguna agar sistem sesuai dengan keinginan pengguna. Pengembang software yang terlibat dalam proses harus mampu memahami perspektif/sudut pandang pengguna.

Kebutuhan sistem(system requirements) ini merupakan hal yang lebih rinci lagi daripada kebutuhan pengguna dan juga dapat dimasukan ke dalam kontrak sistem. Kebutuhan sistem dikembangkan setelah kebutuhan pengguna telah ditetapkan dimana semua fitur dan kemampuan sistem dijelaskan.

Maka yang ingin saya tanyakan adalah mengapa faktor kebutuhan pengguna menjadi penting dalam faktor pembuatan aplikasi ?

Pembangunan perangkat lunak (software development) secara sederhana dapat diibaratkan seperti proses memasak. Untuk menghasilkan masakan yang enak baik dari segi citarasa maupun penampilannya tentu diperlukan langkah-langkah dan perencanaan yang matang. Langkah-langkah tersebut disebut resep. Demikian juga dalam pengembangan software, diperlukan langkah yang disebut sebagai metodologi pengembangan perangkat lunak. Beberapa contoh metodologi tersebut antara lain metodologi waterfall, prototyping hingga yang terbaru, metodologi agile.

Tahapan analisa kebutuhan pengguna atau requirement gathering merupakan tahapan yang sangat penting karena akan menentukan seperti apa software atau sistem akan dihasilkan. Akan tetapi, tahapan ini justru sering dikesampingkan bahkan dilupakan oleh para software developer, terutama yang baru belajar (pemula).

Mengenai penyebab suatu software gagal diimplementasikan di perusahaan (instansi) bersangkutan adalah karena :

  1. Software yang dihasilkan tidak sesuai dengan kebutuhan pengguna (user). Sebagai contoh misalnya di suatu instansi sekolah, kebutuhan pengguna yang paling mendesak adalah untuk mengefektifkan proses penerimaan siswa baru, namun justru yang dibuat malah sistem absensi siswa atau sistem perpustakaan.

  2. Software yang dihasilkan tidak menyelesaikan masalah yang dihadapi oleh pengguna (perusahaan). Contohnya permasalahan yang dihadapi oleh perusahaan adalah proses pelaporan yang lambat dan tidak segera sampai ke pimpinan yang sering berada di luar kota. Solusi yang ditawarkan justru aplikasi berbasis desktop dimana untuk mengakses aplikasi pimpinan harus berada di kantor. Tentu solusi tersebut kurang tepat.

  3. Software yang dihasilkan tidak sesuai dengan kondisi perusahaan (instansi). Misalnya untuk sebuah instansi yang hanya memiliki beberapa buah komputer tanpa adanya jaringan, ternyata dibuatkan suatu sistem yang berbasis client-server dimana diperlukan konektivitas antar semua komputer.

  4. Software yang dihasilkan tidak user-friendly dan lebih rumit dari proses yang sudah ada saat ini, sehingga pengguna dari sistem dapat mengalami banyak kesulitan dan kekecewaan terhadap sistem. Akhirnya akan kembali ke proses atau cara lama.

  5. Software yang dihasilkan dibangun dengan teknologi tinggi dan mutakhir namun tidak tepat guna. Contohnya penerapan SMS Gateway dalam sistem penjualan di suatu toko kelontong yang pelanggannya hanya tetangga sekitarnya.

Semua penyebab kegagalan dalam pembangunan software tersebut seharusnya dapat diminimilisir dan dikurangi jika saja pengembang software (developer) secara konsisten menggunakan metodologi pengembangan software yang baik. Software yang baik bukanlah software yang menggunakan teknologi tinggi dan mutakhir namun tidak sesuai dengan kebutuhan pengguna. Software yang baik adalah software yang sesuai dengan kebutuhan dan keinginan pengguna, serta menjadi solusi dari permasalahan yang dihadapi oleh pengguna maupun perusahaan. Dari contoh-contoh kasus di atas, tentunya dapat disimpulkan bahwa tahapan analisa kebutuhan pengguna merupakan tahapan yang sangat penting.

Untuk menganalisa dan mendapatkan daftar kebutuhan pengguna (user) terhadap sistem yang akan dibangun juga bukan merupakan pekerjaan yang mudah. Mengingat beragamnya pola pikir dan cara pandang pengguna terhadap pengembangan software sering membuat proses analisa kebutuhan pengguna (requirement gathering) terhambat.

http://achmatim.net/2010/04/09/analisa-kebutuhan-user-langkah-penting-yang-sering-terlupakan/