Salah satu masalah dalam sistem pengembangan aplikasi dengan SDLC atau dikenal dengan waterfall approach adalah system requierements tidak berubah. Dalam kenyataannya system requierements ini berubah karena user memiliki ide lain atau ide tambahan. Secara umum user tidak mengenal secara benar apa yang menjadi kebutuhannya saat assesment, sehingga kemungkinan system requierments terlihat sederhana pada awalnya.
Seiring dengan berjalannya waktu, user mendapatkan hal-hal baru yang ternyata dibutuhkan dalam aplikasi yang saat ini sedang dikembangkan. Penemuan-penemuan baru kemudian ditambahkan ke dalam system requierements. Sebagai akibatnya tim pengembang software dan merombak lago softwarenya. Dengan kejadian ini bisa dibayangkan bahwa project akan tertunda terus dan sangat mungkin project pengembangan sistem aplikasi ini gagal karena iterasi yang terus-menerus tanpa ada henti.
Bersamaan dengan permintaan user yang terus berubah, teknologi juga mengalami perkembangan yang cepat. Perkembangan yang cepat ini juga terjadi di sisi teknologi pemrograman seperti versi bahasa pemrograman yang digunakan, versi framework yang digunakan bahkan versi extension yang digunakan. Di sini pengembang software kadang dituntut untuk mengikuti teknologi terbaru dalam dunia teknologi maupun cara pemrograman. Dengan demikian maka kecepatan teknologi dan teknologi pemrograman juga menekan programmer dalam melakukan pengembangan aplikasi custom dari user ini.
Dengan adanya tekanan mengenai kebutuhan user yang terus berubah dan perkembangan teknologi yang cepat ini maka pendekatan SDLC atau waterfall approach sudah tidak dapat digunakan lagi karena kalau digunakan dapat menyebabkan project tidak pernah berhenti. Di sini programmer membutuh suatu metodologi yang membutuhkan sekedar iteratif development, dapat menangani perubahan kebutuhan user dan waktu pengerjaan pembuatan aplikasi yang dapat dikendalikan.
Perkembangan selanjutnya programmer membutuhkan proses pengembangan aplikasi yang dirancang dapat melakukan update secara sering dan kecil-kecil dibanding dengan perubahan besar. Perkembangan ini kemudian melahirkan apa yang disebut agile development yang kalau dalam bahasa Indonesia kita dapat menerjemahkan sebagai pengembangan yang lincah. Agile development ini akan memberikan prinsip-prinsip pengembangan sistem informasi dalam lingkungan yang sangat cepat berubah ini.
Ciri-ciri dari metodologi agile ini adalah
- Lebih menanggapi perubahan daripada kaku terhadap rencana awal
- Menekankan interaksi antar individual daripada proses, tools dan development control
- Menekankan kolaborasi dengan user daripada negoisasi kontrak
- Menekankan sofware yang berkualitas lebih dari dokumentasi sofware yang baik
Yang menggunakan metodologi agile development ini adalah
- Scrum
- Extreme Programming
- Unified Process
Kunjungi www.proweb.co.id untuk menambah wawasan anda.