Sunday, January 26, 2014

Kelebihan dan Kekurangan Agile, Waterfall, Rapid Application Development(RAD), Extreme Programing(XP),Rational Unified Process (RUP), Scrum Development

Waterfall

Kelebihan dari Waterfall

·         Metode ini masih lebih baik digunakan walaupun sudah tergolong kuno, daripada menggunakan pendekatan asal-asalan. Selain itu, metode ini juga masih masuk akal jika kebutuhan sudah diketahui dengan baik.
·         Memberikan template tentang metode analisis, desain, pengkodean, pengujian, dan pemeliharaan.
·         Cocok digunakan untuk produk software yang sudah jelas kebutuhannya di awal, sehingga minim kesalahannya.
·         Cocok untuk system software berskala besar dan bersifat generik.
·         Pengerjaan project system akan terjadwal dengan baik dan mudah dikontrol.
·         Document pengembangan system sangat terorganisir, karena setiap fase harus terselesaikan dengan lengkap sebelum melangkah ke fase berikutnya. Jadi  setiap fase atau tahapan akan mempunyai dokumen tertentu.
·         Kualitas dari sistem yang dihasilkan akan baik. Ini dikarenakan oleh pelaksanaannya secara bertahap. Sehingga tidak terfokus pada tahapan tertentu.


Kekurangan dari Waterfall
·         Diperlukanya sebuah management proyek yang baik karena sangat berpengaruh karena Masalah kecil bisa beresiko bila tidak ditanganin atau diketahui dari awal pembuatan.
·         Persyaratan sistem harus digambarkan dengan jelas dan Rincian proses harus benar-benar jelas dan tidak boleh berubah-ubah.
·         Terjadinya pembagian proyek menjadi tahap-tahap yang tidak fleksibel, karena komitmen harus dilakukan pada tahap awal proses.
·         Customer harus sabar untuk menanti produk selesai, karena dikerjakan tahap pertahap, menyelesaikan tahap awal baru bisa ke tahap selanjutnya.
·         Sulit untuk mengadaptasi jika terjadi perubahan spesifikasi pada suatu tahapan pengembangan.
·         Perubahan ditengah-tengah pengerjaan produk akan membuat bingung team work yang sedang membuat produk.
·         Adanya waktu menganggur bagi pengembang, karena harus menunggu anggota tim proyek lainnya menuntaskan pekerjaannya.

Agile

Kelebihan dari agile
·         Meningkatkan kepuasan kepada klien.
·         Dapat melakukan review pelanggan mengenai software yang dibuat lebih awal.
·         Pembangunan system dibuat lebih cepat.
·         Mengurangi resiko kegagalan implementasi software dari segi non-teknis.
·         Jika pada saat pembangunan system terjadi kegagalan kerugian dari segi materi relatif kecil.

Kekurangan dari agile
·         Developer harus selalu siap dengan perubahan karena perubahan akan selalu diterima.
·         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.


Rapid Application Development (RAD)

Kelebihan dari RAD
·         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 waktu yang lebih singkat.
·         Setiap fungsi mayor dapat dimodulkan dalam waktu tertentu kurang dari 3 bulan dan dapat dibicarakan oleh tim RAD yang terpisah dan kemudian diintegrasikan sehingga waktunya lebih efisien.

Kekurangan dari RAD
·         Tidak cocok untuk proyek skala besar.
·         Proyek bisa gagal karena waktu yang disepakati tidak dipenuhi.
·         Sistem yang tidak bisa dimodularisasi tidak cocok untuk model ini.
·         Resiko teknis yang tinggi juga kurang cocok untuk model ini.
·         penghalusan dan penggabungan dari beberapa tim di akhir proses sangat diperlukan dan ini memerlukan kerja keras.
·         kinerja dari perangkat lunak yang dihasilkan dapat menjadi masalah manakala kebutuhan-kebutuhan diawal proses tidak dapat dimodulkan, sehingga pendekatan dengan model ini kurang bagus.
·         Model RAD memerlukan komitmen yang kuat antara pengembang dan pemesssan, bahkan keduanya bisa tergabung dalam 1 tim
·         Model RAD memerlukan sumber daya yang cukup besar, terutama untuk proyek dengan skala besar.

 Extreme Programming (XP)

Kelebihan dari XP
·         Metode yang populer karena lebih santai dan non-restriktif.
·         Biaya lebih murah.
·         Mampu mengotomatiskan tes.
·         Setiap feedback ditanggapi dengan melakukan tes, unit tes atau system integration dan jangan menunda karena biaya akan membengkak (uang, tenaga, waktu).
·         Banyak ide baru dan berani mencobanya, berani mengerjakan kembali dan setiap kali kesalahan ditemukan, langsung diperbaiki.

Kekurangan dari XP
·         Cerita-cerita yang menunjukkan requirements 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.

Rational Unified Process (RUP)

Kelebihan dari RUP
·         Menyediakan akses yang mudah terhadap pengetahuan dasar bagi anggota tim.
·         Menyediakan petunjuk bagaimana menggunakan UML secara efektif.
·         Mendukung proses pengulangan dalam pengembangan software.
·         Memungkinkan adanya penambahan-penambahan pada proses.
·         Memungkinkan untuk secara sistematis mengontrol perubahan- perubahan yang terjadi pada software selama proses pengembangannya.

Kekurangan dari RUP
·         Metodologi ini hanya dapat digunakan pada pengembangan perangkat lunak yang berorientasi objek dengan berfokus pada UML (Unified Modeling Language).
·         Membutuhkan waktu yang cukup lama dibandingkan XP dan Scrum.


Scrum

Kelebihan dari scrum
·         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 kapan pun diperlukan.

Kekurangan sari scrum
·         Developer harus selalu siap dengan perubahan karena perubahan akan selalu diterima.
·         Lemah dalam perencanaan arsitektur


14 comments:

  1. Artikelnya bermanfaat kak, ini saya juga punya artikel tentang Model Proses Pada Rekayasa Perangkat Lunak, semoga bisa saling melengkapi

    Kelebihan dan Kekurangan Model Proses Pada Rekayasa Perangkat Lunak - MARKIJAR.Com

    ReplyDelete
  2. terima kasih kk,artikelnya sangat membantu.

    ReplyDelete
  3. Thanks for the information, this is very useful. Allow me to share a health article here, which gods are beneficial to us. Thank you :)

    Obat Bintitan Paling Ampuh
    Cara Mengatasi Kesemutan yang Terus Menerus
    Cara Menghilangkan Abses Payudara

    ReplyDelete
  4. Banyak ide baru dan berani mencobanya, berani mengerjakan kembali dan setiap kali kesalahan ditemukan, langsung diperbaiki.
    stitched lawn suits karachi
    stitched lawn suits online

    ReplyDelete