Dalam artikel scrum kita telah sedikit membahas tentang agile project management di mana scrum merupakan framework dari agile yang populer digunakan selain kanban.  Dalam artikel tersebut kami lebih memfokuskan membahas ritual-ritual yang dijalani saat kita menggunakan scrum tapi justru kurang memberi pengertian tentang apa agile itu sendiri. Oleh karena itu, kami berharap dalam artikel ini kami berharap kami memberikan gambaran umum tentang agile kepada semua kalangan termasuk yang belum memiliki pengalaman dalam software development sekalipun.

 

Apa Itu Agile?

Agile adalah metodologi dalam pengembangan software dengan proses-proses kecil yang berulang-ulang atau yang sering disebut dengan iterasi. Berbeda dengan metodologi waterfall di mana kita memiliki alur linear awal hingga akhir yang tak bisa dipotong atau diubah di tengah proses. Prinsip dari agile sendiri adalah fleksibel terhadap perubahan.

 

 

Agile sendiri lahir dari perusahaan Jepang Toyota pada tahun 70’an di mana pada tahun tersebut produksi mobil menerapkan sistem waterfall. Jadi memang agile sebenarnya tidak murni milik perusahaan yang bergerak di bidang software development saja. Sebelum Toyota menerapkan metode yang disebut Toyota Production System pada dekade tersebut, mereka merekrut W. Edwards Deming untuk melatih ratusan managernya. W. Edwards Deming merupakan seorang engineer yang menyempurnakan metode siklus Plan-Do-Study-Act (PDSA).

 

Agile Manifesto

We are uncovering better ways of developing software by doing it and helping others do it.

Through this work we have come to value:

Individuals and interactions over processes and tools

Working software over comprehensive documentation

Customer collaboration over contract negotiation

Responding to change over following a plan

 

Agile memiliki manifesto seperti yang tertulis di atas. Metode agile mengedepankan individu dan interaksi dibanding proses dan alat, software yang terus dikerjakan dibandingkan dokumentasi yang komprehensif, kolaborasi dengan pelanggan dibandingkan negosiasi kontrak, serta peka terhadap perubahan dibanding selalu mengikuti rencana. Walaupun begitu, metode ini tidak serta-merta meninggalkan semua yang berada di sebelah kanan dari manifesto. Akan tetapi jika dihadapkan pada kondisi harus memilih satu di antara dua, maka yang dipilih adalah yang sebelah kiri.

 

Contoh Penerapan Agile

Agile memang lebih mudah diterapkan pada proyek pengembangan software karena pada dasarnya sebuah produk software atau aplikasi merupakan kumpulan dari beberapa fitur-fitur kecil yang digabungkan jadi satu.  Itulah mengapa metode ini populer di kalangan start-up digital. Akan tetapi seperti yang sudah dibahas sebelumnya, agile justru lahir dari produsen mobil di mana pengguna melihat produk mobil secara keseluruhan. Untuk itu, kami akan memberikan contoh penerapan agile dalam pengembangan mobil karena mobil lebih familiar untuk semua kalangan.

Katakanlah kita ingin membuat sebuah mobil. Pada metode waterfall kita membuat list tentang apa yang dibutuhkan oleh pengguna dari mobil tersebut mulai dari jenis mobil,  kapasitas penumpang, tenaga mesin, sistem transmisi, sistem pengendalian, dan sebagainya. Lalu kita akan mendesain mobil secara keseluruhan mulai dari chasis, body, mesin, hingga interior. Setelah keseluruhan desain diselesaikan mungkin kita akan meminta persetujuan dari klien yang memesan mobil tersebut dan kemudian memproduksi bagian-bagiannya satu persatu.

Proses perakitan pun dimulai, kita merangkai bagian-bagian tersebut hingga menjadi sebuah unit mobil. Kita kembali mengkonsultasikan produk tersebut ke klien. Di tahap inilah sering muncul permasalahan klasik metode waterfall. Di saat klien kurang puas dengan katakanlah satu bagian saja, misalnya bagian suspensi. Kita harus membongkar atau bahkan mendesain ulang keseluruhan mobil termasuk rangka dan bodi.

Di dalam metode Agile dengan menggunakan contoh yang sama, setelah membuat daftar tentang apa yang dibutuhkan target pengguna dari sebuah mobil saatnya memilah fitur tersebut untuk diprioritaskan semisal suspensi yang nyaman pada urutan pertama. Maka kita akan memfokuskan pada desain rangka dan damper (shock absorber) dan memproduksi part tersebut. Lalu kita akan meminta klien untuk mengetes-nya walaupun kita belum membuat mesin ataupun body-nya. Bahkan jika perlu, kita bisa memasang bodi atau mesin dari produk yang sudah pernah dibuat sebelumnya baik oleh kita sendiri atau produsen lain agar mobil bisa berjalan terlebih dahulu selama pengetesan. Jika ada ketidakpuasan dari klien, kita tidak usah repot-repot membongkar desain dari keseluruhan mobil. Setelah mendapat persetujuan dari klien, maka kita akan fokus untuk menyediakan fitur selanjutnya. Proses ini berjalan berulang-ulang hingga semua kebutuhan pengguna atas sebuah mobil tercukupi. Jika profesi Anda berkecimpung dalam pengembangan software atau aplikasi tentu Anda sudah mendapatkan gambaran singkat contoh agile dan waterfall dalam proyek yang Anda jalankan.

***

Jadi pada intinya, perbedaan metode agile dan waterfall terletak pada proses di mana agile lebih melibatkan klien / kustomer dalam  menyempurnakan bagian-bagian kecil dari sebuah produk. Sesuai dengan manifesto agile yang sudah kami sebutkan sebelumnya, produk yang diciptakan melalui metode ini cenderung akan lebih bisa menyesuaikan dengan perubahan-perubahan yang disebabkan oleh tren maupun inovasi baru. Memang penerapan metode ini tidak semudah teorinya. Perusahaan sekelas Toyota saja butuh waktu dan effort yang lebih untuk menerapkan metode agile ini dengan melatih karyawannya di level perencana maupun pelaksana.

Jika Anda ingin menguasai penerapan agile sesuai dengan PMBOK 6, Anda dapat mengikuti class of the month dengan materi “Agile Practice Guide in PMBOK 6” oleh Inixindo Jogja.