Agile development erat kaitannya dengan metodologi dan proses pengembangan perangkat lunak, metodologi pengembangan perangkat lunak sendiri adalah sebuah metodologi yang digunakan untuk membuat struktur, rencana, dan kontrol pengerjaan suatu proyek sedangkan proses pengembangan perangkat lunak adalah model-model dan metodologi yang digunakan untuk mengembangkan suatu perangkat lunak.

Agility for a software development organization, means the ability to adapt and react quick and effectively and appropriately to changes in its environment and to demands imposed by this environment (Abrahamsson, P., Salo, O., Ronkainen, J., & Warsta, J., 2002).

  • Agile development Methods : sebagai sekelompok metodologi pengembangan perangkat lunak yang didasarkan pada prinsip-prinsip yang sama atau pengembangan sistem jangka pendek yang memerlukan adaptasi cepat dari pengembang terhadap perubahan dalam bentuk apapun.
  • Agile development Methods : metodologi manajemen pembangunan perangkat lunak yang mempunyai adaptabilitas yang tinggi terhadap perubahan yang terjadi di setiap elemen-elemennya. Salah satu ciri dari sebuah Agility adalah adanya proses iterasi yang terus menerus dan evaluasi yang terus berjalan pada setiap proses yang dilewatinya.

Agility dalam pengembangan perangkat lunak diartikan sebagai kemampuan untuk beradaptasi dan bereaksi secara cepat dan efektif terhadap perubahan serta meminimalisir dampak terhadap perangkat lunak yang sedang dibangun. Kolaborasi antara tim pengembang dengan klien menjadi hal yang penting, klien dianggap sebagai anggota tim. Fleksibilitas ditawarkan kepada klien kaitannya dengan kesadaran dan pengetahuan pelanggan tentang apa yang dia inginkan.

 

Gambar 1. Diagram Agile development Method

 

Dicetuskan oleh Kent Beck dan 16 orang lainnya (Agile Alliance) pada tahun 2001: Agile development juga dapat didefinisikan dalam empat nilai atau sering disebut sebagai agile manifesto, di antaranya :

  1. Interaksi dan personal, dibutuhkan interaksi yang baik antara anggota atau personal pengembang karena tanpa adanya hal tersebut pengembangan perangkat lunak tidak akan berjalan dengan baik
  2. Perangkat lunak yang berjalan, hal ini berfungsi pada saat melakukan meeting (demonstrasi) kepada klien. Perangkat lunak yang masih dalam proses akan lebih berguna dari sekedar dokumentasi
  3. Kolaborasi dengan klien, ini merupakan ciri dari agile development dimana mengutamakan keterlibatan dan kolaborasi dari klien
  4. Respon terhadap perubahan, sesuai dengan namanya agile development berfokus terhadap kecepatan respon tim ketika klien menginginkan perubahan saat proses pembuatan perangkat lunak