Sejarah & Prinsip Agile
Ditulis
ulang oleh Hestya Patrie
Menurut kamus
Oxford, agile adalah kemampuan untuk bergerak dengan cepat dan
mudah. Sehingga agile
memiliki pengertian bersifat cepat, ringan, bebas bergerak, dan waspada. Pada arti yang lain, agile artinya
kemampuan untuk berpikir dengan cara yang cepat dan cerdas. Fokusnya
lebih mengarah pada tujuan yang ingin dicapai, daripada metode yang tepat
digunakan. Dalam bahasa yang lebih praktis, agile
dapat disepadankan dengan kata cekatan.
Sejarah Agile
Metode Agile muncul
sebagai tanggapan terhadap kekakuan dan keterbatasan model pengembangan
Waterfall yang linier dan berurutan, yang dominan sebelum era Agile. Meskipun
model ini memiliki kelebihan dalam hal perencanaan dan dokumentasi, model ini
memiliki kelemahan signifikan dalam menghadapi perubahan kebutuhan yang sering
terjadi selama siklus hidup proyek.
Pada
dekade akhir menjelang tahun 2000, para praktisi pengembangan perangkat lunak
mulai mencari cara yang lebih fleksibel dan responsif dalam menangani proyek
perangkat lunak. Kebutuhan untuk beradaptasi dengan perubahan yang cepat dan
tidak terduga mendorong lahirnya metodologi yang lebih iteratif dan
inkremental.17 tokoh dari pergerakan ini yang adalah penggagas dari berbagai
framework pengembangan perangkat lunak berkumpul di The Lodge at Snowbird Ski Resort at The Wasatch Mountains di
negara Bagian Utah,
pada 11-13 Februari tahun 2001. Mereka mencari cara yang lebih fleksibel dan
responsif dalam menangani proyek perangkat lunak.
Nama-nama
besar yang hadir diantaranya adalah Ken Black, Ron Jeffrie & Martin Fowler
perintis eXtreme Programming (XP), hadir juga Ken Schwaber, Jeff Sutherland
& Mike Beedle yang mengembangkan SCRUM, termasuk juga Alistair Cockburn
yang dikenal dengan metoda Crystal.Mereka mempunyai persepsi yang sama bahwa
ada yang kurang pas di dalam proses pengembangan perangkat lunak. Pada model
Waterfall misalnya, jeda waktu yang panjang dari saat penentuan Requirement sampai ke Delivery sering berakibat pada
pembatalan proyek. Belum lagi sulitnya mengakomodasi perubahan yang timbul
karena lamanya jangka waktu proyek. Kebutuhan untuk beradaptasi dengan
perubahan yang cepat dan tidak terduga mendorong lahirnya metodologi yang lebih
iteratif dan inkremental, satu kata yang disepakati bersama adalah agile.
Pada dasarnya, Metoda
Agile adalah pendekatan dalam pengembangan proyek perangkat lunak, yang
menekankan pada iterasi, fleksibilitas, dan kolaborasi antar anggota tim.
Publikasi "Manifesto for Agile Software Development" pada tahun 2001
menandai kebangkitan era agile. Manifesto ini menetapkan 4 (empat) nilai utama
dan 12 (dua belas) prinsip yang mencerminkan filosofi di balik pendekatan
Agile.
Manifesto &
Prinsip-prinsip Agile
Manifesto
Agile adalah sebuah pernyataan nilai dan prinsip yang mendasari pendekatan
Agile. Manifesto ini menekankan 4 (empat) nilai utama yaitu:
1. Individu dan interaksi lebih
diutamakan daripada proses dan alat.
2. Perangkat lunak yang berfungsi lebih
diutamakan daripada dokumentasi yang komprehensif.
3. Kolaborasi dengan pelanggan lebih
diutamakan daripada negosiasi kontrak.
4. Merespons perubahan lebih diutamakan
daripada mengikuti rencana.
Selain empat nilai
utama, itu, Manifesto Agile juga mencakup 12 (dua belas) prinsip yaitu:
1.
Kepuasan
Pelanggan:
Bagian
perangkat lunak yang berfungsi diserah terimakan secara periodik.
2.
Adaptasi
terhadap Perubahan:
Perubahan
persyaratan di setiap tahap pengembangan
diterima untuk memberikan keunggulan kompetitif.
3.
Pengiriman
Sering:
Penyerahan
perangkat lunak dalam siklus yang pendek, agar
lebih cepat dan responsif terhadap perubahan.
4.
Kolaborasi
Erat:
Pelanggan
adalah bagian dari tim pengembang
5.
Individu
Termotivasi:
Lingkungan
yangg mendukung & kepercayaan pada tim adalah kunci keberhasilan.
6.
Komunikasi
Langsung
Komunikasi atap muka tanpa syarat
7.
Perangkat
Lunak yang Berfungsi:
Ukuran utama
kemajuan adalah perangkat lunak yang berfungsi.
8.
Pengembangan
Berkelanjutan:
Cepat &
berkesinambungan tanpa jeda.
9.
Keunggulan
Teknis:
Fokus pada
keunggulan teknis dan desain yang baik.
10.Kesederhanaan:
Bagaimana
menghilangkan sejumlah pekerjaan yang tidak perlu
11.Tim Mandiri:
Arsitektur
& Disain terbaik muncul dari tim yang mandiri.
12.Refleksi
dan Adaptasi:
Efektifitas
akan hadir, jika Tim secara periodik mengevaluasi dan menyesuaikan perilaku.
Kesimpulan
Agile bukan hanya sekadar metodologi, tetapi lebih
merupakan filosofi yang mengajarkan kita bagaimana beradaptasi dengan perubahan
dan terus meningkatkan kemampuan bekerja secara kolaboratif. Dalam dunia bisnis
yang dinamis, menerapkan pendekatan agile dapat menjadi pembeda antara maju
mengikuti perubahan atau tertinggal. Dengan nilai-nilai dan prinsipnya yang
kuat, agile mendorong organisasi untuk fokus pada perbaikan nilai secara
periodik, respon cepat terhadap umpan balik, dan penciptaan solusi inovatif.
Seiring dengan berjalannya waktu, agile bukan hanya
tetap relevan, tetapi terus berevolusi untuk memenuhi tuntutan lingkungan
bisnis yang selalu berubah. Oleh karena itu, memahami dan menerapkan agile
bukan lagi pilihan, tetapi kebutuhan bagi organisasi yang ingin tetap
kompetitif dan inovatif dalam era digital ini.
Referensi:
Buku
1. Cohn,
M. (2005). Agile estimating and planning. Prentice Hall.
2. Cohn,
M. (2004). User stories applied: For agile software development.
Addison-Wesley Professional.
3. Leffingwell,
D. (2011). Agile requirements: Discovering what your users need.
Addison-Wesley Professional.
4. Leffingwell,
D. (2011). Agile software requirements: Lean requirements practices for
teams, programs, and the enterprise. Addison-Wesley Professional.
Artikel dan Jurnal
1. Regnell,
B., Berntsson Svensson, R., & Nilsson, Å. G. (2008). The role of
requirements engineering in agile development: An empirical study. Journal
of Systems and Software, 81(6), 872-884. https://doi.org/10.1016/j.jss.2008.03.021
2. Petersen,
K., & Wohlin, C. (2009). Agile requirements engineering practices: An
empirical study. Journal of Empirical Software Engineering, 14(3),
297-327. https://doi.org/10.1007/s10664-009-9104-8
3. Harrison, R., Chaudron, M. R. V., & Avgeriou, P. (2007). Managing requirements for agile projects: A methodology perspective. IEEE Software, 24(6), 73-81. https://doi.org/10.1109/MS.2007.156
Sumber Online
1. Agile
Alliance. (n.d.). Retrieved July 12, 2024, from https://www.agilealliance.org
2. Scrum.org.
(n.d.). Retrieved July 12, 2024, from https://www.scrum.org
3. Scaled
Agile Framework (SAFe). (n.d.). Retrieved July 12, 2024, from https://www.scaledagileframework.com