Pokok Bahasan
Filosofi dan Manifesto Agile
Kerangka Kerja Scrum, Kanban, dan Extreme Programming
Pengiriman Iteratif dan Inkremental
Filosofi dan Manifesto Agile
Kerangka Kerja Scrum, Kanban, dan Extreme Programming
Pengiriman Iteratif dan Inkremental
Pertemuan ini bertujuan membekali mahasiswa dengan pemahaman fundamental mengenai ruang lingkup Agile sebagai paradigma pengembangan perangkat lunak modern. Setelah mengikuti sesi ini, mahasiswa diharapkan mampu menjelaskan latar belakang historis kemunculan Agile, mengidentifikasi nilai-nilai dan prinsip-prinsip inti Agile Manifesto, serta membedakan pendekatan Agile dari model tradisional seperti Waterfall.
Pembahasan akan dimulai dengan menelusuri krisis metodologi pengembangan perangkat lunak pada era 1990-an yang mendorong lahirnya Agile Manifesto pada tahun 2001. Mahasiswa akan dikenalkan pada empat nilai utama Agile—individu dan interaksi, perangkat lunak yang berfungsi, kolaborasi pelanggan, dan respons terhadap perubahan—beserta dua belas prinsip pendukungnya. Analisis komparatif antara pendekatan iteratif-inkremental Agile dengan model sekuensial Waterfall akan menjadi fondasi untuk memahami keunggulan dan keterbatasan masing-masing metodologi.
Selanjutnya, perkuliahan akan mengeksplorasi berbagai kerangka kerja populer yang mengadopsi prinsip Agile seperti Scrum, Kanban, dan Extreme Programming (XP). Penekanan diberikan pada karakteristik esensial Agile: pengiriman nilai secara berkelanjutan, adaptasi terhadap perubahan kebutuhan, kolaborasi lintas peran, dan perbaikan berkesinambungan melalui siklus umpan balik singkat. Mahasiswa juga akan diajak merefleksikan relevansi dan tantangan penerapan Agile dalam konteks industri perangkat lunak kontemporer.
Agile merupakan pendekatan pengembangan perangkat lunak yang menekankan pada pengiriman nilai secara iteratif dan inkremental, kolaborasi tim yang erat, serta kemampuan beradaptasi terhadap perubahan kebutuhan. Filosofi Agile berakar pada Agile Manifesto tahun 2001 yang menetapkan empat nilai utama: individu dan interaksi di atas proses dan alat, perangkat lunak yang berfungsi di atas dokumentasi yang lengkap, kolaborasi dengan pelanggan di atas negosiasi kontrak, serta respons terhadap perubahan di atas mengikuti rencana. Pendekatan ini lahir sebagai reaksi terhadap metodologi waterfall yang kaku, di mana perubahan kebutuhan di tahap akhir pengembangan seringkali mengakibatkan pembengkakan biaya dan waktu yang signifikan.
Dalam praktiknya, Agile bukan sekadar metodologi melainkan sebuah pola pikir (mindset) yang mendorong tim untuk terus melakukan refleksi dan perbaikan berkelanjutan. Setiap iterasi pengembangan menghasilkan produk yang berpotensi untuk dirilis (potentially shippable increment), sehingga pemangku kepentingan dapat melihat kemajuan nyata dan memberikan umpan balik secara berkala. Contoh nyata penerapan filosofi ini terlihat pada perusahaan seperti Spotify, yang menggunakan pendekatan squad-based agile untuk memungkinkan tim-tim kecil bekerja secara otonom namun tetap selaras dengan visi produk secara keseluruhan.
Tiga kerangka kerja Agile yang paling banyak diadopsi adalah Scrum, Kanban, dan Extreme Programming (XP). Scrum berfokus pada siklus pengembangan berdurasi tetap yang disebut sprint (umumnya 2-4 minggu) dengan peran-peran terdefinisi seperti Product Owner, Scrum Master, dan Development Team. Setiap sprint dimulai dengan Sprint Planning, diakhiri dengan Sprint Review dan Sprint Retrospective, serta melibatkan pertemuan harian Daily Stand-up yang singkat. Kanban, di sisi lain, menggunakan papan visual untuk mengelola aliran kerja secara kontinu tanpa batasan waktu tetap, dengan fokus utama pada pembatasan pekerjaan yang sedang berjalan (Work In Progress limits) untuk mengurangi kemacetan dan meningkatkan efisiensi aliran.
Extreme Programming (XP) menekankan pada praktik-praktik teknis yang ketat seperti pair programming, test-driven development (TDD), continuous integration, dan refactoring secara disiplin. XP sangat cocok untuk proyek dengan persyaratan yang berubah cepat dan tingkat risiko teknis yang tinggi. Dalam dunia nyata, banyak organisasi menggabungkan elemen-elemen dari berbagai kerangka kerja ini, misalnya menggunakan Scrum untuk manajemen proyek secara keseluruhan namun mengadopsi praktik XP seperti TDD dan pair programming dalam tim pengembang, serta menggunakan papan Kanban untuk memvisualisasikan alur kerja sprint yang sedang berjalan.
Pengiriman iteratif dan inkremental merupakan jantung dari pendekatan Agile. Iteratif berarti produk dikembangkan melalui siklus pengulangan di mana setiap iterasi menghasilkan versi produk yang lebih baik berdasarkan umpan balik dari iterasi sebelumnya. Inkremental berarti fitur-fitur dibangun secara bertahap, di mana setiap penambahan menghasilkan produk yang lebih lengkap. Pendekatan ini memungkinkan tim untuk memvalidasi asumsi sejak dini, mengurangi risiko kegagalan besar, dan memastikan bahwa produk yang dihasilkan benar-benar sesuai dengan kebutuhan pengguna.
Contoh nyata prinsip ini dapat dilihat pada pengembangan aplikasi e-commerce. Alih-alih membangun seluruh sistem sekaligus, tim Agile akan merilis versi pertama yang hanya memiliki fitur inti seperti katalog produk dan keranjang belanja. Pada iterasi berikutnya, ditambahkan fitur pembayaran, lalu pelacakan pesanan, kemudian rekomendasi produk. Setiap rilis sudah dapat digunakan oleh pelanggan sehingga tim mendapatkan data penggunaan nyata yang menjadi dasar pengambilan keputusan untuk iterasi selanjutnya. Berikut adalah contoh sederhana bagaimana user story dipetakan ke dalam iterasi dalam bentuk backlog terstruktur:
-- Iterasi 1: MVP - Katalog dan Keranjang INSERT INTO backlog (id, sprint, story, prioritas, status) VALUES (1, 1, 'Sebagai pembeli, saya ingin melihat daftar produk agar dapat memilih barang', 'HIGH', 'DONE'), (2, 1, 'Sebagai pembeli, saya ingin menambahkan produk ke keranjang', 'HIGH', 'DONE'); -- Iterasi 2: Transaksi INSERT INTO backlog (id, sprint, story, prioritas, status) VALUES (3, 2, 'Sebagai pembeli, saya ingin melakukan checkout dan pembayaran', 'HIGH', 'IN_PROGRESS'), (4, 2, 'Sebagai pembeli, saya ingin menerima konfirmasi pesanan via email', 'MEDIUM', 'TODO'); -- Iterasi 3: Pelacakan INSERT INTO backlog (id, sprint, story, prioritas, status) VALUES (5, 3, 'Sebagai pembeli, saya ingin melacak status pengiriman pesanan', 'MEDIUM', 'TODO');
Agile menempatkan kolaborasi dan komunikasi sebagai faktor penentu keberhasilan proyek. Tim Agile idealnya bersifat lintas fungsi (cross-functional), terdiri dari pengembang, penguji, desainer, dan analis bisnis yang bekerja bersama dalam satu kesatuan. Struktur ini menghilangkan ketergantungan antar departemen dan mempercepat pengambilan keputusan. Komunikasi tatap muka dianggap sebagai metode paling efektif, yang diwujudkan melalui pertemuan harian (daily stand-up) di mana setiap anggota menjawab tiga pertanyaan kunci: apa yang dikerjakan kemarin, apa yang akan dikerjakan hari ini, dan apakah ada hambatan.
Praktik kolaborasi juga mencakup keterlibatan aktif pelanggan atau perwakilannya (Product Owner) dalam setiap tahap pengembangan. Product Owner bertanggung jawab menjaga product backlog tetap terprioritas berdasarkan nilai bisnis, sementara tim pengembang memiliki otonomi untuk menentukan bagaimana pekerjaan tersebut diselesaikan secara teknis. Model kolaborasi ini terlihat jelas dalam perusahaan teknologi seperti Google dan Microsoft, di mana tim pengembang bekerja dalam siklus pendek dengan demonstrasi produk secara berkala kepada pemangku kepentingan untuk mendapatkan validasi langsung.
Salah satu keunggulan utama Agile adalah kemampuannya untuk merespons perubahan kebutuhan tanpa mengorbankan kualitas atau momentum pengembangan. Berbeda dengan pendekatan tradisional yang berusaha mendokumentasikan seluruh kebutuhan di awal proyek, Agile mengakui bahwa kebutuhan akan berevolusi seiring bertambahnya pemahaman tim dan pemangku kepentingan terhadap produk. Perencanaan dalam Agile bersifat adaptif: rencana jangka panjang bersifat fleksibel dan berlevel tinggi, sementara rencana jangka pendek (sprint) bersifat detail dan terikat komitmen.
Mekanisme untuk mengakomodasi perubahan diwujudkan melalui backlog refinement yang berkelanjutan, di mana user story baru dapat ditambahkan kapan saja dan diprioritaskan ulang setiap awal sprint. Ketika perubahan muncul, dampaknya terhadap sprint yang sedang berjalan dievaluasi secara kolaboratif. Jika perubahan bersifat kritis, Product Owner dapat menegosiasikan pertukaran item dalam sprint (scope negotiation). Pendekatan ini terbukti sangat efektif dalam industri yang dinamis seperti fintech, di mana regulasi dapat berubah secara tiba-tiba dan tim harus segera menyesuaikan fitur keamanan atau kepatuhan dalam produk mereka.
Keberhasilan implementasi Agile tidak diukur dari kepatuhan terhadap ritual semata, melainkan melalui metrik berbasis nilai yang mencerminkan kesehatan tim dan kualitas produk. Metrik utama meliputi velocity (jumlah story point yang diselesaikan per sprint), lead time (waktu dari ide hingga produksi), cycle time (waktu pengerjaan satu item), burndown chart (visualisasi kemajuan sprint), serta cumulative flow diagram (distribusi item di setiap tahapan alur kerja). Metrik-metrik ini membantu tim mengidentifikasi hambatan dan membuat keputusan berbasis data untuk perbaikan berkelanjutan.
Selain metrik kuantitatif, Agile juga menekankan pengukuran kualitatif seperti kepuasan pelanggan, keterlibatan tim, dan kualitas teknis. Net Promoter Score (NPS) sering digunakan untuk mengukur loyalitas pengguna, sementara retrospektif sprint berfungsi sebagai mekanisme evaluasi kesehatan tim secara reguler. Dalam praktiknya, tim yang matang menggunakan kombinasi metrik ini secara seimbang. Contoh nyata adalah tim di Amazon yang menerapkan DevOps Research and Assessment (DORA) metrics untuk mengukur kinerja pengiriman perangkat lunak, yang mencakup frekuensi deployment, waktu tunggu perubahan, waktu pemulihan insiden, dan tingkat kegagalan perubahan.
Belum ada sesi presensi untuk pertemuan ini.
Tanpa deadline
Unggah tugas Scrum anda pada form berikut.
08 Jul 2026, 23:50 WIB