0
Analisa Kebutuhan User, Langkah Penting yang Sering Terlupakan
Posted by jujur
on
4:22 AM
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 dalampengembangan software, diperlukan langkah yang disebut sebagai metodologi pengembangan perangkat lunak. Beberapa contoh metodologi tersebut antara lain metodologi waterfall, prototyping hingga yang terbaru, metodologi agile.
Dalam artikel ini tidak akan dibahas mengenai metodologi pengembangan software secara menyeluruh tersebut, namun akan difokuskan pada salah satu tahapan pengembangan perangkat lunak saja. Tahapan tersebut merupakan yang paling awal dan mendasar, yaituanalisa kebutuhan pengguna atau requirement gathering. Tahapan ini menurut penulis 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).
Artikel ini juga diharapkan dapat menjadi tambahan bekal dan pengetahuan bagi temen-temen mahasiswa yang sedang mengerjakan KKP (kuliah kerja praktek) maupun skripsi. Pada dasarnya pembuatan skripsi dan KKP terutama di Universitas Budi Luhur dan universitas berbasis komputer lainnya merupakan latihan dari proses pengembangan software, namun dalam konteks pendidikan dan bukan bisnis. Harapannya dengan adanya KKP dan skripsi, perusahaan atau instansi yang menjadi tempat riset juga mendapatkan keuntungan yaitu mendapatkan software atau aplikasi untuk mendukung proses bisnisnya. Namun dalam kenyataannya terkadang tidak sesuai dengan harapan tersebut. Software, aplikasi atau sistem yang dihasilkan oleh teman-teman mahasiswa, pada akhirnya tidak digunakan atau diimplementasikan di perusahaan (instansi) yang bersangkutan. Mengapa?
Berdasarkan pengalaman dan beberapa literatur, penulis mencoba merumuskan mengenai penyebab suatu software gagal diimplementasikan di perusahaan (instansi) bersangkutan, termasuk software yang dikembangkan dalam KKP maupun skripsi.
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. Berikut ini beberapa tips atau langkah sederhana yang dapat dilakukan untuk menganalisa kebutuhan pengguna terhadap sistem yang akan kita buat.
Tips #1. Selalu menjaga hubungan yang baik dengan pihak perusahaan (instansi). Hal ini cukup penting karena akan memperlancar proses pembangunan software.
Tips #2. Wawancarai seluruh stakeholder atau pihak-pihak yang terkait dengan sistem (software) yang akan dibangun. Sebagai contoh dalam sistem perpustakaan sekolah, tentu stakeholder utama yang berkenaan dengan sistem yaitu petugas perpustakaan, kepala perpustakaan, kepala sekolah dan juga siswa. Hasil wawancara dapat dicatat atau akan lebih baik lagi jika direkam untuk selanjutnya diubah ke dalam bentuk transkrip wawancara.
Tips #3. Lakukan pengamatan secara langsung proses yang terjadi di perusahaan (instansi), sehingga kita dapat mengetahui secara lebih rinci mengenai permasalahan yang dihadapi dalam menjalankan proses bisnisnya. Jika diperlukan dapat direkam ke dalam bentuk video.
Tips #4. Lakukan benchmarking terhadap sistem sejenis atau perusahaan lain yang sudah menerapkan sistem sejenis. Hal ini penting untuk mengetahui pola umum dan kebutuhan sistem yang akan dibangun. Selain itu juga dapat sebagai masukan sehubungan dengan teknologi terkini yang tepat untuk pengembangan sistem tersebut.
Tips #5. Setelah proses analisa kebutuhan dirasa cukup, buatlah daftar sederhana yang menggambarkan mengenai software yang akan dibangun termasuk batasan-batasannya. Sampaikan ke pengguna (user) dan jika perlu sertakan bukti approval dari pengguna (misalnya dengan tanda tangan) sehingga di kemudian hari tidak terjadi perubahan terhadap spesifikasi software yang dibangun.
Dalam artikel ini tidak akan dibahas mengenai metodologi pengembangan software secara menyeluruh tersebut, namun akan difokuskan pada salah satu tahapan pengembangan perangkat lunak saja. Tahapan tersebut merupakan yang paling awal dan mendasar, yaituanalisa kebutuhan pengguna atau requirement gathering. Tahapan ini menurut penulis 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).
Artikel ini juga diharapkan dapat menjadi tambahan bekal dan pengetahuan bagi temen-temen mahasiswa yang sedang mengerjakan KKP (kuliah kerja praktek) maupun skripsi. Pada dasarnya pembuatan skripsi dan KKP terutama di Universitas Budi Luhur dan universitas berbasis komputer lainnya merupakan latihan dari proses pengembangan software, namun dalam konteks pendidikan dan bukan bisnis. Harapannya dengan adanya KKP dan skripsi, perusahaan atau instansi yang menjadi tempat riset juga mendapatkan keuntungan yaitu mendapatkan software atau aplikasi untuk mendukung proses bisnisnya. Namun dalam kenyataannya terkadang tidak sesuai dengan harapan tersebut. Software, aplikasi atau sistem yang dihasilkan oleh teman-teman mahasiswa, pada akhirnya tidak digunakan atau diimplementasikan di perusahaan (instansi) yang bersangkutan. Mengapa?
Berdasarkan pengalaman dan beberapa literatur, penulis mencoba merumuskan mengenai penyebab suatu software gagal diimplementasikan di perusahaan (instansi) bersangkutan, termasuk software yang dikembangkan dalam KKP maupun skripsi.
- 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.
- 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.
- 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.
- 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.
- 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.
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. Berikut ini beberapa tips atau langkah sederhana yang dapat dilakukan untuk menganalisa kebutuhan pengguna terhadap sistem yang akan kita buat.
Tips #1. Selalu menjaga hubungan yang baik dengan pihak perusahaan (instansi). Hal ini cukup penting karena akan memperlancar proses pembangunan software.
Tips #2. Wawancarai seluruh stakeholder atau pihak-pihak yang terkait dengan sistem (software) yang akan dibangun. Sebagai contoh dalam sistem perpustakaan sekolah, tentu stakeholder utama yang berkenaan dengan sistem yaitu petugas perpustakaan, kepala perpustakaan, kepala sekolah dan juga siswa. Hasil wawancara dapat dicatat atau akan lebih baik lagi jika direkam untuk selanjutnya diubah ke dalam bentuk transkrip wawancara.
Tips #3. Lakukan pengamatan secara langsung proses yang terjadi di perusahaan (instansi), sehingga kita dapat mengetahui secara lebih rinci mengenai permasalahan yang dihadapi dalam menjalankan proses bisnisnya. Jika diperlukan dapat direkam ke dalam bentuk video.
Tips #4. Lakukan benchmarking terhadap sistem sejenis atau perusahaan lain yang sudah menerapkan sistem sejenis. Hal ini penting untuk mengetahui pola umum dan kebutuhan sistem yang akan dibangun. Selain itu juga dapat sebagai masukan sehubungan dengan teknologi terkini yang tepat untuk pengembangan sistem tersebut.
Tips #5. Setelah proses analisa kebutuhan dirasa cukup, buatlah daftar sederhana yang menggambarkan mengenai software yang akan dibangun termasuk batasan-batasannya. Sampaikan ke pengguna (user) dan jika perlu sertakan bukti approval dari pengguna (misalnya dengan tanda tangan) sehingga di kemudian hari tidak terjadi perubahan terhadap spesifikasi software yang dibangun.