Agile dan Scrum dalam Pembuatan Aplikasi: Cara Kerja dan Kapan Cocok Dipakai
Agile membuat aplikasi dibangun bertahap dengan demo berkala, sehingga klien bisa mengoreksi arah lebih awal. Pahami cara kerjanya dan perannya bagi Anda sebagai klien.
Agile development aplikasi adalah cara membangun perangkat lunak secara bertahap dalam siklus pendek, dengan demo hasil kepada klien di setiap siklus. Pendekatan ini lahir karena kebutuhan pengguna jarang bisa dirumuskan sempurna di awal. Dengan melihat aplikasi yang sudah bisa dicoba sejak dini, klien bisa mengoreksi arah sebelum biaya perubahan menjadi besar.
Poin penting
- Pekerjaan dibagi menjadi siklus pendek (sprint), masing masing menghasilkan bagian aplikasi yang bisa dicoba.
- Prioritas fitur diatur dalam daftar kerja (backlog) yang bisa disesuaikan.
- Keberhasilan agile sangat bergantung pada keterlibatan aktif klien.
- Untuk anggaran tetap, gabungkan kontrak ruang lingkup utama dengan tahapan dan demo berkala.
Agile dan waterfall
Pendekatan waterfall menyelesaikan tahapan secara berurutan: analisis lengkap, desain lengkap, pengembangan, lalu pengujian. Klien baru melihat aplikasi utuh di akhir. Cara ini cocok bila kebutuhan sangat stabil dan jelas, tetapi berisiko bila ternyata ada kesalahpahaman, karena baru ketahuan setelah sebagian besar anggaran terpakai.
Agile membalik urutannya. Tim membangun fitur paling penting lebih dulu, menunjukkan hasilnya, menerima masukan, lalu melanjutkan ke fitur berikutnya. Kesalahpahaman cepat terlihat dan diperbaiki saat masih murah.
Istilah dasar Scrum
Scrum adalah kerangka agile yang paling banyak dipakai. Beberapa istilah yang perlu Anda kenal:
- Product backlog: daftar semua kebutuhan dan fitur, diurutkan berdasarkan prioritas.
- Sprint: periode kerja tetap, satu bulan atau kurang, biasanya satu sampai empat minggu.
- Sprint planning: rapat di awal sprint untuk memilih pekerjaan yang akan diselesaikan.
- Sprint review: demo hasil di akhir sprint kepada klien dan pengguna.
- Retrospektif: evaluasi internal tim tentang cara kerja yang perlu diperbaiki.
- Product owner: orang yang menentukan prioritas. Idealnya berasal dari pihak klien atau bekerja sangat dekat dengan klien.
Manfaat bagi klien
- Hasil terlihat lebih awal: Anda bisa mencoba bagian aplikasi dalam hitungan minggu.
- Risiko lebih kecil: kesalahan arah terdeteksi di sprint awal.
- Prioritas fleksibel: fitur yang ternyata lebih penting bisa dinaikkan urutannya.
- Bisa dirilis bertahap: versi inti dapat dipakai lebih dulu sambil fitur lain dikembangkan.
Tantangan yang perlu diantisipasi
Agile bukan berarti tanpa rencana atau tanpa batas. Tantangan yang sering muncul adalah klien sulit hadir di demo, prioritas berubah terlalu sering, atau ruang lingkup terus bertambah tanpa disadari. Karena itu tetap perlu dokumen ruang lingkup dan prosedur perubahan yang jelas. Lihat panduan NDA dan SoW dalam kontrak software house.
Agile untuk proyek dengan anggaran tetap
Banyak proyek, terutama di instansi, memerlukan nilai kontrak dan jadwal yang pasti. Pendekatan yang praktis adalah model hibrida:
- Lakukan analisis kebutuhan untuk menyepakati modul utama, anggaran, dan jadwal.
- Bagi pengerjaan menjadi beberapa tahap atau milestone yang terkait dengan termin pembayaran.
- Di setiap tahap, adakan demo berkala dan kumpulkan masukan pengguna.
- Perubahan kecil diakomodasi di dalam tahap; perubahan besar melalui prosedur perubahan tertulis.
- Tutup setiap tahap dengan pengujian dan berita acara.
Peran Anda sebagai klien
Tunjuk satu penanggung jawab yang punya wewenang memutuskan prioritas, sediakan waktu untuk demo berkala, dan libatkan pengguna nyata saat meninjau hasil. Rajonet menerapkan pengembangan bertahap dengan demo berkala dan progres yang bisa dipantau di portal klien, sebagaimana dijelaskan di tahapan pembuatan sistem informasi.
Pertanyaan yang sering diajukan
Apa itu agile dalam pembuatan aplikasi?
Agile adalah pendekatan pengembangan yang membagi pekerjaan menjadi siklus pendek. Di setiap siklus, sebagian fitur dibuat, didemokan, dan dievaluasi bersama klien, sehingga perubahan kebutuhan bisa diakomodasi lebih awal.
Apa itu sprint dalam Scrum?
Sprint adalah periode kerja tetap yang menurut Panduan Scrum berlangsung satu bulan atau kurang, umumnya satu sampai empat minggu. Di akhir sprint, tim menunjukkan hasil yang bisa dicoba.
Apakah agile cocok untuk proyek pemerintah dengan anggaran tetap?
Bisa, dengan penyesuaian. Ruang lingkup utama dan anggaran tetap disepakati di kontrak, lalu pengerjaannya dibagi menjadi tahapan dengan demo berkala. Perubahan kecil diakomodasi di dalam tahapan, perubahan besar melalui prosedur perubahan.
Apa peran klien dalam proyek agile?
Klien menunjuk satu orang penanggung jawab yang menentukan prioritas, hadir di demo, memberi masukan cepat, dan menyetujui hasil setiap tahap. Tanpa keterlibatan ini, manfaat agile hilang.