Agile Development Methods adalah 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 merupakan salah
satu dari Metodologi
pengembangan perangkat lunak yang digunakan dalam pengembangan
perangkat lunak. Agile memiliki pengertian bersifat cepat, ringan, bebas
bergerak, dan waspada. Sehingga saat membuat perangkat lunak dengan
menggunakan agile development methods diperlukan inovasi dan
responsibiliti yang baik antara tim pengembang dan klien agar kualitas dari
perangkat lunak yang dihasilkan bagus dan kelincahan dari tim seimbang.
Rekayasa perangkat lunak dapat terwujud jika (manajer, pelanggan, dan
pengguna) bekerja sama dalam satu tim dan bisa mengatur ,mendukung
komunikasi dan kolaborasi di antara semua pihak yang terlibat di dalamnya.
Agile development methods terdefinisi dalam empat nilai, biasa di
sebut Agile Alliance’s Manifesto, diantaranya :
1. Interaksi dan personel lebih penting dari pada proses dan alat.
2. Perangkat lunak yang berfungsi lebih penting daripada dokumentasi yang
lengkap.
3. Kolaborasi dengan klien lebih penting dari pada negosiasi
kontrak.
4. Respon terhadap perubahan lebih penting daripada mengikuti
rencana.
Pengertian dari Agile
Alliance's Manifesto dijelaskan di bawah ini:
- Interaksi dan personel lebih penting dari pada proses dan
alat, di dalam agile interaksi antar anggota tim sangatlah penting, karena
tanpa adanya interaksi yang baik maka proses pembuatan perangkat lunak
tidak akan berjalan sesuai rencana.
- Perangkat lunak yang berfungsi lebih penting daripada dokumentasi
yang lengkap, saat melakukan proses demonstrasi kepada klien, perangkat
lunak yang berfungsi dengan baik akan lebih berguna daripada dokumentasi
yang lengkap.
- Kolaborasi dengan klien lebih penting dari pada negosiasi
kontrak, salah satu ciri dari agile adalah klien menjadi bagian dari tim
pengembangan perangkat lunak. Kolaborasi yang baik dengan klien saat
proses pembuatan perangkat lunak sangatlah penting ketika menggunakan
agile. Karena fungsi-fungsi dari perangkat lunak yang dikembangkan harus
terus menerus dibicarakan dan diimprovisasi disesuaikan dengan keinginan
klien.
- Respon terhadap perubahan lebih penting daripada mengikuti
rencana, agile development methods berfokus terhadap
kecepatan respon tim ketika klien menginginkan perubahan saat proses
pembuatan perangkat lunak.
Other Agile Development (Model Proses Cepat Lainnya)
1. Adaptive Software Development (ASD)
Pengembangan Perangkat Lunak Adaptif Adaptive.
Software Development
(ASD) diajukan oleh
Jim Highsmith sebagai teknik untuk membangun software dan sistem yang kompleks.
Filosofi yang mendasari Adaptive SoftwareDevelopment (ASD) adalah kolaborasi
manusia dan tim yang mengatur diri sendiri
Spekulasi
Proyek dimulai dari
SIKLUS PERENCANAAN ADAPTIF. Dimana yang digunakan adalah: Inisiasi.
Informasi Proyek,
Pernyataan Misi Konsumen, Kendala Proyek
Pembelajaran
ASD menekankan pada
pembelajaran sebagai elemen kunci dalam pencapaian sebuah tim perangkat lunak
yang mampu “Mengorganisasi dirinya sendiri”.
Kolaborasi
Mengkritik Tanpa
Permusuhan, Membantu Tanpa Rasa Kecewa, Bekerja Keras bahkan Lebih dari yang
biasanya Dilakukan, Memiliki Kontribusi Untuk Pekerjaan yang Ada,
Mengomunikasikan Setia Permasalahan maupun Kecurigaan
2. Dynamic System Development Method (DSDM)
Metode Pengembangan Sistem Dinamis “Menyediakan Kerangka Kerja” untuk membangun dan memelihara
system perangkat lunak yangmemenuhi batasan waktu melalui penggunaan prototype
yang ditambahi dan diperluas. Pada dasarnya 80 persen dari aplikasi dapat
disampaikan dalam 20 persen dari waktu yang dibutuhkan untuk menghantarkan
aplikasi yang lengkap (100 persen).
3. Scrum
Pertama kali
diperkenalkan oleh Jeff Sutherland tahun awal tahun 1990an, dan pengembangan
selanjutnya dilakukan oleh Schwaber dan Beedle. Prinsip Secrum konsisten untuk
untuk membangun kegiatan pengembangan dalam satu proses yang mencakup
KEBUTUHAN, ANALISIS, PERANCANGAN, EVOLUSI, dan PENGHANTAR. Scrum menggunakan
satu set pola proses perangkat lunak, yaitu:
Langkah:
Backlog: daftar
prioritas dari kebutuhan proyek atau fitur yang menyediakan nilai bisnis
bagi pelanggan (Prioritas Update Kebutuhan).
Sprint: Unit kerja
untuk mencapai daftar yang ada di Backlog, dan harus sesuai dengan time box.
Meeting: Pertemuan
tiap hari yang mempertanyakan apa yang sudah dilakukan, kendala saat ini, dan
perencanaan kedepan.
4. Crystal
Metode Kristal ini
pertama kali dibuat oleh Allstair Cockburn dan Jim Highsmith. Metode Kristal
ini sendiri dibuat untuk mencapai suatu pendekatan pengembangan perangkat lunak
yang berprioritas pada “kemampuan bermanuver”. Inti dari Metode Kristal ini
sendiri adalah tujuannya yang memungkinkan Agile Team untuk memilih anggota
dari “Keluarga Kristal” yang paling sesuai dengan proyek dan lingkungan
mereka.
5. Feature Driven Development (FDD) Pengembangan
Drive Fitur
User dapat
menggambarkan dengan mudah bentuk system,Dapat di organisasikan atau diatur ke
dalam kelompok bisnis yang hirarki, Desain dank ode lebih mudah diperiksa
secara efektif, Merancang proyek, penjadwalan dan jalur diarahkan oleh feature.
Metode ini pertama kali dikemukakan dalam berbentuk konsep oleh Peter
Coad. Yang kemudian dikembangkan oleh Stephen Palmer dan Felsing John.
Adapula keuntungan
metode ini: User dapat
menggambarkan dengan mudah bentuk system, Dapat di organisasikan atau diatur ke
dalam kelompok bisnis yang hirarki, Desain dank ode lebih mudah diperiksa
secara efektif, Merancang proyek, penjadwalan dan jalur diarahkan oleh feature
6. Agile Modeling (AM)/ Pemodelan Cepat
Agile Modeling adalah
suatu metodologi yang praktis untuk dokumentasi dan pemodelan system software.
Agile Modeling adalah kumpulan nilai-nilai, prinsip dan praktek-praktek untuk
memodelkan software agar dapat diaplikasian pada software development proyek
secara efektif. Tetapi karena keefektifan ini pula, tentunya ada bagian bagian
yang harus dipertimbangkan keadaanya. Model ini sendiri memang efektif di
bandingkan model tradisional karena hanya mencapai tahapan baik, dan bukan
sempurna.
Suatu penekanan pada
software pengiriman secara cepat yang memuaskan pelanggan bisa menggunakan
Express Programming. Sedangkan untuk menyesuaikan dengan kebutuhan Proyek
adalah menggunakan Scrum. Sedangkan untuk pengembangan fitur yang memang
sedikit lebih resmi dibandingkan metode lainnya yaitu Feature Driven
Development (FDD).
7. Agile Unified Process (AUP)
Metodologi AUP atau
Agile - Unified Process merupakan suatu metodologi pengembangan perangkat lunak
yang mulai marak digunakan.
Garis besar tahapan
analisa dan perancangan yang dilakukan adalah sebagai berikut:
1)
Inception,
dengan aktivitas
mendefinisikan project scope, mengestimasi biaya dan penjadwalan,
mendefinisikan resiko, membuat kelayakan proyek dan mempersiapkan lingkungan
pengerjaan proyek (tim, tempat kerja, instalasi, dan sebagainya). Proses iterasi
dilakukan satu kali. Artifak yang dihasilkan diantaranya adalah dokumen Vision,
dokumen Supplementary Specification, dokumen Glossary, Gantt Chart dan
Iteration Plan.
2) Elaboration,
dengan aktivitas
mengidentifikasi dan validasi arsitektur aplikasi. Proses iterasi dapat
dilakukan satu sampai dua kali. Artifak yang dihasilkan adalah UML Use Case,
Model Arsitektur (update dan snapshot), Architecture Prototype Code, Scenario
Test Plan, dokumen Business Rule, dokumen Supplementary dan Glossary yang telah
diupdate.
3) Construction,
dengan aktivitas
memodelkan, membangun dan menguji sistem aplikasi (unit testing) serta membuat
dokumentasi pendukung. Proses iterasi dapat dilakukan dua hingga delapan kali.
Artifak yang dihasilkan adalah Use Case (yang telah diupdate), dokumen
Supplementary dan Glossary (yang telah diupdate), Domain Model (snapshot), UML
Activity Diagram (snapshot), UML Class Diagram (snapshot), CRC Card, UML
Sequence Diagram (snapshot), Source Code, Code Documentation, Regression Test
Suite, Acceptance Test dan Bugs Report.
4) Transition,
dengan aktivitas
menguji sistem (integration sistem dan user testing), mereview kembali sistem
aplikasi dan menginstalasi sistem aplikasi. Proses iterasi dapat dilakukan satu
hingga dua kali. Artifak yang dihasilkan adalah Dokumen System Requirement
Specification, Dokumen System Technical Specification, Panduan Instalasi dan
Panduan Pengguna, Dokumen Pelatihan, Regression Test Suite, User Acceptance
Test dan Bugs Report (yang sudah final).
8. Lean Software
Development (LSD)
Adalah terjemahan dari lean
manufacturing dan lean IT prinsip dan praktek untuk pengembangan perangkat
lunak domain.
Sumber :
-
Ilmukuilmumu.wordpress.com
-
http://id.wikipedia.org/
No comments:
Post a Comment