Mengenal Metodologi System Development Life Cycle (Agile) — Part 2

Gema Chrisdwianto
Arunatech
Published in
6 min readMar 31, 2023

Melanjuti artikel di part 1, di part 2 ini akan bahas lebih lanjut bahas beberapa macam metode agile yang dapat diterapkan

Apa Saja Metode Agile?

Modern Agile

1. Scrum Methodology

Scrum adalah metode agile yang berfokus pada pengembangan software kompleks. Pengerjaan software pada Scrum dibagi menjadi beberapa proses kecil yang disebut dengan sprints.

Dalam satu sprint, biasanya akan berfokus menyelesaikan satu fitur tertentu. Misalnya, sedang mengembangkan aplikasi dompet digital Aruna Heroes dan berfokus menambahkan fitur isi saldo.

Supaya Scrum berjalan dengan lancar, setiap anggota tim harus diberikan peran, yaitu:

  • Product Owner — bertugas memaksimalkan nilai bisnis dari software yang dikembangkan. Plus, ia juga memastikan bahwa daftar fitur produk telah disusun dengan baik.
  • Scrum Master — bertugas memfasilitasi dan memastikan bahwa tim sudah paham dengan proses Scrum. Selain itu, ia juga akan berkoordinasi dengan Product Owner agar bisa memaksimalkan hasil produk dan ROI (Return of Investment).
  • Development Team — sekumpulan orang yang memiliki skill tertentu untuk menjalankan project. Misalnya, programmer, designer, writer, dan sebagainya.

2. Scaled Agile Framework (SAFe)

Scaled Agile Framework (SAFe) ditujukan bagi perusahaan besar atau enterprise yang ingin menerapkan metode Agile.

Perusahaan besar cenderung kaku dengan struktur divisi/tim yang banyak. Tak jarang, pengambilan keputusan terkait project bisa memakan waktu lama karena perlu koordinasi antar divisi.

SAFe adalah solusi dari masalah tersebut. Dengan SAFe, kerjasama antar divisi saat menjalankan project akan lebih efektif dan fleksibel.

Sebagai contoh, LEGO menerapkan SAFe pada 20 tim produknya. Salah satu caranya adalah dengan mengadakan meeting antar tim setiap delapan minggu sekali.

Pada meeting tersebut, mereka saling menunjukkan hasil, menjelaskan rencana, mengukur risiko, dan sebagainya. Artinya, semua keputusan penting diambil saat itu juga tanpa harus melalui birokrasi yang rumit.

3. Lean Software Development (LSD)

Lean Software Development (LSD) adalah metode Agile yang mempunyai satu tujuan: mengembangkan software dengan sumber daya sehemat mungkin.

Caranya, dengan merilis produk dengan fitur terbatas yang disebut dengan Minimum Viable Product (MVP).

MVP memiliki fitur standar dan terus dikembangkan sesuai feedback konsumen. Dengan begitu, pengembangan akan menghemat sumber daya karena tak perlu menambahkan fitur yang belum tentu dibutuhkan.

LSD tentu sangat cocok diterapkan pada startup atau bisnis baru yang masih mempunyai sumber daya terbatas dalam pengembangan produk.

4. Kanban

Kanban adalah metode Agile yang menggunakan visual dalam prosesnya. Hal ini membuat flow kerja lebih jelas karena bisa memantau setiap aktivitasnya.

Kanban Board

Visual yang digunakan metode Kanban disebut sebagai Kanban Board. Umumnya, Kanban Board dibagi menjadi tiga tahap, yaitu:

  • To Do — aktivitas yang akan dikerjakan.
  • In Progress — aktivitas yang sedang dikerjakan.
  • Done — aktivitas yang sudah selesai.

Ketiga tahap di atas membuat semua anggota tim bisa mengetahui sampai mana proses pengembangannya dengan mudah dan cepat.

Kanban Board bisa berupa papan tulis biasa atau papan virtual seperti Trello dan Quire. Selanjutnya tinggal menyesuaikannya dengan kebutuhan dan kemampuan tim.

5. Extreme Programming (XP)

Extreme Programming (XP) adalah metode agile yang lebih berfokus ke aspek teknis pengembangan. Tujuannya, agar software yang dihasilkan mempunyai kualitas tinggi, sehingga kemampuan tim pengembangnya juga meningkat drastis.

Itulah kenapa metode ini disebut dengan “extreme.” Sebab, untuk mencapai tujuan tersebut, tim harus bekerja dengan extra keras dan dipaksa keluar dari zona nyaman.

Agar mendapat gambaran lebih jelas, berikut penjelasan proses XP yang harus jalankan:

  • Planning — tim developer dan konsumen bertemu untuk merencanakan apa yang akan dikerjakan di setiap iterasinya.
  • Designing — mulai mendesain bentuk dasar software yang sederhana.
  • Coding — dimulainya proses coding secara intensif oleh tim. Di sini, anggota tim juga saling me-review coding dari anggota tim lainnya.
  • Testing — mengetes software berulang kali apakah berfungsi dengan baik (unit tests) dan sesuai kebutuhan konsumen (acceptance tests)
  • Listening — berdiskusi dan mendengarkan feedback dari konsumen. Maka dari itu, konsumen harus selalu tersedia on-site dalam XP.

Dengan mengikuti proses di atas, tim tentu lebih bisa memberikan hasil maksimal.

6. Crystal Methodology

Crystal Methodology adalah metode Agile yang lebih berfokus ke kondisi tim yang mengerjakan, alih-alih ke proses atau tools-nya. Mulai dari interaksi tim, komunikasi, feedback, dokumentasi, dan sebagainya.

Dengan Crystal Methodology, pengembangan software akan lebih optimal karena disesuaikan dengan kondisi tim.

Sebagai contoh, bila tim kecil tidak perlu banyak dokumentasi karena setiap perubahan bisa langsung dikomunikasikan. Sebaliknya, kalau tim sudah besar, perlu dokumentasi yang jelas dan dapat diakses oleh semua anggota tim.

Crystal Methodology sendiri mempunyai tujuh prinsip utama untuk mendukung pengembangan software secara tim dengan lancar.

  • Frequent DeliveryDiharuskan sering merilis dan mengetes kode ke user. Tujuannya, agar terhindar dari menciptakan software yang tak dibutuhkan.
  • Reflective ImprovementTak peduli bagaimana kualitas produk yang diciptakan, pasti ada aspek yang bisa ditingkatkan oleh tim.
  • Osmotic CommunicationKomunikasi antar anggota tim seolah mereka berada di satu ruangan yang sama. Artinya, semua anggota bisa mendengar dan mendapat informasi yang sama.
  • Personal SafetyAnggota tim bisa mengungkapkan pendapat tanpa rasa takut atau mendapat ancaman. Baik itu tentang masalah atau menyampaikan ide baru.
  • Focus on Work Tiap anggota tim sebaiknya paham dan bisa melakukan pekerjaannya dengan baik. Jadi, mereka bisa fokus untuk bekerja sama mencapai tujuan.
  • Easy Access to Expert UsersAnggota tim bisa dengan mudah bertanya atau meminta pendapat dari user yang ahli di bidangnya.
  • Technical ToolingTim sebaiknya menggunakan tools pendukung seperti test otomatis, manajemen konfigurasi, dan integrasi rutin. Tujuannya, agar kesalahan bisa cepat dideteksi.

7. Dynamic Systems Development Method (DSDM)

Dynamic Systems Development Method (DSDM) adalah metode agile yang mengutamakan keterlibatan semua anggota tim secara berlanjut.

DSDM juga mempunyai filosofi utama yaitu, “menciptakan software yang mempunyai manfaat nyata ke bisnis.” Filosofi ini juga didukung oleh delapan prinsip yang harus dijalankan agar bisa mencapai tujuan tersebut:

  • Fokus pada kebutuhan bisnis Software yang dikerjakan haruslah mempunyai manfaat yang jelas pada bisnis.
  • Selesaikan tepat waktu — Pengembangan software harus mempunyai tanggal penyelesaian yang jelas.
  • Kolaborasi — Tim harus melibatkan semua stakeholder dari awal sampai akhir.
  • Kualitas — Kualitas akhir software yang akan dikerjakan harus sudah disetujui sejak awal.
  • Ciptakan pondasi yang kuat — Tim harus menciptakan desain awal agar paham software seperti apa yang akan dikembangkan.
  • Kembangkan dengan bertahap — Diharuskan mampu menerapkan perubahan dari feedback pada setiap iterasinya.
  • Komunikasi yang jelas — Usahakan melakukan meeting yang rutin dimana setiap anggota bisa menyampaikan masalah atau kendala.
  • Tunjukkan kepemimpinan — Team leader harus memastikan bahwa rencana dan informasi perkembangan bisa diakses siapapun dengan mudah.

8. Feature Driven Development (FDD)

Seperti namanya, Feature Driven Development (FDD) adalah metode Agile yang berfokus untuk menyelesaikan satu fitur.

Biasanya, sebelum pengembangan software dimulai diharuskan menulis daftar fitur apa saja yang akan dimasukkan. Lalu, harus menyelesaikan satu fitur dari daftar tersebut di setiap iterasinya. Scara tidak langsung, metode ini mirip dengan Scrum.

Bedanya setiap iterasi pada FDD biasanya hanya berlangsung selama 2 sampai 10 hari. Sedangkan iterasi pada Scrum umumnya dua sampai empat minggu lamanya. Maka dari itu, fitur pada FDD memiliki skala yang kecil dan lebih spesifik agar bisa diselesaikan tepat waktu. Misalnya, buat tombol login atau ganti ikon pencarian.

Lengkapnya, berikut lima langkah yang harus jalankan saat menerapkan FDD:

  • Mengembangkan model dasar
  • Menulis daftar fitur
  • Merencanakan pengembangan setiap fiturnya
  • Mendesain fitur
  • Membangun sesuai fitur

Itu dia beberapa contoh metode agile yang dapat di terapkan. Untuk mengetahui kelebihan dan kekurangan metode agile, selebihnya akan dilanjutkan di artikel part 3.

--

--