Minggu, 26 November 2017

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 :
  1. 82% Menambah produktivitas tim.
  2. 77% Menambah kualitas perangkat lunak.
  3. 78% Menambah kepuasan klien.
  4. 37% Menghemat biaya.
Kekurangan dari agile antara lain :
  1. Perkiraan waktu release dan harga perangkat lunak sulit ditentukan.
  2. Agile tidak akan berjalan dengan baik jika komitmen tim kurang.
  3. Tidak cocok dalam skala tim yang besar (>20 orang).

2. Rapid application development methodology(RAD) 


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 :
    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 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 :
  1. Meningkatkan kepuasan kepada klien
  2. Pembangunan system dibuat lebih cepat
  3. Menjalin komunikasi yang baik dengan client.
  4. Meningkatkan komunikasi dan sifat saling menghargai antar developer

              Kelemahan Extreme Programming :
  1. Cerita-cerita yang menunjukkan requirements dari pelanggan   kemungkinan besar tidak lengkap sehingga Developer harus selalu siap dengan perubahan karena perubahan akan selalu diterima.
  2. Tidak bisa membuat kode yang detail di awal (prinsip simplicity dan juga anjuran untuk melakukan apa yang diperlukan hari itu juga).
  3. 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