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
    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