Pengembangan perangkat lunak menggunakan metodologi Agile telah mengalami peningkatan signifikan dalam beberapa dekade terakhir, terutama berkat fleksibilitas dan kecepatan yang ditawarkannya. Dalam pendekatan ini, pengumpulan dan manajemen kebutuhan (requirement engineering/RE) menjadi sangat penting, mengingat bahwa kebutuhan perangkat lunak seringkali berubah seiring berjalannya waktu. Meskipun Agile memberikan banyak manfaat, artikel yang ditulis oleh Aqsa Rasheed dan rekan-rekannya (2021) menyoroti beberapa tantangan besar yang terkait dengan rekayasa kebutuhan dalam pengembangan perangkat lunak Agile, serta menawarkan solusi yang dapat membantu memitigasi masalah-masalah ini.
Salah satu tantangan terbesar yang dihadapi tim pengembang perangkat lunak dalam metodologi Agile adalah sifat dinamis dan terus berubahnya kebutuhan pengguna. Dalam Agile, kebutuhan tidak dianggap sebagai elemen yang tetap, tetapi sebagai sesuatu yang berkembang sepanjang siklus hidup proyek. Hal ini menciptakan tantangan besar, khususnya dalam hal dokumentasi dan pelacakan kebutuhan. Kebutuhan yang terus berubah mengharuskan tim untuk selalu menyesuaikan diri dengan prioritas yang baru, yang terkadang dapat menyebabkan kebingungannya definisi dan pemahaman terhadap kebutuhan itu sendiri.
Artikel ini menyoroti bagaimana proses elicitation (pengumpulan kebutuhan) sering kali menghadapi kendala besar, seperti ambigu dan kurang jelasnya komunikasi antara pemangku kepentingan dan tim pengembang. Ketika tidak ada pemahaman yang jelas tentang apa yang sebenarnya dibutuhkan, hasilnya bisa berupa perangkat lunak yang tidak sesuai dengan harapan pengguna, bahkan meskipun pengembangan telah dilakukan dengan baik menurut standar teknis.
Masalah lainnya adalah prioritas kebutuhan yang sering berubah. Dalam pengembangan perangkat lunak tradisional, kebutuhan yang telah didefinisikan pada awal proyek biasanya tidak berubah banyak selama siklus hidup proyek. Namun, dalam Agile, kebutuhan seringkali berubah setelah setiap iterasi, dan ini bisa menyebabkan kebingungan dan peningkatan pekerjaan yang tidak direncanakan. Lebih jauh lagi, perubahan kebutuhan yang terus-menerus menuntut agar tim pengembang dapat menyesuaikan pekerjaan mereka secara terus-menerus, yang dapat menyebabkan ketidakpastian dan bahkan keterlambatan dalam pengiriman.
Selain itu, dokumentasi kebutuhan dalam Agile biasanya lebih minimal dibandingkan dengan pendekatan pengembangan perangkat lunak tradisional. Meskipun pendekatan ini mendukung prinsip "komunikasi langsung lebih penting daripada dokumentasi yang komprehensif," masalah muncul ketika proyek bergerak ke tahap lebih lanjut, atau ketika tim baru bergabung dengan proyek tersebut. Tanpa dokumentasi yang memadai, ada risiko kehilangan informasi penting yang dapat mengarah pada kesalahan dalam iterasi berikutnya.
Salah satu solusi utama yang ditawarkan oleh artikel ini adalah peningkatan komunikasi langsung antara tim pengembang dan pemangku kepentingan. Dalam proyek Agile, keterlibatan aktif pemangku kepentingan, termasuk pengguna akhir, sangat penting untuk memastikan bahwa kebutuhan yang berubah dapat segera dipahami dan diprioritaskan dengan benar. Proses seperti survei dan wawancara dapat digunakan untuk mengumpulkan informasi yang lebih jelas mengenai apa yang sebenarnya dibutuhkan oleh pengguna, yang pada gilirannya dapat mengurangi ambiguitas dalam proses pengumpulan kebutuhan.
Selain itu, penggunaan alat bantu dan teknik manajemen perubahan yang lebih baik juga sangat diperlukan. Mengingat bahwa perubahan kebutuhan merupakan hal yang biasa dalam pengembangan Agile, penerapan tools seperti JIRA atau model RE-KOMBINE untuk melacak dan mengelola perubahan tersebut sangat disarankan. Alat-alat ini membantu dalam memetakan perubahan kebutuhan, memastikan bahwa kebutuhan yang baru selalu tercatat dan dapat dilacak dengan jelas sepanjang siklus pengembangan.
Masalah dokumentasi yang kurang dalam Agile dapat diatasi dengan pendekatan yang lebih seimbang. Meskipun dokumentasi tidak seharusnya menghambat kecepatan pengembangan, namun beberapa tingkat dokumentasi tetap diperlukan untuk memastikan bahwa informasi kebutuhan tidak hilang begitu saja. Oleh karena itu, penulis artikel ini menyarankan agar dokumentasi dilakukan dengan cara yang lebih minimal namun tetap terstruktur, seperti penggunaan user stories atau backlog produk, yang memudahkan dalam pelacakan dan perubahan.
Selain itu, proses prototyping yang digunakan dalam Agile untuk memvalidasi kebutuhan dan mendapatkan umpan balik lebih cepat dari pengguna akhir harus digunakan dengan bijak. Prototyping memungkinkan tim untuk menangani masalah potensial lebih awal dan mempercepat iterasi, namun terlalu banyak implementasi awal dalam prototipe dapat mengarah pada kesalahpahaman tentang seberapa cepat pengembangan dapat dilakukan. Oleh karena itu, menggunakan prototyping secara hati-hati dan tidak berlebihan dapat membantu menghindari masalah kualitas dan pengertian yang salah tentang proses pengembangan.
Salah satu temuan penting dalam artikel ini adalah tantangan yang dihadapi oleh proyek berskala besar dalam mengelola kebutuhan perangkat lunak dalam Agile. Meskipun Agile telah terbukti efektif untuk proyek kecil atau tim yang lebih kecil, tantangan muncul ketika Agile diterapkan pada proyek besar yang melibatkan banyak tim dan pemangku kepentingan. Artikel ini mengidentifikasi beberapa tantangan besar dalam proyek besar, seperti perencanaan jangka panjang, pembentukan prioritas kebutuhan yang kuat, dan manajemen interdependensi antar tim. Oleh karena itu, untuk proyek besar, penggunaan metodologi Agile harus disertai dengan struktur yang lebih formal dan alat bantu manajemen proyek yang dapat menangani skala besar.
analisis yang disampaikan oleh penulis artikel ini bahwa penting untuk mengadopsi pendekatan yang lebih terstruktur dan terstandarisasi dalam pengelolaan kebutuhan, terutama untuk proyek Agile berskala besar. Komunikasi langsung dengan pemangku kepentingan, penggunaan alat bantu manajemen kebutuhan, dan perhatian terhadap dokumentasi yang memadai akan sangat membantu dalam mengatasi tantangan-tantangan tersebut. Oleh karena itu, meskipun Agile terus berkembang, penyempurnaan dan pengadopsian solusi yang lebih matang dalam rekayasa kebutuhan sangatlah diperlukan untuk memastikan keberhasilan proyek perangkat lunak di masa depan.