Kiriman Ditandai: Iterative and Incremental


19
Aug 09

Pengantar

Fakta: sebagian proyek perangkat lunak terlambat, melebihi anggaran, dan tidak dapat memenuhi kebutuhan pasar ketika diluncurkan. Sepertinya ini telah menjadi masalah klasik rekayasa perangkat lunak sejak dahulu kala. Apa yang menyebabkan ini? Banyak faktor, salah satunya adalah kesalahan dalam memilih metodologi.

Ada berbagai jenis metodologi yang digunakan dalam rekayasa perangkat lunak, salah satunya adalah agile. Agile development sendiri masih mencakup berbagai metodologi, antara lain Scrum, Extreme Programming, Agile Unified Process (AUP), Feature-Driven Development, Lean Development, Dynamic System Development Method (DSDM), OpenUP, Agile Modeling, Crystal, dsb. Ciri khas dari semua metodologi agile ini adalah sifat iterative dan incremental, hal ini sangat berbeda dengan metodologi tradisional (baca: waterfall). Sebagai catatan, Scrum adalah metodologi (atau lebih tepatnya framework) yang paling banyak digunakan dan paling berkembang hingga saat ini.

Perubahan yang cepat, kebutuhan pasar yang terus meningkat, menuntut untuk menggunakan suatu metodologi yang fleksibel, responsif, adaptif terhadap perubahan, dan terjamin kualitasnya. Agile memberikan solusi terhadap masalah ini, perusahaan besar seperti Google, Yahoo, Microsoft, Cisco, Siemens, Motorola telah mengembangkan agile untuk meningkatkan bisnis dan menjaga supaya perusahannya tetap kompetitif di pasar.

Secara cepat, kini agile mulai beranjak menjadi de-facto standard untuk proses pengembangan perangkat lunak.