Perbedaaan Perangkat Lunak Agile Software Development Methodology,Rapid Application Development,Dynamic System Development Model Methodology,Extreme Programing Methodology,Scrum Development Methodology
Agil 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
Kelebihan dari Agile Modeling:
- 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.
Kelemahan dari Agile Modeling:
Developer harus
selalu siap dengan perubahan karena perubahan akan selalu diterima.
Rapid application development (RAD) atau rapid prototyping adalah model
proses pembangunan perangkat
lunak yang tergolong dalam teknik incremental
(bertingkat). RAD menekankan pada siklus pembangunan pendek, singkat, dan
cepat. Waktu yang singkat adalah batasan yang penting untuk model ini.
Rapid application development menggunakan metode
iteratif (berulang) dalam 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 model RAD :
Lebih efektif dari pendekatan waterfall/sequential
linear dalam menghasilkan sistem yang memenuhi kebutuhan langsung dari
pelanggan
Cocok untuk proyek yang
memerlukan waktu yang singkat
ü
Kekurangan model RAD
:
RAD tidak cocok digunakan untuk
sistem yang mempunyai resiko teknik yang tinggi
Membutuhkan orang yang banyak untuk
menyelesaikan sebuah proyek berskala besar
Pengembang dan customer harus punya komitmen
yang kuat untuk menyelesaikan sebuah software
Jika sistem tidak di
bangun dengan benar maka RAD akan bermasalah
Jika ada perubahan di tengah-tengah
pengerjaan maka harus membuat kontrak baru antara pengembang dan customer
Dynamic Software Development
Method merupakan iteratif dan incremental pendekatan yang
mencakup prinsip-prinsip pembangunan Agile, termasuk keterlibatan pengguna atau
pelanggan secara terus-menerus, intinya DSDM suatu metode yang mendekati Incremental dan Agile Alliance.
Beberapa karakteristik DSDM yaitu
sebagai berikut :
- Menyajikan
kerangka kerja (Framework) untuk membangun dan
memelihara sistem dalam waktu yang terbatas melalui penggunaan prototyping
yang incremental dalam lingkungan yang terkondisikan.
- Membangun
software dengan cepat yaitu 80% dari proyek diserahkan dalam 20% dari
waktu total untuk menyerahkan proyek secara utuh.
- Aktifitas
Feasibility Study yaitu dengan requirement, lalu uji apakah sesuai gunakan
proses DSDM
- Aktifitas
Business Study yaitu susunam kebutuhan fungsional dan informasi,
menentukan arsitektur aplikasi dan identifikasi kebutuhan pemeliharaan
untuk aplikasi
- Aktifitas
Functional model iteration yaitu menghasilkan incremental prototype yang
perlihatkan fungsi software ke client untuk dapatkan kebutuhan lebih jelas
dan konfirmasi.
- Aktifitas
Design and Build Iteration yaitu melakukan cek ulang prototype yang di
bangun untuk memastikan bahwa prototype yang di bangun dengan cara
tersebut memungkinkan semua fungsi benar-benar bekerja
- Aktifitas
Implementation yaitu menempatkan software pada lingkungan sebenarnya
sekalipun belum lengkap atau masih ada perubahan.
- DSDM
dapat dikombinasikan dengan XP yang menghasilkan kombinasi model proses
mengikuti metode DSDM dan praktek yang sejalan dengan XP.
9. Dynamic Software Development Method (DSDM)
10. Dynamic Software Development Method (DSDM) pada dasarnya merupakan suatu metodelogi
pengembangan perangkat lunak yang didasarkan pada metodelogi RAD.
a. Tahapan Dynamic
Software Development Method (DSDM)
1) Feasibility
study
2) Business
study – prioritized requirements
3) Functional
model iteration
Risk
analysis
Time-box
plan
4) Design and
build iteration
5) Implementation
b. Kelebihan Dynamic
Software Development Method (DSDM)
Menyajikan
kerangka kerja (framework) untuk membangun dan memelihara sistem dalam
waktu yang terbatas melalui penggunaan prototyping yang incremental dalam
lingkungan yang terkondisikan
Membangun software dengan
cepat
DSDM
dapat dikombinasikan dengan XP menghasilkan kombinasi model proses yang
mengikuti DSDM dan praktek yang sejalan dengan XP
c. Kelemahan Dynamic
Software Development Method (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
d. Waktu
Penggunaan
Dynamic Sofware Development Method (DSDM) cocok untuk proyek yang membutuhkan waktu
singkat dan tidak memerlukan kinerja tinggi, ini karena DSDM berdasar pada
model
RAD.
Extreme
Programming adalah salah
satu dari beberapa Proses Agile populer. Sudah terbukti sangat sukses di
banyak perusahaan dari berbagai ukuran dan industri di seluruh
dunia.Extreme Pemrograman berhasil karena menekankan kepuasan pelanggan.
Alih-alih memberikan semua yang anda mungkin inginkan pada tanggal beberapa
jauh di masa depan proses ini memberikan perangkat lunak yang Anda butuhkan
saat Anda membutuhkannya. Extreme Pemrograman memberdayakan pengembang Anda
untuk percaya diri menanggapi perubahan kebutuhan pelanggan, bahkan terlambat
dalam siklus hidup.Extreme Pemrograman menekankan kerja sama tim. Pengelola,
pelanggan, dan pengembang semua mitra setara dalam sebuah tim kolaboratif.
Extreme Pemrograman menerapkan, sederhana namun efektif yang memungkinkan tim
lingkungan menjadi sangat produktif. Tim mengorganisir diri mengatasi masalah
untuk menyelesaikannya see sien mungkin.Extreme Pemrograman meningkatkan proyek
perangkat lunak dalam lima cara penting; komunikasi, kesederhanaan, umpan
balik, rasa hormat, dan keberanian. Extreme Programmer selalu berkomunikasi
dengan pelanggan mereka dan programer sesama. Mereka terus desain mereka yang
sederhana dan bersih.
Extreme Programing (XP)
Model proses ini diciptakan dan dikembangkan oleh Kent
Beck. Model ini adalah model proses yang terbaru dalam dunia rekayasa perangkat
lunak dan mencoba menjawab kesulitan dalam pengembangan software yang
rumit dan sulit dalam implementasi.
a. Tahapan Extreme
Programing (XP)
1) Coding
2) Pengujian
3) Mendengarkan
4) Merancang
b. Kelebihan Extreme
Programing (XP)
Metode
yang populer karena lebih santai dan non-restriktif
Biaya
lebih murah
c. Kelemahan Extreme
Programing (XP)
Kurangnya
struktur yang solid karena semuanya banyak dilakukan on-the-fly tanpa
perencanaan sebelumnya
d. Waktu
Penggunaan
Penerapan dari Extreme Programing (XP)
cocok untuk teknologi atau prototipe baru, dimana persyaratan berubah dengan
cepat, atau beberapa pengembangan diperlukan untuk menemukan masalah
pelaksanaan yang tak terduga.
Pada dasarnya Scrum Development Methodology 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 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
Kelemahan Scrum antara lain:
Developer harus
selalu siap dengan perubahan karena perubahan akan selalu diterima.
Kesimpulan
Semua metode-metode yang ada jika ditempatkan pada
proyek yang tepat pasti akan menghasilkan sebuah produk yang berkualitas dan
bersaing. Sebaliknya jika ditempatkan pada proyek yang salah karena kesalahan
analisa proyek, bisa jadi akan memakan biaya waktu dan uang yang jauh lebih
besar dari yang diperkirakan.Kebijakan manajemen proyek dalam memilih metode
dapat memberikan solusi yang lebih baik dan murah. Banyak aspek yang bisa
dijadikan sebagai pertimbangan untuk memilih metode ini. Diantaranya
seperti dari sisi planing dan analisa systemnya.
Komentar
Posting Komentar