Metode Agile

Agile software Development adalah salah satu metodologi dalam pengembangan sistem perangkat lunak (software). Kata Agile berarti bersifat cepat, ringan, bebas bergerak, waspada. Kata ini juga digunakan sebagai kata yang menggambarkan konsep model proses yang berbeda dari konsep model-model proses yang pernah ada.

Agile software Development dicetuskan oleh Kent Beck bersama 16 rekannya dengan menyatakan bahwa Agile Software Development adalah cara membangun software dengan melakukan dan membantu orang lain membangunnya sekaligus (Ambler, An Introducation to Agile Modeling, 2001-2008). 

Agile software development methods atau agile methodology merupakan sekumpulan metodologi pengembangan perangkat lunak yang berbasis pada pengembangan iteratif, di mana persyaratan dan solusi berkembang melalui kolaborasi antar tim yang terorganisir (Pressman, 2010). Sementara Sommerville (2011) mengemukakan metode agile merupakan metode pengembangan incremental yang fokus pada perkembangan yang cepat, perangkat lunak yang dirilis bertahap, mengurangi overhead proses, dan menghasilkan kode berkualitas tinggi dan pada proses perkembangannya melibatkan pelanggan secara langsung. 

Dari segi pedoman pengambangan perangkat lunak, agile mempunyai pengertian, bahwa secara aktif dan berkesinambungan, antara pengembang dengan pelanggan harus senantiasa menjalin kerjasama dan komunikasi dengan baik (scrum.co.id).

Dari segi filosofi, agile mempunyai arti antara lain: mendorong demi terciptanya kepuasan pelanggan; mempercepat delivery perangkat lunak secara bertahap (incremental); tim proyek yang ramping dan mempunyai motifasi yang sangat tinggi; minimasi pekerjaan; serta menyederhanakan (birokrasi) keseluruhan proses pembangunan perangkat lunak.

Agile Process mengeliminasi sebagian besar waktu untuk melakukan perencanaan sistem dan berusaha sebisa mungkin mematuhi jadwal delivery sistem yang telah dijanjikan. Requirements yang dibutuhkan secara langsung di-drive oleh pelanggan itu sendiri, dan apabila terjadi perubahan terhadap requirements tersebut, pengembang dituntut mampu beradaptasi dengan perubahan yang terjadi.

12 prinsip agile development methods:

  1. Prioritas utama proses agile adalah memuaskan klien dengan menghasilkan perangkat lunak yang bernilai dengan cepat dan rutin.
  2. Menyambut perubahan kebutuhan, walaupun terlambat dalam pengembangan perangkat lunak. Proses Agile memanfaatkan perubahan untuk keuntungan kompetitif klien.
  3. Menghasilkan perangkat lunak yang bekerja secara rutin, dari jangka waktu beberapa minggu sampai beberapa bulan, dengan preferensi kepada jangka waktu yang lebih pendek.
  4. Rekan bisnis dan pengembang perangkat lunak harus bekerja sama tiap hari sepanjang proyek.
  5. Kembangkan proyek di sekitar individual yang termotivasi. Berikan mereka lingkungan dan dukungan yang mereka butuhkan, dan percayai mereka untuk menyelesaikan pekerjaan dengan baik.
  6. Metode yang paling efisien dan efektif untuk menyampaikan informasi dari dan dalam tim pengembang perangkat lunak adalah dengan komunikasi secara langsung.
  7. Perangkat lunak yang bekerja adalah ukuran utama kemajuan.
  8. Proses agile menggalakkan pengembangan berkelanjutan. Sponsor-sponsor, pengembang-pengembang, dan pengguna-pengguna dapat mempertahankan kecepatan tetap secara berkelanjutan.
  9. Perhatian yang berkesinambungan terhadap keunggulan teknis dan rancangan yang baik meningkatkan Agility
  10. Kesederhanaan (memaksimalkan sumber daya yang tersedia) adalah hal yang amat penting.
  11. Arsitektur, kebutuhan, dan rancangan perangkat lunak terbaik muncul dari tim yang yang dapat mengorganisir diri sendiri.
  12. Secara berkala, tim pengembang berefleksi tentang bagaimana untuk menjadi lebih efektif, kemudian menyesuaikan dan menyelaraskan kebiasaan bekerja mereka.

Mengapa agile dibutuhkan?

Sebelum mengetahui mengapa agile penting dalam proyek pengembangan perangkat lunak, perlu diketahui beberapa alasan mengapa banyak proyek yang tidak sukses. Beberapa alasan yang menyebabkan produk atau proyek tidak sukses antara lain :

  • Sedikitnya keterlibatan user atau customer dalam proyek. 
  • Requirement yang ’buruk’. 
  • Schedule atau jadwal yang tidak realistis. 
  • Sedikitnya testing
  • Minimnya adaptasi dengan perubahan requirement

Bagaimana hubungannya dengan agile?

Secara teori agile dapat menanggulangi masalah-masalah ini berdasarkan dari prinsip-prinsip agile di atas.

Beberapa keunggulan dari agile:

  • Proses Iterative dan Incremental.
  • Requirement dapat berubah sewaktu-waktu.
  • Pelacakan requirement dengan melihat backlog produk.
  • Adanya keterlibatan user secara aktif.
  • Rilis yang lebih cepat dan berkala, fungsi dirilis setiap akhir iterasi.
  • Testing dilakukan setiap saat.
  • Meningkatkan kepuasan kepada klien
  • Pembangunan system dibuat lebih cepat
  • Mengurangi resiko kegagalan implementasi software dari segi non-teknis
  • Jika pada saat pembangunan system terjadi kegagalan,kerugian dari segi materi relative kecil.

Sumber dari:

https://media.neliti.com/media/publications/284725-sistem-informasi-pengajuan-kredit-berbas-a987da1c.pdf

https://www.dictio.id/t/apakah-yang-dimaksud-dengan-agile-software-development/15199

https://id.wikipedia.org/wiki/Agile_Development_Methods

https://mtp.co.id/project/mengenal-lebih-jauh-tentang-agile-development-dalam-dunia-it/

https://www.academia.edu/8183273/AGILE_DEVELOPMENThttps://www.academia.edu/29370530/Agile_Development_Methods

5 Comments

  1. Dedi Martono

    Metode ini sangat cocok untuk pembuatan software aplikasi karena langsung berinteraksi dengan si pengguna….informasi yang sangat beanfaat di cermi…terimakasih bu wati atas share ilmunya….semangat

  2. masaeni

    Keren bu wati, tiap hari ada cermi nya. Informasi nya bermanfaat, terutama bagi yg melakukan penelitian menggunakan metode agile. Semangat bu wati

Leave Comment

error

Enjoy this blog? Please spread the word :)

Facebook
YouTube
Instagram