Perbedaan Beberapa Model Pengembangan Software
1.Agile Software Development Methodology
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 Software
development adalah salah satu metodelogi dalam pengembangan sebuah
perangkat lunak (software). Kata Agile berarti bersifat cepat, ringan,
bebas bergerak, waspada. Kata ini digunakan sebagai kata yang menggambarkan
konsep model proses yang berbeda dari konsep model-model proses yang sudah ada.
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.
Beberapa kelebihan dari agile diantaranya :
- 82%
Menambah produktivitas tim.
- 77%
Menambah kualitas perangkat lunak.
- 78%
Menambah kepuasan klien.
- 37% Menghemat biaya.
Kekurangan dari agile antara lain :
- Perkiraan
waktu release dan harga perangkat lunak sulit ditentukan.
- Agile
tidak akan berjalan dengan baik jika komitmen tim kurang.
- Tidak cocok dalam skala tim yang besar (>20 orang).
Model proses pembangunan perangkat lunak yang tergolong dalam teknik
incremental (bertingkat). RAD menekankan pada siklus pembangunan pendek,
singkat, dan cepat. alam mengembangkan sistem di mana working model (model
bekerja) sistem dikonstruksikan di awal tahap pengembangan dengan tujuan
menetapkan kebutuhan (requirement) user dan selanjutnya disingkirkan. Working model digunakan kadang-kadang saja
sebagai basis desain dan implementasi sistem final.
Kelebihan RAD :
1. Membeli sistem yang baru memungkinkan untuk lebih menghemat biaya ketimbang mengembangkan sendiri.
2. Proses pengiriman menjadi lebih mudah, hal ini dikarenakan proses pembuatan
lebih banyak menggunakan potongan-potongan script.
3. Mudah untuk diamati karena menggunakan model prototype, sehingga user lebih
mengerti akan sistem yang dikembangkan.
4. Lebih fleksibel karena pengembang dapat melakukan proses desain ulang pada
saat yang bersamaan.
5. Bisa mengurangi penulisan kode yang kompleks karena menggunakan wizard.
6. Keterlibatan user semakin meningkat karena merupakan bagian dari tim secara
keseluruhan.
7. Mampu meminimalkan kesalahan-kesalahan dengan menggunakan alat-alat bantuan
(CASE tools).
8. Mempercepat waktu pengembangan sistem secara keseluruhan karena cenderung
mengabaikan kualitas.
9. Tampilan yang lebih standar dan nyaman dengan bantuan software-software
pendukung.
Kelemahan RAD :
1. Dengan melakukan pembelian belum tentu bisa menghemat biaya dibandingkan
dengan mengembangkan sendiri.
2. Membutuhkan biaya tersendiri untuk membeli peralatan-peralatan penunjang seperti
misalnya software dan hardware.
3. Kesulitan melakukan pengukuran mengenai kemajuan proses.
4. Kurang efisien karena apabila melakukan pengkodean dengan menggunakan tangan bisa
lebih efisien.
5. Ketelitian menjadi berkurang karena tidak menggunakan metode yang formal dalam
melakukan pengkodean.
6. Lebih banyak terjadi kesalahan apabila hanya mengutamakan kecepatan
dibandingkan dengan biaya dan kualitas.
7. Fasilitas-fasilitas banyak yang dikurangi karena terbatasnya waktu yang
tersedia.
8. Sistem sulit diaplikasikan di tempat yang lain.
9. Fasilitas yang tidak perlu terkadang harus disertakan, karena menggunakan
komponen yang sudah jadi, sehingga hal ini membuat biaya semakin meningkat.
3. Dynamic System Development Method (DSDM)
Diluncurkan pada Februari 1995. Dynamic Software Development Method
(DSDM) pada dasarnya merupakan suatu metodelogi pengembangan perangkat lunak
yang didasarkan pada metodelogi RAD.
Kelebihan DSDM :
1. DSDM dapat dikombinasikan dengan XP menghasilkan kombinasi model proses
yang mengikuti DSDM dan praktek yang sejalan dengan XP
2. Menyajikan kerangka kerja (framework) untuk membangun dan memelihara sistem
dalam waktu yang terbatas melalui penggunaan prototyping yang incremental dalam
lingkungan yang terkondisikan
3. Membangun software dengan cepat
kekurangan DSDM :
- Setiap iterasi bergantung pada prototype sebelumya
- Menentukan scope dari suatu prototype proyek tidak pernah selesai
- Dokumentasi sering kali tidak lengkap fokus pada pembuatan prototype
- Isu-isu mengenai system backup and recovery, system performance dan system security kurang/tidak diperhatikan dan sering terlupakan
4.Extreme Programming methodology
Suatu model yang
termasuk dalam pendekatan agile yang diperkenalkan oleh Kent
Back. Menurut penjelasannya, definisi XP adalah sebagai berikut: “Extreme Programming (XP) adalah metode
pengembangan software yang cepat, efisien, beresiko rendah, fleksibel, terprediksi,
scientific, dan menyenangkan“. Tahapan-tahapan yang harus dilalui antara lain: Planning, Design, Coding, dan Testing.
Kelebihan Extreme
Programming :
- Meningkatkan kepuasan kepada klien
- Pembangunan system dibuat lebih cepat
- Menjalin komunikasi yang baik dengan client.
- Meningkatkan komunikasi dan sifat saling menghargai antar developer
Kelemahan Extreme
Programming :
- Cerita-cerita yang menunjukkan requirements dari pelanggan kemungkinan besar tidak lengkap sehingga Developer harus selalu siap dengan perubahan karena perubahan akan selalu diterima.
- Tidak bisa membuat kode yang detail di awal (prinsip simplicity dan juga anjuran untuk melakukan apa yang diperlukan hari itu juga).
- XP tidak memiliki dokumentasi formal yang dibuat selama pengembangan. Satu-satunya dokumentasi adalah dokumentasi awal yang dilakukan oleh user.
5.Scrum Development Methodology
Pertama kali
diperkenalkan oleh Jeff Sutherland tahun awal tahun 1990an, dan dikembangkan
selanjutnya dilakukan oleh Schwaber dan Beedle.Pada dasarnya Scrum merupakan
salah satu komponen dari metodologi pengembangan Agile mengenai pertemuan
harian untuk membahas kemajuan sedangkan XP adalah menekankan metodologi yang
berbeda yaitu ujian, pemrograman dan pembangunan. Scrum menguraikan proses
untuk mengidentifikasi dan katalogisasi pekerjaan yang perlu dilakukan, memprioritaskan
yang bekerja dengan berkomunikasi dengan pelanggan atau wakil pelanggan, dan
pelaksanaan yang bekerja menggunakan rilis iterative dan memiliki tujuan utama
untuk mendapatkan perkiraan berapa lama akan pembangunan. Scrum merupakan
suatu kerangka kerja.
Kelebihan Scrum antara
lain:
1. Keperluan berubah dengan
cepat
2. Tim berukuran kecil
sehingga melancarkan komunikasi
3. mengurangi biaya dan
memberdayakan satu sama lain
4. Pekerjaan terbagi-bagi
sehingga dapat diselesaikan dengan cepat
5. Dokumentasi dan
pengujian terus menerus dilakukan setelah software dibangun
6. Proses Scrum mampu
menyatakan bahwa produk selesai kapanpun diperlukan
Kekurangan Scrum antara lain:
1. Developer
harus selalu siap dengan perubahan karena perubahan akan selalu diterima.
2. Lemah
dalam perencanaan arsitektur
Tidak ada komentar:
Posting Komentar