Perbedaaan Perangkat Lunak Agile Software Development Methodology,Rapid Application Development,Dynamic System Development Model Methodology,Extreme Programing Methodology,Scrum Development Methodology



Agil 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
Kelebihan dari Agile Modeling:
  1. Meningkatkan kepuasan kepada klien
  2. Pembangunan system dibuat lebih cepat
  3. Mengurangi resiko kegagalan implementasi software dari segi non-teknis
  4. Jika pada saat pembangunan system terjadi kegagalan,kerugian dar segi materi relative kecil.
Kelemahan dari Agile Modeling:
Developer harus selalu siap dengan perubahan karena perubahan akan selalu diterima.




Rapid application development (RAD) atau rapid prototyping adalah model proses pembangunan perangkat lunak yang tergolong dalam teknik incremental (bertingkat). RAD menekankan pada siklus pembangunan pendek, singkat, dan cepat. Waktu yang singkat adalah batasan yang penting untuk model ini.
Rapid application development menggunakan metode iteratif (berulang) dalam 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 model RAD :
 Lebih efektif dari pendekatan waterfall/sequential linear dalam menghasilkan sistem yang memenuhi kebutuhan langsung dari pelanggan
     Cocok untuk proyek yang memerlukan waktu yang singkat

ü  Kekurangan model RAD :
    RAD tidak cocok digunakan untuk sistem yang mempunyai resiko teknik yang tinggi
  Membutuhkan orang yang banyak untuk menyelesaikan sebuah proyek berskala besar
 Pengembang dan customer harus punya komitmen yang kuat untuk menyelesaikan sebuah software
     Jika sistem tidak di bangun dengan benar maka RAD akan bermasalah
  Jika ada perubahan di tengah-tengah pengerjaan maka harus membuat kontrak baru antara pengembang dan customer




Dynamic Software Development Method  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.

Beberapa karakteristik DSDM yaitu sebagai berikut :
  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 yaitu 80% dari proyek diserahkan dalam 20% dari waktu total untuk menyerahkan proyek secara utuh.
  3. Aktifitas Feasibility Study yaitu dengan requirement, lalu uji apakah sesuai gunakan proses DSDM
  4. Aktifitas Business Study yaitu susunam kebutuhan fungsional dan informasi, menentukan arsitektur aplikasi dan identifikasi kebutuhan pemeliharaan untuk aplikasi
  5. Aktifitas Functional model iteration yaitu menghasilkan incremental prototype yang perlihatkan fungsi software ke client untuk dapatkan kebutuhan lebih jelas dan konfirmasi.
  6. Aktifitas Design and Build Iteration yaitu melakukan cek ulang prototype yang di bangun untuk memastikan bahwa prototype yang di bangun dengan cara tersebut memungkinkan semua fungsi benar-benar bekerja
  7. Aktifitas Implementation yaitu menempatkan software pada lingkungan sebenarnya sekalipun belum lengkap atau masih ada perubahan.
  8. DSDM dapat dikombinasikan dengan XP yang menghasilkan kombinasi model proses mengikuti metode DSDM dan praktek yang sejalan dengan XP.
9.      Dynamic Software Development Method (DSDM)
10.  Dynamic Software Development Method (DSDM) pada dasarnya merupakan suatu metodelogi pengembangan perangkat lunak yang didasarkan pada metodelogi RAD.
a.      Tahapan Dynamic Software Development Method (DSDM)
1)      Feasibility study
2)      Business study – prioritized requirements
3)      Functional model iteration
         Risk analysis
         Time-box plan
4)      Design and build iteration
5)      Implementation
b.      Kelebihan Dynamic Software Development Method (DSDM)
         Menyajikan kerangka kerja (framework) untuk membangun dan memelihara sistem dalam waktu yang terbatas melalui penggunaan prototyping yang incremental dalam lingkungan yang terkondisikan
         Membangun software dengan cepat
         DSDM dapat dikombinasikan dengan XP menghasilkan kombinasi model proses yang mengikuti DSDM dan praktek yang sejalan dengan XP
c.       Kelemahan Dynamic Software Development Method (DSDM)
         Setiap iterasi bergantung pada prototype sebelumya
         Menentukan scope dari suatu prototype proyek tidak pernah selesai
         Dokumentasi sering kali tidak lengkap fokus pada pembuatan prototype
         Isu-isu mengenai system backup and recoverysystem performance dan system security kurang/tidak diperhatikan dan sering terlupakan
d.      Waktu Penggunaan
Dynamic Sofware Development Method (DSDM) cocok untuk proyek yang membutuhkan waktu singkat dan tidak memerlukan kinerja tinggi, ini karena DSDM berdasar pada model
RAD.




Extreme Programming adalah salah satu dari beberapa Proses Agile populer. Sudah terbukti sangat sukses di banyak perusahaan dari berbagai ukuran dan industri di seluruh dunia.Extreme Pemrograman berhasil karena menekankan kepuasan pelanggan. Alih-alih memberikan semua yang anda mungkin inginkan pada tanggal beberapa jauh di masa depan proses ini memberikan perangkat lunak yang Anda butuhkan saat Anda membutuhkannya. Extreme Pemrograman memberdayakan pengembang Anda untuk percaya diri menanggapi perubahan kebutuhan pelanggan, bahkan terlambat dalam siklus hidup.Extreme Pemrograman menekankan kerja sama tim. Pengelola, pelanggan, dan pengembang semua mitra setara dalam sebuah tim kolaboratif. Extreme Pemrograman menerapkan, sederhana namun efektif yang memungkinkan tim lingkungan menjadi sangat produktif. Tim mengorganisir diri mengatasi masalah untuk menyelesaikannya see sien mungkin.Extreme Pemrograman meningkatkan proyek perangkat lunak dalam lima cara penting; komunikasi, kesederhanaan, umpan balik, rasa hormat, dan keberanian. Extreme Programmer selalu berkomunikasi dengan pelanggan mereka dan programer sesama. Mereka terus desain mereka yang sederhana dan bersih.
Extreme Programing (XP)
Model proses ini diciptakan dan dikembangkan oleh Kent Beck. Model ini adalah model proses yang terbaru dalam dunia rekayasa perangkat lunak dan mencoba menjawab kesulitan dalam pengembangan software yang rumit dan sulit dalam implementasi.
a.      Tahapan Extreme Programing (XP)
1)      Coding
2)      Pengujian
3)      Mendengarkan
4)      Merancang
b.      Kelebihan Extreme Programing (XP)
         Metode yang populer karena lebih santai dan non-restriktif
         Biaya lebih murah
c.       Kelemahan Extreme Programing (XP)
         Kurangnya struktur yang solid karena semuanya banyak dilakukan on-the-fly tanpa perencanaan sebelumnya
d.      Waktu Penggunaan

Penerapan dari Extreme Programing (XP) cocok untuk teknologi atau prototipe baru, dimana persyaratan berubah dengan cepat, atau beberapa pengembangan diperlukan untuk menemukan masalah pelaksanaan yang tak terduga.




Pada dasarnya Scrum Development Methodology 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 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
Kelemahan Scrum antara lain:
Developer harus selalu siap dengan perubahan karena perubahan akan selalu diterima.

Kesimpulan
Semua metode-metode yang ada jika ditempatkan pada proyek yang tepat pasti akan menghasilkan sebuah produk yang berkualitas dan bersaing. Sebaliknya jika ditempatkan pada proyek yang salah karena kesalahan analisa proyek, bisa jadi akan memakan biaya waktu dan uang yang jauh lebih besar dari yang diperkirakan.Kebijakan manajemen proyek dalam memilih metode dapat memberikan solusi yang lebih baik dan murah. Banyak aspek yang bisa dijadikan sebagai pertimbangan untuk memilih metode ini.  Diantaranya seperti dari sisi planing dan analisa systemnya.




Komentar

Postingan populer dari blog ini

Perbedaan antara 4EA Framework,Zachman,TOGAF,FEA,dan Gartner

Sertifikasi TOGAF 2018: Mengapa, Apa dan Bagaimana ?