Pada kesempatan kali ini saya menjelaskan beberapa perbedaan dari software pengembang antara lain:
1. Agile Development Methods,
2. Rapid Application Development,
3. Dynamic System Development Methodology,
4. Extreme Programing Methodology dan
5. Scrum Development Methodology.
Berikut perbedaannya.
Agile Development Methods
Pengertian.
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.
Tujuan.
Diharapkan
dengan memakai agile development methods dapat
dihasilkan perangkat lunak yang mempunyai nilai jual yang tinggi, biaya
pembuatan bisa di tekan dan perangkat lunak bisa berjalan dengan baik.
Prinsip.
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 dua minggu sampai dua bulan.
4.Bagian bisnis dan pembangun
kerja sama tiap hari selama proyek berlangsung.
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 itu 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.
Kelebihan.
Beberapa kelebihan dari agile diantaranya:
1. Menambah produktivitas
tim.
2. Menambah kualitas
perangkat lunak.
3. Menambah kepuasan
klien.
4. Menghemat biaya.
Kekurangan.
Sedangkan kekurangan dari agile antara
lain :
1. Agile tidak akan
berjalan dengan baik jika komitmen tim kurang.
2. Tidak cocok dalam
skala tim yang besar (>20 orang).
3. Perkiraan waktu
release dan harga perangkat lunak sulit ditentukan.
Metode.
Rapid
Application Development
Pengertian.
Rapid Application Development (RAD) adalah metodologi
pengembangan perangkat lunak yang berfokus pada membangun aplikasi
dalam waktu yang sangat singkat.
Tujuan.
Untuk menggambarkan suatu proses pembangunan yang melibatkan application prototyping dan iterative development.
Prinsip.
RAD memiliki banyak unsurunsur
yang membuat sebuah metodologi yang unik termasuk prototyping, iterative development, time boxing, team members, management approach, dan RAD tools.
Kelebihan.
RAD mempunyai kelebihan sebagai berikut:
1.Sangat berguna dilakukan pada kondisi user tidak memahami kebutuhan apa aja yang digunakan pada proses pengembangan perangkat lunak.
2.RAD mengikuti tahapan pengembangan sistem sepeti umumnya, tetapi mempunyai kemampuan untuk menggunakan kembali komponen yang ada (reusable object) sehingga pengembang tidak perlu membuat dari awal lagi dan waktunya lebih singkat.
3.Karena mempunyai kemampuan untuk menggunakan komponen yang sudah ada dan waktu yang lebih singkat maka membuat biaya menjadi lebih rendah
Kekurangan.
Beberapa hal yang perlu
diperhatikan dalam implementasi pengembangan
menggunakan model RAD :
1.Proyek yang berskala besar, RAD memerlukan sumber daya manusia yang memadai untuk menciptakan jumlah tim yang baik.
2.RAD menuntut pengembang dan pelanggan memiliki komitmen dalam aktivitas rapid fire yang diperlukan untuk melengkapi sebuah sistem dalam waktu singkat. jika komitmen tersebut tidak ada maka proyek RAD akan gagal.
Metode.
Dynamic System
Development Methodology
Pengertian.
Kerangka penyampaian proyek tangkas, yang awalnya digunakan
sebagai metode pengembangan perangkat lunak.
Tujuan.
DSDM bertujuan untuk membangun dan memelihara
sistem dalam waktu yang terbatas melalui penggunaan prototyping yang
incremental dalam lingkungan yang terkondisikan.
Prinsip.
Beberapa prinsip DSDM antara lain:
1. Fokus pada kebutuhan bisnis
2. Kirimkan tepat waktu
3. Berkolaborasi
4. Jangan kompromi kualitas
5. Bangun secara bertahap dari fondasi yang kuat
6. Kembangkan secara iteratif
7. Berkomunikasi terus menerus dan jelas
8. Menunjukkan control
Kelebihan
Membangun software dengan cepat:
80% dari proyek diserahkan dalam 20% dari waktu total untuk menyerahkan proyek
secara utuh.
Kelemahan.
1 Memerlukan banyak waktu untuk
mempelajari metode.
2 Metode tidak mencakup semua
siklus pengembangan sistem.
3 Metode terlalu rumit untuk
digunakan.
4 Penggunaan metode memperpanjang
durasi proyek.
Metode.
Extreme
Programing Methodology
Pengertian.
Agile methods yang paling populer
saat ini. XP digunakan untuk mengatasi masalah requirements yang tidak jelas
dan sering berubah-ubah (vague and volatile requirements).
Tujuan.
XP dimunculkan untuk menangani
perubahan-perubahan yang biasanya sering terjadi pada saat pengembangan
berlangsung bahkan pada saat proses pengembangan sudah hampir berakhir. Selain
itu XP juga dimunculkan untuk mengatasi berbagai requirements yang tidak
jelasdari user.
Prinsip.
1. Aliran umpan balik (Rapid
Feedback)
2. Asumsi kesederhanaan
(Asume Simplicity)
3. Penambahan perubahan
(Incremental Change)
4. Pemelukan pekerjaan
(Embrace Work)
5. Kualitas kerja (Quality
Work)
Kelebihan.
1. Menjalin komunikasi yang baik dengan klien.
(Planning Phase)
2. Menurunkan biaya pengembangan
(Implementation Phase)
3. Meningkatkan komunikasi
dan sifat saling menghargai antar developer. (Implementation Phase)
4. XP merupakan metodologi
yang semi formal. (Planning Developer harus selalu siap dengan perubahan karena perubahan
akan selalu diterima, atau dengan kata lain eksibel. (Maintenance Phase.
Kelemahan.
Jika terlalu banyak dokumentasi (formal), maka sebuah
metodologi pengembangan perangkat lunak tidak lagi dapat diklasifikasikan ke
dalam agile methods.
Metode.
Scrum Development
Methodology
Pengertian.
Kerangka kerja proses yang telah digunakan untuk mengelola
pengembangan produk kompleks
Tujuan.
Untuk mengembangkan & mengelola produk kompleks.
Prinsip.
Scrum didasari oleh teori kontrol proses empiris, atau
dengan kata lain, empirisme. Empirisme menekankan bahwa pengetahuan berasal
dari pengalaman dan pembuatan keputusan didasari oleh pengetahuan yang telah
dimiliki hingga saat ini. Scrum menggunakan pendekatan berkala (iterative) dan
bertahap (incremental) untuk meningkatkan prediktabilitas dan mengendalikan
resiko. Ada tiga pilar dari setiap implementasi kontrol proses empiris yakni:
transparansi, inspeksi dan adaptasi.
Kekuatan & kelemahan.
Kekuatan sekaligus kelemahan Scrum adalah anda dipaksa untuk
mengadaptasi Scrum terhadap situasi sepesifik yang anda hadapi.
Metode.
beberapa sumber dan referensi:
https://www1.in.tum.de/lehrstuhl_1/files/teaching/ws0809/SE1/L16_Methodologies_XP_and_Scrum.pdf
http://www.students.science.uu.nl/~slegt001/me/final_5767202_Slegten.pdf
http://sharif.edu/~ramsin/index_files/sdmlecture8.pdf
http://www.uml.org.cn/softwareprocess/201012304.ppt
http://www.itu.dk/people/katten/speciale/RAD_a_quality_software_process.pdf
https://books.google.co.id/books?id=5K1EV57lYfwC&printsec=frontcover&dq=Rapid+Application+Development+pdf&hl=jv&sa=X&ved=0ahUKEwihlObLkNLXAhXJK48KHTjNBYgQ6AEIKTAB#v=onepage&q&f=false
https://books.google.co.id/books?id=JRhGAAAAQBAJ&pg=PA53&dq=Agile+development+methods+pdf&hl=jv&sa=X&ved=0ahUKEwiWzP_jkNLXAhUMOo8KHeAbAR4Q6AEIODAD#v=onepage&q=Agile%20development%20methods%20pdf&f=false
sekian blog kali ini, semoga bermanfaat dan dapat menambah wawasan.
Tidak ada komentar:
Write komentar