Tujuan, Manfaat, Kelebihan, dan Kekurangan dari Agile Software Development


Setelah beberapa seri kita membahas soal Agile Software Development, tibalah kita pada tujuan, manfaat, kelebihan, dan kekurangan dari Agile SDLC. Ini berguna sekali untuk kalian yang masih ragu apakah ingin menggunakan Agile pada pengembangan software kalian. Mungkin dengan adanya penjelasan berikut, akan membantu memudahkan kalian dalam membuat keputusan itu.


Tujuan

High Value & Working App System

Tujuan dari metode pengembangan Agile yang pertama yakni untuk menciptakan atau menghasilkan sebuah peranngkat lunak atau software dengan kualitas dan nilai jual yang tinggi namun biaya pembuatannya tetap dapat ditekan.

Iterative, Incremental, & Evolutionary

Model agile ini sendiri dilakukan secara iteratif, berulang-ulang, dan dapat mengalami perubahan jika diperlukan. Bisa dibilang, metode ini cukup flexible dan dapat digunakan untuk pengembangan yang memiliki waktu relatif singkat.

Cost Control & Value (Driven Development)

Suatu perangkat lunak dapat dikembangkan dan akan terus menyesuaikan kebutuhan para penggunanya. Dalam pengembangannya, para tim pengembang berupaya dalam mengontrol biaya sekaligus waktu yang dikeluarkan dalam proses mengembangkan perangkat lunak yang menyesuaikan kebutuhan para pengguna.

High Quality Production

Produk perangkat lunak yang dihasilkan tetap dijaga kualitasnya supaya konsisten dan terjaga dengan baik sekalipun biaya dan waktu yang digunakan sebisa mungkin diminimalkan atau ditekan.

Flexible & Risk Management

Yang dimaksud dengan fleksibel di sini adalah pertemuan yang dilakukan oleh klien kapan saja, akibat dari terjaganya fungsionalitas suatu perangkat lunak. Sedangkan untuk risk disini adalah dapat meminimalisir terjadinya kesalahan pada program atau produk sebelum dilakukan deploy. 

Collaboration

Kolaborasi disini dilakukan oleh setiap tim untuk mendiskusikan dan membicarakan feedback yang diberikan oleh klien.

Self Organizing / Self Managing Teams

Tujuan terakhir adalah developer dipersilakan untuk memanajemen sendiri urusan pengembangan perangkat lunak. Sementara itu manajer sendiri bertugas sebagai penghubung antara pengembang dan klien sehingga dapat mengurangi terjadinya miss communication.

Manfaat

Manfaat yang didapatkan dari sisi developer adalah peningkatan produktivitas. Karena setiap tim dapat mengerjakan setiap tugas tanpa harus menunggu tim lain untuk menyelesaikan tugasnya. Selain itu, developer menjadi memiliki banyak waktu untuk berkembang sesuai dengan keinginan mereka.

Dari pihak vendor, penggunaan agile ini dapat menghemat pengeluaran serta dapat berfokus pada upaya pengembangan fitur dan peningkatan efisiensi, dengan begitu pengguna tahu jika vendor memberikan respon terhadap permintaan pengembangan.


Kelebihan

  • Produk yang dihasilkan berkualitas unggul. Hal ini dikarenakan dalam manajemen Agile, pengujian merupakan bagian terintegrasi dalam pelaksanaan proyek. Sehingga hal tersebut menghasilkan produk akhir yang lebih baik.
  • Kepuasan pelanggan menjadi hal prioritas. Kepuasan pelanggan terhadap produk yang diinginkan akan membuat mereka kembali menggunakan Agile di proyek lainnya.
  • Agile memungkinkan terjadinya kontrol proyek yang lebih baik lagi karena didukung dengan adanya transparansi.
  • Pengembangan perangkat lunak menjadi lebih cepat tanpa harus menggunakan resources yang besar.
  • Mengurangi tingkat kegagalan proyek. Adanya sprint yang dilakukan tiap harinya membuat metodologi Agile ini mampu untuk mendeteksi dan mengatasi masalah secepat mungkin. Sehingga mengurangi tingkat resiko kegagalan proyek.
  • Menambah produktivitas tim
  • Menghemat biaya.
  • Dapat melakukan review pelanggan mengenai software yang dibuat lebih awal.
  • Perubahan dengan cepat ditangani.

Kekurangan

  • Agile sebaiknya diterapkan pada jumlah tim yang kecil. Sehingga Agile menjadi kurang tepat apabila diterapkan pada tim yang memiliki anggota lebih dari 20 orang.
  • Sulit memprediksi resources apa yang dibutuhkan di awal. Kesepakatan yang terjadi ketika menggunakan metode Agile ini adalah kita tidak bisa tahu secara pasti produk apa yang akan jadi pada tahap akhir. Hal ini menimbulkan ketidakjelasan dari sumber daya baik berupa biaya, waktu, dan sumber daya manusia yang dibutuhkan.
  • Terbatasnya dokumentasi yang dihasilkan karena lebih berfokus pada software yang bekerja dengan baik.
  • Pengukuran yang sulit dilakukan karena Agile menerapkan perbaikan terus-menerus. Sehingga untuk melakukan pengukuran perlu untuk melihat proses secara keseluruhan.


Komentar

Postingan populer dari blog ini

Apa Itu Software Development Life Cycle (SDLC)?

Arsitektur Aplikasi Mobile: Diagram dan Langkah-langkah Awal