Semua yang baik pasti ada buruknya, inilah kata yang cukup tepat untuk mendeskripsikan topik yang ingin saya share kali ini dimana agile bukanlah suatu yang all-around dan menjadi solusi dari semua permasalahan, namun tetap terdapat hal negatif yang diberikan.
Agile merupakan metodologi yang diperkenalkan pada tahun 2001, yang menciptakan sebuah "Agile Manifesto" dengan 12 prinsip developmentnya. Agile memiliki kemampuan dalam memperbaiki komunikasi, kolaborasi, open-mindedness, fleksibilitas, dan kepentingan dari software dalam pengembangan sebuah aplikasi. Agile merupakan metode pengembangan incremental dimana yang bergerak dengan siklus rapid yaitu dengan sebuah sprint. Output yang diberikan adalah produk rilis yang kecil dan bertahap. Idealnya setiap tim berkerja dengan waktu yang singkat. Metode ini terbukti baik pada pengembangan yang kritis terhadap waktu dimana customer bersedia untuk berkomunikasi selama proses pengembangan dan memiliki tim yang adaptif terhadap respon dan perubahan kritik dari customer.
Menurut literatur yang diambil dari tulisan Adam Fridman, founder dari Mabbly,
agile memiliki keuntungan yang cukup menarik yaitu:
1. Meningkatkan revenue dengan memberikan rilis pertahap dalam pengembangan produk.
2. Produk lebih cepat menyentuh pasar, mengeluarkan rilis cepat dan reguler, dan pengguna akan mendapatkan hasil dari investasinya lebih cepat.
3. QA dengan testing terintegrasi dan inspeksi yang reguler selama pengembangan.
4. Meningkatan visibilitas dari kunci stakeholders selama pengembangan agile dan meningkatkan partisipasi dari usaha yang kooperatif dan colaboratif.
5. Mengurangi kemungkinan masalah selama tim mengidentifikasi dan membenarkan semua isu dengan cepat dan lebih awal.
Walaupun demikian, agile tidaklah sempurna, tetap terdapat kekurangannya. Dengan pengembangan agile, dengan mudah untuk kehilangan keseimbangan. Tim harus mengadopsi semua prinsip dari agile, kemudian product management dan project team harus paham semua kebutuhan yang diberikan. Kemudian harus diketahui bahwa permintaan dapat secara cepat menjadi lubang kejatuhan dari pengembangan software, menurut Brian Lawley, CEO dari 280Group.
Berikut merupakan kelemahan dari agile:
1. Sulit diprediksi
Untuk beberapa deliverable pengembangan software, pengembang tidak dapat menghitung secara penuh effort yang dibutuhkan selama pengembangan. Tim yang baru dengan agile akan takut dengan ketidakpastian itu. Ketakutan tersebut dapat berujung kepada frustrasi, praktis yang buruk, dan seringkali menyebabkan keputusan yang buruk. Sisi lainnya, dengan waterfall pengembangan lebih mudah untuk dihitung usaha, waktu, dan cost untuk membuat produk final.
2. Butuh waktu dan komitmen lebih
Tester, pengguna, dan pengembangan harus secara konstan bekerja dan berinteraksi satu sama lain. Hal ini menyangkut banyak percakapan antarmuka dan komunikasi yang membutuhkan banyak waktu dan energi.
3. Kurangnya dokumentasi
Karena requirements dari software dikarifikasikan secara cepat dan searus dengan pengembangan, dokumentasi jadi kurang detail. Hal ini menyebabkan ketika ada anggota baru ikut ke dalam tim, mereka membutuhkan waktu yang banyak untuk belajar. Hal tersebut akan menjadi penghalang dari pengembangan.
4. Project akan lebih mudah untuk keluar jalur
Metode ini membutuhkan planning yang sedikit untuk memulainya dan mengasumsi bahwa kebutuhkan pengguna dapat terus berubah. Ketika feedback dari pengguna kurang jelas, pengembang dapat fokus pada area yang salah dalam pengembangan. Kemudian berpotensi dalam peluasan scope pengembangan yang menciptakan pengembangan yang tiada habisnya.
Kesalahan dalam pengembangan agile umumnya adalah:
1. Lemahnya struktur tim
2. Kurangnya planning
3. Testing yang tidak efisian
4. Mengidahkan feedback pengguna
Demikian salah satu bahasan literatur agile yang kita bahas, menarik bukan?
0 komentar:
Post a Comment