Perbedaan Beberapa Model Pengembangan Software
1.Agile Software Development Methodology
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 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.
ekurangan dari agile antara lain :
·
Agile tidak akan berjalan dengan baik jika komitmen tim kurang.
·
Tidak cocok dalam skala tim yang besar (>20 orang).
·
Perkiraan waktu release dan harga perangkat lunak sulit ditentukan.
2. Rapid application
development methodology(RAD)
Adalah 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.[1]Working
model digunakan kadang-kadang saja sebagai basis desain dan implementasi sistem
final
Kelebihan dari 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 dari 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.
Tahapan
Dynamic Software Development Method (DSDM)
1.
Feasibility study (Studi Kelayakan)
2.
Business study – prioritized requirements (Studi
Bisnis Persyaratan Diprioritaskan)
3.
Functional model iteration (Fungsional Model Iterasi)
4.
Risk analysis (Analisis Resiko)
5.
Time-box plan (Rencana Waktu)
6.
Design and build iteration (Desain dan Membangun
Iterasi)
7.
Implementation (Implementasi)
Kelebihan Dynamic Software Development Method (DSDM)
1. Menyajikan kerangka
kerja (framework) untuk membangun dan memelihara sistem dalam waktu yang
terbatas melalui penggunaan prototyping yang incremental dalam lingkungan yang
terkondisikan
2. Membangun software
dengan cepat
3. DSDM dapat
dikombinasikan dengan XP menghasilkan kombinasi model proses yang mengikuti
DSDM dan praktek yang sejalan dengan XP
Kelemahan Dynamic Software Development Method (DSDM)
1. Setiap iterasi bergantung pada prototype sebelumya;
2. Menentukan scope dari suatu prototype proyek tidak pernah selesai;
3. Dokumentasi sering kali tidak lengkap fokus pada pembuatan
prototype;
4. Isu-isu mengenai system backup and recovery, system performance
4. Isu-isu mengenai system backup and recovery, system performance
dan system
security kurang/tidak diperhatikan dan sering terlupakan
4.Extreme Programming methodology
Adalah 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.
Extreme Programming
tepat untuk dipergunakan untuk pembuatan program yang:
·
Membutuhkan perubahan yang cepat (misalnya: Game Mobile)
·
Proyek beresiko tinggi dengan tantangan yang berat
·
Tim programmer sedikit, yaitu sekitar 2–10 orang
·
Adanya permintaan dari pelanggan secara langsung
Kelebihan Extreme
Programming, yaitu:
·
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, yaitu:
·
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.
Scrum tepat digunakan
saat kondisi:
·
Keperluan berubah dengan cepat
·
Tim programmer sedikit, yaitu 5-9 orang
·
Pelanggan tidak terlalu paham dengan apa yang diinginkan
Scrum memiliki prinsip
yaitu:
·
Ukuran tim yang kecil melancarkan komunikasi, mengurangi biaya,
dan memberdayakan satu
sama lainProses dapat beradaptasi terhadap perubahan teknis dan bisnis
·
Proses menghasilkan beberapa software increment
·
Pembangunan dan orang yang membangun dibagi dalam tim yang
kecil
·
Dokumentasi dan pengujian terus menerus dilakukan setelah
software dibangun
·
Proses scrum mampu menyatakan bahwa produk selesai kapanpun
Diperlukan
Kelebihan Scrum antara
lain:
·
Keperluan berubah dengan cepat
·
Tim berukuran kecil sehingga melancarkan komunikasi,
mengurangi biaya dan
memberdayakan satu sama lain
·
Pekerjaan terbagi-bagi sehingga dapat diselesaikan dengan cepat
·
Dokumentasi dan pengujian terus menerus dilakukan setelah
software dibangun
·
Proses Scrum mampu menyatakan bahwa produk selesai
kapanpun diperlukan
·
Developer harus selalu siap dengan perubahan
karena perubahan
akan selalu diterima.
Kekurangan Scrum antara lain:
·
Developer
harus selalu siap dengan perubahan karena perubahan akan selalu diterima.
·
Lemah
dalam perencanaan arsitektur





Komentar
Posting Komentar