Sabtu, 25 November 2017

perbedaan dari beberapa model pengembangan software

Agile Development Methods
Agile 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. Agile memiliki pengertian bersifat cepat, ringan, bebas bergerak, dan waspada. Sehingga saat membuat perangkat lunak dengan menggunakan agile development methods diperlukan inovasi dan responsibiliti yang baik antara tim pengembang dan klien agar kualitas dari perangkat lunak yang dihasilkan bagus dan kelincahan dari tim seimbang.
Kelebihan dari agile
  1. Meningkatkan kepuasan kepada klien.
  2. Dapat melakukan review pelanggan mengenai software yang dibuat lebih awal.
  3. Pembangunan system dibuat lebih cepat.
  4. Mengurangi resiko kegagalan implementasi software dari segi non-teknis.
  5. Jika pada saat pembangunan system terjadi kegagalan kerugian dari segi materi relatif kecil.
Kekurangan dari agile
  1. Developer harus selalu siap dengan perubahan karena perubahan akan selalu diterima.
  2. Agile tidak akan berjalan dengan baik jika komitmen tim kurang.
  3. Tidak cocok dalam skala tim yang besar (>20 orang).
  4. Perkiraan waktu release dan harga perangkat lunak sulit ditentukan.
Rapid Application Development (RAD)
     Rapid Application Development (RAD) atau Rapid Prototyping adalah model proses pembangunan perangkat lunak yang tergolong dalam teknik incremental (berangkat). RAD menekankan pada siklus pembangunan pendek, singkat, dan cepat. Waktu yang singkat adalah batasan yang penting untuk model ini. RAD menggunakan metode iteratif (berulang) dalam mengembangkan sistem dimana working model (model bekerja) sistem dikontruksikan 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 dari RAD
  1. 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.
  2. 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
  1. Tidak cocok untuk proyek skala besar.
  2. Proyek bisa gagal karena waktu yang disepakati tidak dipenuhi.
  3. Sistem yang tidak bisa dimodularisasi tidak cocok untuk model ini.
  4. Resiko teknis yang tinggi juga kurang cocok untuk model ini.
  5. Penghalusan dan penggabungan dari beberapa tim di akhir proses sangat diperlukan dan ini memerlukan kerja keras.
  6.  kinerja dari perangkat lunak yang dihasilkan dapat menjadi masalah manakala kebutuhan-kebutuhan diawal proses tidak dapat dimodulkan, sehingga pendekatan dengan model ini kurang bagus.
  7.  Model RAD memerlukan komitmen yang kuat antara pengembang dan pemesssan, bahkan keduanya bisa tergabung dalam 1 tim
  8. Model RAD memerlukan sumber daya yang cukup besar, terutama untuk proyek dengan skala besar.
Dynamic System Development Method (DSDM)
Dynamic System Development Method (DSDM) adalah suatu kerangka dalam pengembangan suatu project, terutama digunakan untuk metode pengembangan perangkat lunak. DSDM 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.
Kelebihan dari 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 dari 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.
 Extreme Programming (XP)
Extreme Programming (XP) adalah sebuah pendekatan atau model pengembangan perangkat lunak yang mencoba menyederhanakan berbagai tahapan dalam proses pengembangan tersebut sehingga menjadi lebih adaptif dan fleksibel. XP bukan hanya berfokus pada coding tetapi meliputi seluruh area pengembangan perangkat lunak. XP mengambil pendekatan ‘ekstrim’ dalam iterative development.
Kelebihan dari XP
  1. Metode yang populer karena lebih santai dan non-restriktif.
  2. Biaya lebih murah.
  3. Mampu mengotomatiskan tes.
  4. Setiap feedback ditanggapi dengan melakukan tes, unit tes atau system integration dan jangan menunda karena biaya akan membengkak (uang, tenaga, waktu).
  5. Banyak ide baru dan berani mencobanya, berani mengerjakan kembali dan setiap kali kesalahan ditemukan, langsung diperbaiki.
Kekurangan dari XP
  1. Cerita-cerita yang menunjukkan requirements 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.
Scrum Development
Scrum adalah iteratif dan pengembangan perangkat lunak kerangka kerja tambahan tangkas untuk proyek-proyek perangkat lunak dan mengelola produk atau pengembangan aplikasi. Fokusnya adalah pada "strategi, pengembangan produk fleksibel holistik di mana tim pengembangan bekerja sebagai sebuah unit untuk mencapai tujuan bersama" sebagai lawan dari "pendekatan tradisional, berurutan".
Dari penjelasan diatas telah kita ketahui bahwa scrum merupakan salah satu metodologi yang dapat digunakan untuk mengatur (manage) proses pembuatan software menggunakan pendekatan Agile.
Kelebihan dari scrum
  1. Keperluan berubah dengan cepat.
  2. Tim berukuran kecil sehingga melancarkan komunikasi, mengurangi biaya dan memberdayakan satu sama lain.
  3. Pekerjaan terbagi-bagi sehingga dapat diselesaikan dengan cepat.
  4. Proses Scrum mampu menyatakan bahwa produk selesai kapan pun diperlukan.
Kekurangan sari scrum
  1. Developer harus selalu siap dengan perubahan karena perubahan akan selalu diterima.
  2. Lemah dalam perencanaan arsitektur

Tidak ada komentar:

Posting Komentar