Metodologi dalam perangkat lunak
digunakan untuk merancang atau membangun suatu perangkat lunak,dengan
perkembangan teknologi yang sangat pesat metodologi perangkat lunak juga
terjadi perubahan atau penambahan requirements. Dari model waterfall sampai
dengan model-model incremental. Semua metodologi yang berkembang sebelumnya
tidak mampu menangani kemungkinan perubahan atau penambahan requirements.
Metode pengembangan perangkat lunak telah dilacak kembali pada tahun 1957. Pada
tahun tersebut EA Edmonds telah memperkenalkan proses pengembangan perangkat
lunak adaptif. “Lightwight” merupakan metode pengembangan perangkat lunak yang
berkembang pada tahun 1990, sebagai reaksi terhadap apa yang disebut metode
“heavyweight”. Yang ditandai dengan kritik mereka terhadap metode waterfall
Pada tahun 90-an diperkenalkan
dengan metodologi baru yang dikenal dengan nama agile methods,kata Agile
berarti bersifat cepat, ringan, bebas bergerak, waspada. Metodologi yang
dikenal sebagai agile methods ini mengutamakan fleksibilitas terhadap
perubahan-perubahan yang terjadi selama pengembangan. Bahkan perubahan ataupun
penambahan pada saat fase terakhir pun teratasi apabila menggunakan metodologi
ini.
Agile Methods dikembangkan karena
pada metodologi tradisional terdapat banyak hal yang membuat proses
pengembangan tidak dapat berhasil dengan baik sesuai tuntutan user. Konsep
Agile Software Development dicetuskan oleh Kent Beck dan 16 rekannya dengan
menyatakan bahwa Agile Software Development adalah cara membangun software
dengan melakukannya dan membantu orang lain membangunnya sekaligus.
1. Pengertian
Agile methods merupakan salah
satu dari beberapa metode yang digunakan dalam pengembangan sooftware. Agile
method adalah jenis pegembangan sistem jangka pendek yang memerlukan adaptasi
cepat dan pengembang terhadap perubahan dalam bentuk apapun.
Dalam Agile Software Development
interaksi dan personel lebih penting dari pada proses dan alat, software yang
berfungsi lebih penting daripada dokumentasi yang lengkap, kolaborasi dengan
klien lebih penting dari pada negosiasi kontrak, dan sikap tanggap terhadap
perubahan lebih penting daripada mengikuti rencana.
Agile Method juga dapat diartikan
sekelompok metodologi pengembangan software yang didasarkan pada
prinsip-prinsip yang sama atau pengembangan system jangka pendek yang
memerlukan adaptasi cepat dari pengembang terhadap perubahan dalam bentuk
apapun
1.1. Prinsip Agile Software
Development
Agile Software Development juga
melihat pentingnya komunikasi antara anggota tim, antara orang-orang teknis dan
businessmen, antara developer dan managernya. Ciri lain adalah klien menjadi
bagian dari tim pembangun software. Ciri-ciri ini didukung oleh 12 prinsip yang
ditetapkan oleh Agile Alliance. Menurut Agile Alliance, 12 prinsip ini adalah
bagi mereka yang ingin berhasil dalam penerapan Agile Software Development:
1. Kepuasan klien adalah prioritas utama dengan
menghasilkan produk lebih awal dan terus menerus.
2. Menerima perubahan kebutuhan, sekalipun diakhir
pengembangan.
3. Penyerahan hasil/software dalam hitungan
waktu beberapa minggu sampai beberapa bulan.
4. Pihak bisnis dan pengembang harus bekerja
sama setiap hari selama pengembangan berjalan.
5. Membangun proyek dilingkungan orang-orang
yang bermotivasi tinggi yang bekerja dalam lingkungan yang mendukun dan yang
dipercaya untuk dapat menyelesaikan proyek.
6. Komunikasi dengan berhadapan langsung adalah
komunikasi yang efektif dan efisien
7. Software yang berfungsi adalah ukuran utama
dari kemajuan proyek
8. Dukungan yang stabil dari sponsor,
pembangun, dan pengguna diperlukan untuk menjaga perkembangan yang
berkesinambungan
9. Perhatian kepada kehebatan teknis dan desain
yang bagus meningkatkan sifat agile
10. Kesederhanaan penting
11. Arsitektur, kebutuhan dan
desain yang bagus muncuk dari tim yang mengatur dirinya sendiri
12. Secara periodik tim evaluasi
diri dan mencari cara untuk lebih efektif dan segera melakukannya.
Dua belas prinsip tersebut
menjadi suatu dasar bagi model-model proses yang punya sifat agile. Dengan
prinsip-prinsip tersebur Agile Process Model berusaha untuk menyiasati 3 asumsi
penting tentang proyek software pada umumnya:
1. Kebutuhan software sulit diprediksi
dari awal dan selalu akan berubah. Selain itu, prioritas klien juga sering
berubah seiring berjalannya proyek.
2. Desain dan pembangunan sering
tumpang tindih. Sulit diperkirakan seberapa jauh desain yang diperlukan sebelum
pembangunan.
3. Analisis, desain, pembangunan
dan testing tidak dapat diperkirakan seperti yang diinginkan.
Kelebihan dari Agile Method
Meningkatkan kepuasan kepada
klien
Pembangunan system dibuat lebih
cepat
Mengurangi resiko kegagalan
implementasi software dari segi non-teknis
Jika pada saat pembangunan system
terjadi kegagalan,kerugian dar segi materi relative kecil.
1.2. Model-model Agile method
Extreme Programmning (XP)
Adaptive Software Development
(ASD)
Dynamic Systems Development
Method (DSDM)
Scrum Methodology
Crystal
Feature Driven Development (FDD)
Agile Modeling (AM)
Rational Unified Process
Tidak ada komentar:
Posting Komentar