Perbandingan Lengkap: Scrum vs Waterfall vs Agile vs Lean vs Kanban

Industri pengembangan perangkat lunak menampilkan berbagai pendekatan yang berbeda — beberapa adalah versi baru dari metode lama, sementara yang lain menerapkan praktik yang relatif baru. Dua pendekatan yang paling umum digunakan adalah Agile, seperti Scrum, Kanban, dan Lean, serta model Waterfall tradisional, seperti metode terstruktur atau RUP yang lebih baru.

Sebagian besar perusahaan perangkat lunak yang mengikuti dua paradigma ini percaya bahwa metode yang mereka pilih lebih unggul dalam aspek tertentu. Jadi sebelum menjawab pertanyaan, ‘Manakah yang lebih sukses?’ — mari kita teliti perbedaan utama mereka.

Pendekatan Waterfall

Waterfall adalah pendekatan linier dalam pengembangan perangkat lunak. Setiap tahap mewakili tahap yang berbeda dalam proses, biasanya selesai sebelum tahap berikutnya dimulai. Batas waktu sering muncul di antara setiap tahap pengembangan.

  • Dibentuk sebagai proyek besar dalam proses berurutan
  • Cocok untuk lingkungan di mana perubahan jarang terjadi
  • Mengharuskan persyaratan yang sepenuhnya didefinisikan di awal

Dengan demikian, model Waterfall menekankan untuk melanjutkan ke tahap berikutnya hanya setelah tahap sebelumnya telah diverifikasi dan divalidasi, seperti yang ditunjukkan pada gambar di bawah ini:

Waterfall Approach

Pendekatan Waterfall

Contoh:

Dalam model Waterfall asli Royce, tahapan berikut diikuti secara berurutan:

  • Persyaratan Sistem dan Perangkat Lunak: Dicatat dalam dokumen persyaratan produk
  • Analisis: Menghasilkan model, arsitektur, dan aturan bisnis
  • Desain: Menghasilkan arsitektur perangkat lunak
  • Pengkodean: Pengembangan, verifikasi, dan integrasi perangkat lunak
  • Pengujian: Penemuan sistematis dan pengoreksian kesalahan
  • Operasi: Instalasi sistem penuh, migrasi, dukungan, dan pemeliharaan

Pendekatan Agile

Agile berasal dari pemikiran Lean, menerapkan konsep ‘Lean’ dalam lingkungan TI. Fokus utama metode Lean adalah:

  • Hapus pemborosan dalam proses
  • Minimalkan aktivitas bisnis yang tidak menambah nilai
  • Maksimalkan nilai dari sudut pandang pelanggan
Agile Approaches

Pendekatan Agile

Agile adalah metodologi manajemen proyek yang terbukti mendorong prinsip inti berikut:

  • Inspeksi dan adaptasi yang sering
  • Mendorong kolaborasi tim, otonomi diri, dan akuntabilitas
  • Serangkaian praktik terbaik rekayasa untuk menghadirkan proyek berkualitas tinggi secara cepat
  • Pendekatan bisnis yang menyelaraskan pengembangan dengan kebutuhan pelanggan dan tujuan perusahaan

Pengembangan Agile – Siklus Hidup Iteratif

Pengembangan Agile mencakup tahapan tradisional seperti perencanaan, analisis kebutuhan, desain, pemrograman, pengujian, dan peluncuran — tetapi membentuk lingkaran daripada garis lurus. Ini berarti prosesnya fleksibel, dapat diulang, dan dapat terjadi dalam urutan apa pun atau secara paralel. Ini memungkinkan pengumpulan umpan balik pengguna, pengujian berkelanjutan di berbagai lingkungan, serta perubahan cakupan proyek selama runtime.

Dasar-Dasar Metodologi Agile

  • Empiris:Kemampuan untuk melaksanakan, berhenti, merefleksikan, meningkatkan, dan melanjutkan dengan cara yang secara bertahap meningkatkan produktivitas.
  • Prioritas:Menyerahkan pekerjaan berdasarkan nilai bisnis.
  • Otonomi diri:Tim paling memahami cara menyelesaikan pekerjaan dengan sumber daya dan keterbatasan yang tersedia.
  • Pembatasan Waktu:Tim harus menyelesaikan tugas yang ditentukan dalam jangka waktu tertentu.
  • Kolaborasi:Tim berkomitmen untuk menghadirkan produk akhir dalam waktu tertentu, mendorong kolaborasi lintas tim dan penyelesaian tugas secara kreatif.

Agile vs Waterfall – Kendala Tiga Aspek

Keunggulan terbesar dari pendekatan Waterfall adalah biaya tetap dan prediktabilitas. Anda tahu harga dan tanggal pengiriman. Kelemahan terbesarnya adalah kurangnya fleksibilitas. Metode Agile sangat fleksibel dan dapat berkembang menjadi produk yang secara signifikan berbeda dari visi awal.

Agile vs Waterfall

Agile vs Waterfall

Waterfall Tradisionalberdasarkan kendala tiga aspek waktu, biaya, dan cakupan. Mengubah salah satu variabel ini memaksa perubahan pada setidaknya satu variabel lainnya. Menghadirkan proyek yang sukses tergantung pada menyeimbangkan variabel-variabel yang saling bertentangan ini. Namun seperti yang kita ketahui, menambah sumber daya pada proyek tidak selalu menghasilkan hasil yang diinginkan. Bahkan, menambah sumber daya di akhir proyek perangkat lunak dapat berdampak negatif.

Pendekatan Agilemengambil pendekatan yang berbeda, membalikkan kendala tiga aspek. Alih-alih memperlakukan cakupan sebagai tetap sejak awal, Agile menetapkan waktu (iterasi) dan biaya (anggota tim) sebagai tetap, lalu menyesuaikan cakupan untuk fokus pada item dengan prioritas tertinggi. Agile mengasumsikan cakupan akan berkembang seiring waktu. Tujuannya adalah memenuhi kebutuhan pelanggan yang paling penting dalam anggaran dan waktu yang ditentukan. Seiring berjalannya proyek, Agile memungkinkan munculnya kebutuhan baru atau penyesuaian prioritas.

Agile vs Waterfall Quality

Kualitas Agile vs Waterfall

Agile atau Waterfall? Lihat Angkanya

Laporan terbaru dari Standish Group mencakup proyek-proyek yang diteliti antara tahun 2013 hingga 2017. Kesuksesan, tantangan, dan kegagalan proyek Agile dan Waterfall ditampilkan di bawah ini. Proyek Agile memiliki kemungkinan sukses sekitar dua kali lipat, dan tiga kali lebih kecil kemungkinannya untuk gagal dibandingkan proyek Waterfall.

Agile vs Waterfall – Project Success Rate

Agile vs Waterfall – Tingkat Keberhasilan Proyek

Payung Agile

Sejak kelahiran Manifesto Agile pada tahun 2001, Agile telah mendapatkan momentum yang signifikan. Faktanya, Agile bukan satu metode tunggal tetapi sebuah pola pikir yang memungkinkan tim dan organisasi untuk berinovasi, merespons dengan cepat terhadap perubahan permintaan, serta mengurangi risiko. Organisasi dapat secara fleksibel mengadopsi berbagai kerangka kerja yang tersedia seperti Scrum, Kanban, Lean, XP, dan lainnya.

Agile Umbrella

Payung Agile

Pendekatan Lean

Organisasi Lean memahami nilai pelanggan dan berfokus pada proses inti mereka untuk terus meningkatkannya. Tujuan akhir adalah memberikan nilai sempurna kepada pelanggan melalui proses penciptaan nilai yang ideal dan bebas limbah.

Pendekatan Lean 5 Langkah

Proses berpikir lima langkah yang memandu implementasi Lean mudah diingat tetapi tidak selalu mudah dijalankan:

  1. Tentukan nilai dari sudut pandang pelanggan akhir.
  2. Peta semua langkah dalam aliran nilai untuk setiap produk, dengan menghilangkan langkah-langkah yang tidak menambah nilai sebisa mungkin.
  3. Pastikan langkah-langkah yang menciptakan nilai mengalir dengan lancar dan berurutan menuju pelanggan.
  4. Biarkan pelanggan menarik nilai dari aktivitas hulu berikutnya sesuai kebutuhan.
  5. Terus-menerus meningkatkan dengan mengidentifikasi aliran nilai, menghilangkan limbah, memperkenalkan aliran dan penarikan, serta mengulangi proses hingga mencapai kesempurnaan — di mana nilai sempurna disampaikan tanpa limbah.
5-Step Lean Approach

Pendekatan Lean 5 Langkah

Pendekatan Scrum

Scrum adalah cara Agile dalam mengelola proyek, biasanya dalam pengembangan perangkat lunak. Menggunakan Scrum untuk pengembangan perangkat lunak Agile sering dianggap sebagai metode — tetapi alih-alih memperlakukan Scrum sebagai metode, sebaiknya dipandang sebagai kerangka kerja untuk mengelola proses.

Scrum Process Canvas

Kanvas Proses Scrum

Pendekatan Kanban

Kanban berarti ‘sinyal visual’ atau ‘kartu’ dalam bahasa Jepang. Pekerja lini Toyota menggunakan Kanban untuk mewakili langkah-langkah dalam proses manufaktur. Sebagai bagian dari Lean, sifat visual yang tinggi dari sistem ini memungkinkan tim berkomunikasi lebih mudah tentang apa yang perlu dilakukan dan kapan. Sistem ini juga menstandarkan alur kerja dan menyempurnakan proses, membantu mengurangi limbah dan memaksimalkan nilai. Seperti papan sprint Scrum, Kanban melacak aktivitas ‘Harus Dikerjakan – Sedang Dikerjakan – Selesai’, tetapi membatasi jumlah tugas ‘Sedang Dikerjakan’ (ditentukan oleh pemimpin tim dan tidak boleh dilampaui).

Kanban Approach

Pendekatan Kanban

Ada empat prinsip inti Kanban:

  • Visualisasikan pekerjaan untuk meningkatkan komunikasi dan kolaborasi.
  • Batasi pekerjaan yang sedang berjalan untuk menghindari rantai tak terbatas dari tugas terbuka yang tidak diprioritaskan.
  • Ukur dan optimalkan aliran — kumpulkan metrik, prediksi masalah di masa depan.
  • Terus-menerus tingkatkan melalui analisis dan umpan balik.

 

Leave a Reply