Mengenal Agile, Scrum, dan Kanban: Metodologi Populer dalam Pengembangan Perangkat Lunak
Dalam dunia pengembangan perangkat lunak modern (Software Engineering), kecepatan, adaptabilitas, dan kolaborasi menjadi kunci utama. Untuk menjawab tantangan tersebut, banyak tim software engineering beralih dari pendekatan konvensional menjadi pendekatan Agile dan menggunakan kerangka kerja seperti Scrum atau Kanban. Namun, ketiganya sering kali disalahpahami dan membingungkan bahkan dianggap sinonim. Padahal, meskipun saling berkaitan, Agile, Scrum, dan Kanban memiliki peran dan struktur yang berbeda. Pada artikel ini kita akan membahas ketiganya secara lebih terstruktur.
Apa Itu Agile?
Agile adalah sebuah pendekatan atau mindset dalam pengembangan perangkat lunak yang menekankan kolaborasi tim, umpan balik (feedback) cepat dari pengguna, dan iterasi yang berkesinambungan dan berkelanjutan. Konsep ini berasal dari Agile Manifesto tahun 2001 yang terdiri dari empat nilai utama dan dua belas prinsip.
Sumber: https://agilemanifesto.org/
Berikut adalah empat point nilai utama Agile (Agile Value):
- Interaksi individu lebih penting daripada proses dan alat (Individuals and interactions over processes and tools).
- Perangkat lunak yang berfungsi lebih penting daripada dokumentasi lengkap (Working software over comprehensive documentation).
- Kolaborasi dengan pelanggan lebih penting daripada kontrak formal (Customer collaboration over contract negotiation).
- Respons terhadap perubahan lebih penting daripada mengikuti rencana (Responding to change over following a plan).
Agile bukanlah metode atau framework yang spesifik, melainkan suatu konsep, filosofi, atau payung besar yang mencakup berbagai metode seperti Scrum, Kanban, Extreme Programming (XP), dan lainnya.
Apa Itu Scrum?
Sumber: https://www.pm-partners.com.au/insights/the-agile-journey-a-scrum-overview/
Scrum adalah salah satu kerangka kerja paling populer dalam implementasi Agile. Scrum membagi proses development ke dalam periode waktu tertentu yang sudah ditetapkan (time-boxed) atau yang biasanya disebut sebagai sprint. Satu sprint biasanya dapat terdiri dari 1 – 4 minggu tergantung kesepakatan dan kebutuhan tim. Tujuan utamanya adalah menghasilkan inkremen produk yang siap digunakan di akhir setiap sprint.
Roles utama dalam Scrum:
- Product Owner: Bertanggung jawab atas backlog produk dan prioritas fitur.
- Scrum Master: Fasilitator tim yang memastikan prinsip Scrum dijalankan.
- Development Team: Tim lintas fungsi yang membangun produk, tim ini dapat terdiri atas tim programmer, designer, business analyst, dan sebagainya.
Artefak utama dalam Scrum:
- Product Backlog: Daftar prioritas fitur atau pekerjaan yang harus diselesaikan.
- Sprint Backlog: Subset dari product backlog yang dikerjakan selama sprint.
- Increment: Versi produk yang sudah selesai dan siap digunakan tiap akhir sprint.
Kegiatan utama dalam Scrum:
- Sprint Planning: Pertemuan di awal sprint untuk menentukan tujuan sprint dan memilih item backlog yang akan dikerjakan. Tim akan mendiskusikan bagaimana menyelesaikan pekerjaan tersebut dan menetapkan target yang realistis.
- Daily Standup: Pertemuan singkat harian (biasanya 15 menit) di mana setiap anggota tim menjawab tiga pertanyaan utama: apa yang dikerjakan kemarin, apa yang akan dikerjakan hari ini, dan apakah ada hambatan. Tujuannya adalah untuk menyelaraskan progres dan mengidentifikasi potensi masalah sejak dini.
- Sprint Review: Diadakan di akhir sprint untuk mempresentasikan hasil pekerjaan kepada stakeholder. Feedback dari sesi ini digunakan untuk memperbarui product backlog.
- Sprint Retrospective: Pertemuan reflektif yang dilakukan setelah sprint selesai, di mana tim mengevaluasi proses kerja mereka, seperti apa yang berjalan baik, apa yang perlu diperbaiki, dan rencana perbaikan untuk sprint selanjutnya.
Apa Itu Kanban?
Sumber: https://www.nimblework.com/kanban/what-is-kanban/
Kanban adalah metode kerja yang menggunakan visualisasi yang menunjukkan aliran pekerjaan (workflow) dan pembatasan jumlah pekerjaan yang sedang berlangsung (WIP limit). Tidak seperti Scrum, Kanban tidak bekerja dalam time-boxed sprint, tetapi secara kontinu memperbarui pekerjaan yang masuk dan keluar.
Prinsip utama Kanban:
- Visualisasi proses kerja (misalnya melalui papan Kanban)
- Membatasi pekerjaan dalam proses (WIP limit)
- Mengelola aliran kerja
- Membuat kebijakan eksplisit
- Meningkatkan kolaborasi dan perbaikan berkelanjutan
Kanban sangat cocok untuk tim yang menangani pekerjaan dengan prioritas yang sering berubah, seperti tim support atau operasional TI. Dengan papan Kanban, seluruh tim dapat melihat status pekerjaan secara real-time dari kolom “To Do” ke “Doing” hingga “Done”.
Kapan Harus Menggunakan Scrum atau Kanban?
Scrum lebih cocok jika project memiliki tujuan yang jelas, ruang lingkup yang dapat diperkirakan, dan menuntut inovasi di tiap iterasi. Kemudian Kanban lebih cocok jika kamu bekerja di lingkungan yang dinamis dengan banyak permintaan ad hoc, seperti tim support atau tim pengembangan yang harus mengakomodasi perubahan konstan. Keduanya juga dapat digunakan secara kombinasi. Contohnya jika ingin fleksibilitas Kanban tetapi dengan struktur Scrum. Ini sering disebut sebagai Scrumban.
Baik Agile, Scrum, maupun Kanban dirancang untuk membantu tim bekerja lebih efisien, responsif, dan berkolaborasi lebih baik. Memahami perbedaannya akan membantumu memilih pendekatan yang paling sesuai dengan kebutuhan tim dan jenis proyek yang sedang dikerjakan.
Penulis:
Muhammad Alfhi Saputra (FDP Scholar)
Referensi:
https://www.atlassian.com/agile/kanban/kanban-vs-scrum
https://www.pm-partners.com.au/insights/the-agile-journey-a-scrum-overview/
https://www.nimblework.com/kanban/what-is-kanban/
Comments :