13 Juli, 2024

Sejarah & Prinsip Agile by Hestya Patrie

 

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