Ditulis oleh Pandu Dwi Luhur Pambudi
Perubahan kebutuhan sering terjadi selama siklus hidup pengembangan perangkat lunak. Perubahan dapat terjadi dari tahap awal pencarian kebutuhan sampai pada tahap implementasi perangkat lunak, bahkan masih dapat terjadi pada tahapan pemeliharaan perangkat lunak. Perubahan-perubahan yang terus terjadi selama proses pengembangan perangkat lunak dapat menimbulkan risiko terhadap biaya pengembangan, periode pengembangan, kepuasan klien dan kualitas produk yang berakibat pada kegagalan proyek. Dengan demikian, perusahaan pengembang perangkat lunak harus dapat meminimalisir dampak negatif yang timbul dari perubahan-perubahan yang terjadi.
Ketika kebutuhan perangkat lunak berubah, maka ada dua hal yang dapat dilakukan oleh perusahaan pengembang yaitu menerima usulan perubahan atau menolak perubahan tersebut. Respon perusahan pengembang perangkat lunak terhadap usulan-usulan perubahan haruslah tepat. Menurut pendapat (Tong et al. 2017) bagaimana cara merespon perubahan-perubahan sangatlah penting untuk kelangsungan proyek perangkat lunak. Ketika perubahan kebutuhan perangkat lunak terjadi dan proyek berlanjut tanpa penilaian atau evaluasi atas perubahan tersebut, maka perubahan tersebut dapat mengganggu kontrol dan manajemen proyek yang berlangsung. Oleh karena itu, pengambilan keputusan yang tepat sangatlah penting untuk memastikan keberhasilan keseluruhan proyek pengembangan perangkat lunak.
Kebanyakan perusahaan pengembang perangkat lunak baru menyadari jika periode waktu pengerjaan akan mengalami keterlambatan pada saat proyek sudah berjalan. Adanya faktor-faktor pemicu penambahan kebutuhan baik dari internal tim pengembang maupun dari eksternal seperti permintaan perubahan dari klien, perubahan permintaan pasar, hingga perubahan tujuan organisasi turut berpengaruh pada keberhasilan proyek. Selain itu faktor lain yang juga menentukan keterlambatan proyek adalah ketidakjelasan proses pencarian kebutuhan pada tahap inisialisasi proyek. Jika pada awal proses observasi atau wawancara yang dilakukan oleh analis bisnis tidak lengkap maka biasanya akan berpengaruh pada perubahan-perubahan yang terus bertambah saat pengerjaan proyek berlangsung.
Berdasarkan klasifikasi perubahan yang telah dirangkum oleh (Jayatilleke & Lai 2018) dijelaskan jika arah perubahan diklasifikasikan menjadi empat, yaitu berdasarkan:
- Tipe (Ghosh et al. 2013; Nurmuliani et al. 2004)
- Origin (Ghosh et al. 2013; Nuseibeh & Easterbrook 2000),
- Alasan (Nurcan et al. 2012; Nurmuliani et al. 2004), dan
- Pemicu (Lam and Loomes, 1998).
Akan tetapi, secara umum perubahan yang terjadi yaitu perubahan berdasarkan tipenya yang terdiri dari parameter-parameter seperti penambahan, penghapusan, dan modifikasi. Perubahan juga biasanya terjadi tidak hanya pada satu tahapan Software Development Lifecycle (SDLC) saja, melainkan pada setiap tahapan-tahapan pengembangan perangkat lunak perubahan kebutuhan sangatlah mungkin terjadi. Seperti halnya penelitian yang dilakukan oleh (Mao et al. 2006) yang menjelaskan jika perubahan terjadi secara terdistribusi pada tiap-tiap tahapan SDLC. Tentu saja harga/upaya yang harus dikeluarkan oleh perusahaan pengembang akan berbeda pada masing-masing tahapan, hal ini berdasarkan pada tingkat kesulitan yang harus dikeluarkan oleh pengembang. Pada akhirnya perubahan-perubahan yang terjadi sangat berpengaruh pada kesuksesan proyek atau justru berpotensi dalam kegagalan proyek itu sendiri.
Menurut data dari (The Standish Group, 2015) (lihat Gambar 1) suatu organisasi penasihat penelitian yang berfokus pada kinerja proyek perangkat lunak menyatakan bahwa pada tahun 2015 sebanyak hanya 29% proyek perangkat lunak yang dinyatakan berhasil untuk diserahkan tepat waktu (on time), sesuai anggaran (on budget), dan hasilnya memuaskan (satiffactry result), sedangkan sebanyak 52% proyek mengalami tantangan yaitu proyek dapat diselesaikan namun mengalami keterlambatan, kelebihan anggaran (over budget), dan hasil tidak memuaskan, dan proyek gagal sebanyak 19% adalah proyek yang dibatalkan atau tidak digunakan.
Gambar 1. Laporan Standish Group untuk Modern Resolution 2011-2015
Berdasarkan fakta yang terjadi, pengambilan keputusan yang tepat perlu dilakukan baik oleh klien atau perusahaan pengembang dalam menghadapi perubahan kebutuhan. Oleh karena itu pembuatan keputusan perlu dibuat secara otomatis dan mengeyampingkan penilaian pribadi seperti minat dan pengalaman pembuat keputusan untuk membantu memutuskan terhadap perubahan yang bisa diambil secara ilmiah, wajar, dan akurat. Sehingga reproduksibilitas hasil suatu perubahan dapat diamati dan dianalisis untuk kepentingan proyek-proyek yang serupa dimasa depan.
Penulis berupaya untuk mengembangkan dan mengusulkan sebuah framework untuk membantu perusahaan pengembang perangkat lunak dalam membuat keputusan terhadap permintaan perubahan perangkat lunak khususnya yang berasal dari klien. Kami juga akan memprediksi harga (cost) yang muncul sebagai dampak dari perubahan yang dilakukan pada tiap-tiap proses SDLC. Framework ini diusulkan berdasarkan penggabungan dari penelitian yang dilakukan oleh (Tong et al. 2017) dalam memutuskan perubahan dengan menggunakan salah satu metode dalam game theory yaitu Nash Equilibrium. Sedangkan untuk model prediksi perhitungan harga (cost) perubahan mengacu pada penelitian yang dilakukan oleh (Mao et al. 2006). Sebelumnya belum ditemukan penelitian sejenis yang secara khusus membantu memberikan keputusan pada perubahan kebutuhan perangkat lunak secara rinci menggunakan gabungan game theory dan pemodelan matematika.
Framework yang kami ajukan adalah penggabungan dari salah satu teori dalam game theory yaitu Nash Equilibrium yang diajukan oleh (Tong et al. 2017) dan pemodelan matematika untuk menghitung prediksi harga akibat perubahan kebutuhan perangkat lunak yang diajukan oleh (Mao et al. 2006). Kami sependapat dengan (Tong et al. 2017) jika isu utama pada manajemen perubahan kebutuhan adalah menentukan apakah harus menerima ataukah menolak perubahan. Pada game theory, hal ini disebut sebagai constraint equilibrium problem, yaitu, untuk menemukan titik Nash equilibrium pada suatu game. Serta perlu dilakukan prediksi harga untuk tiap perubahan yang terjadi pada masing-masing tahapan SDLC. Terinspirasi dari pekerjaan tersebut, didalam artikel ini, kami mengusulkan suatu framwork pengambilan keputusan perubahan kebutuhan baru berdasarkan teori permainan dan model prediksi biaya perubahan kebutuhan
Framework ini akan mengubah masalah pengambilan keputusan terhadap perubahan kebutuhan menjadi suatu permainan bersama antara pengembang sistem perangkat lunak dan para pemangku kepentingan disini adalah klien yang mengajukan permintaan perubahan. Melalui manajemen perubahan yang efektif, pengembangan kebutuhan yang tidak perlu dapat dicegah. Serta usulan perubahan-perubahan baru yang disetujui dapat langsung diprediksi harga perubahannya, sehingga pengembang dapat melakukan estimasi langsung terhadap nilai akhir suatu proyek tanpa harus menghitungnya pada akhir tahapan proyek.
Kami akan menyusun matriks payoff untuk permintaan kebutuhan dari klien dan respon yang harus dilakukan oleh pengembang. Kami juga akan menganalisis situasi penolakan atau penerimaan perubahan kebutuhan berdasarkan dampak pada biaya atau benefit bagi pengembang dan kepuasan bagi klien serta memprediksi perubahan kebutuhan biaya menggunakan model prediksi biaya perubahan kebutuhan. Framework dibangun untuk menganalisis keputusan dan biaya perubahan kebutuhan di setiap tahapan SDLC, seperti yang ditunjukkan pada Gambar 2.
Gambar 2: Usulan Framework untuk Pengambilan Keputusan
Referensi
- Ghosh, S., Ramaswamy, S., & Jetley, R. P. (2013). ‘Towards requirements change decision support’, Proceedings – Asia-Pacific Software Engineering Conference, APSEC, 1: 148–55. DOI: 10.1109/APSEC.2013.30
- Jayatilleke, S., & Lai, R. (2018). ‘A systematic review of requirements change management’. Information and Software Technology. Elsevier B.V. DOI: 10.1016/j.infsof.2017.09.004
- Mao, C., Lu, Y., & Wang, X. (2006). ‘A study on the distribution and cost prediction of requirements changes in the software life-cycle’. Lecture Notes in Computer Science (including subseries Lecture Notes in Artificial Intelligence and Lecture Notes in Bioinformatics), Vol. 3840 LNCS, pp. 136–50. DOI: 10.1007/11608035_14
- Nurcan, S., Barrios, J., Grosz, G., Rolland, C., Nurcan, S., Barrios, J., Grosz, G., et al. (2012). ‘Change Process Modelling using the EKD – Change Management Method To cite this version : HAL Id : hal-00707573 CHANGE PROCESS MODELLING USING THE EKD-CHANGE MANAGEMENT METHOD’,.
- Nurmuliani, N., Zowghi, D., & Fowell, S. (2004). ‘Analysis of requirements volatility during software development life cycle’, Proceedings of the Australian Software Engineering Conference, ASWEC, 2004: 28–37. DOI: 10.1109/ASWEC.2004.1290455
- Nuseibeh, B., & Easterbrook, S. (2000). ‘Requirements Engineering: A Roadmap Bashar’, pre- sented at the Proceedings of the Conference on The Future of Software Engi- neering, Limerick, Ireland. DOI: 10.1145/336512.336523
- Standish Group Chaos Report. Modern Resolution for All Project. 2015
- Tong, Z., Su, X., Cen, L., & Wang, T. (2017). ‘Greening Software Requirements Change Management Strategy Based on Nash Equilibrium’, Wireless Communications and Mobile Computing, 2017: 1–10. DOI: 10.1155/2017/4020162