Tayangan Halaman

Sunday, 26 November 2017

Metode-metode Pengembangan Perangkat Lunak Beserta Perbedaannya



Assalamu’alaikum Wr. Wb.
Hallo. Selamat datang pembelajar TI masa kini. Pada postingan kali ini, saya akan membahas tentang “Metode-metode Pengembangan Perangkat Lunak Beserta Perbedaannya”. Sebelumnya, Apa itu Pengembangan Perangkat Lunak?. Pengembangan Perangkat Lunak adalah penerapan struktur pada pengembangan suatu Perangkat Lunak (Software), yang bertujuan untuk mengembangkan sistem dan memberikan panduan untuk menyukseskan proyek pengembangan sistem melalui suatu metode pengembangan tertentu.
Ada beberapa metode yang digunakan dalam mengembangkan software, diantaranya:
  • Agile Software Development Methodology
  • Rapid Application Development Methodology
  • Dynamic System Development Model Methodology
  • Extreme Programming Methodology
  • Scrum Development Methodology


Berikut pembahasan "Metode-metode Pengembangan Perangkat Lunak Beserta Perbedaannya":
1. Agile Software Development Methodology
Agile Software Development Methodology adalah sekelompok metodologi pengembangan perangkat lunak yang didasarkan pada prinsi-prinsip yang sama atau pengembangan sistem jangka pendek yang memerlukan adaptasi cepat dari pengembang terhadap perubahan dalam bentuk apapun. Agile memiliki pengertian bersifat cepat, ringan, bebas bergerak, dan waspada. Diharapkan dengan memakai Agiel Software Development Methodology dapat dihasilkan perangkat lunak yang mempunyai nilai jual yang tinggi, biaya pembuatan bisa ditekan dan perangkat lunak bisa berjalan dengan baik.
Prinsip Agile Software Development:


  1. Kepuasan pelangga dengan penyampaian awal dan penyampain perangkat lunak yang bernikai dengan terus-menerus.
  2. Menerima perubahan permintaan, bahkan dalam pengembangan akhir.
  3. Perkembangan perangkat lunak disampaikan secara sering setiap minggu.
  4. Selalu koordinasi dekat antara klien dan pengembang perangkat lunak.
  5. Proyek yang dibangun di sekitar individu yang termotivasi, yang bisa dipercaya
  6. Percakapn face to face adalah bemtuk terbaik dari komunikasi.
  7. Sofyware kerja adalah ukuran utama dari kemajuan.
  8. Pengembangan berkelanjutan mampu mempertahankan kecepatan pengerjaan yang stabil.
  9. Memperhatikan keunggulan teknis dan desain yang baik berkelanjutan.
  10. Kesederhanaan seni-seni memaksimalkan jumlah pekerjaan tidak dilakukan sangat penting.
  11. Arsitektur, persyaratan, dan desain terbaik muncul dari tim yang mengatur dirinya sendiri.
  12. Tim mencerminkan tentang bagaimana menjadi lebih efektif, dan menyesuaikan secara teratur.

Kerangka pengembangan perangkat kunak Agile yang umum termasuk:


  • Adaptive software development
  • Agile modeling
  • Agile Unified Process (AUP)
  • Crystal Clear methods
  • Disciplined agile delivery
  • Dynamic System Development Method (DSDM)
  • Extreme Progamming (XP)
  • Feature-driven development
  • Learn software development
  • Kanban
  • Scrum
  • Scrumban
  • Rapid Applivation Development (RAD)

Pengembangan agile didukung oleh sejumlah praktik yang kongkrit, yang meliputi sektor permintaan, desain, permodelan, coding, pengujian, perencanaan, manajemen resiko, proses, kualitas, dan lain-lain.
Kelebihan dari pengembangan Agile:


  • Meningkatkan kepuasan pada klien
  • Pembangunan System dibuat lebih cepat
  • Mengurangi resiko kegagalan implementasi software dari segi non-teknis.
  • Kerugian kegagalan  dari segi materi relative kecil.

Kekurangannya : Pengembanh hafus selalu siap dengan perubahan karena perubahan kebanyakan akan selalu diterima.


2. Rapid Application Development
Rapid Application Development adalah model proses pembangunan perangkat lunak yang tergolong dalam teknik incremental (bertingkat). RAD menekankan pada siklus pembangunan pendek, singkat, dan cepat.


Prinsip.

    RAD memiliki banyak unsur­unsur yang membuat sebuah metodologi yang unik termasuk  prototyping, iterative development, time boxing, team members, management approach, dan RAD tools. 

Kelebihan.

RAD mempunyai kelebihan sebagai berikut:

1.Sangat berguna dilakukan pada kondisi user tidak memahami kebutuhan apa aja yang digunakan pada proses pengembangan perangkat lunak. 
2.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 waktunya lebih singkat. 
3.Karena mempunyai kemampuan untuk menggunakan komponen yang sudah ada dan waktu yang lebih singkat maka membuat biaya menjadi lebih rendah  

Kekurangan.

Beberapa   hal   yang   perlu   diperhatikan   dalam   implementasi   pengembangan menggunakan model RAD :

1.Proyek yang berskala besar, RAD memerlukan sumber daya manusia yang memadai untuk menciptakan jumlah tim yang baik.  
2.RAD menuntut pengembang dan pelanggan memiliki komitmen dalam aktivitas rapid fire yang diperlukan untuk melengkapi sebuah sistem dalam waktu singkat. jika komitmen tersebut tidak ada maka proyek RAD akan gagal.


3. Dynamic System Development Model Methodology (DSDM)
Dynamic System Development Model Methodology adalah suatu kerangka kerja awalnya didasarkan pada Rapid Application Developement (RAD). Sebagai perluasan dari RAD, DSDM memusatkan pada proyek sistem informasi yang didirikan oleh jadwal dan anggaran yang ketat. DSDM berupaya mengatasi penyebab-penyebab kegagalan proyek diantaranya melebihi anggaran, terlambat dari jadwal, kurangnya keterlibatan pengguna, dan lemahnya komitmen dari para pimpinan.
DSDM terdiri dari 3 tahapan utama, dan 5 sub tahap :
  1. Sebelum proyek, di mana kandidat proyek diidentikasi, pembiayaan proyek terpenuhi, dan jaminan proyek dipastikan. Penanganan hal-hal tersebut pada tahap ini menghindari masalah pada tahap-tahap berikutnya.
  2. Siklus hidup proyek, merupakan inti dari DSDM, yang terdiri dari 5 sub tahap yaitu : 1 studi kelayakan, 2 studi bisnis, 3 perulangan model fungsional, 4 perulangan perancangan dan pembuatan, 5 penerapan.
  3. Setelah proyek, yaitu memastikan sistem berjalan secara efektif dan efisien. Hal ini diwujudkan dengan perawatan, peningkatan dan perbaikan sesuai prinsip-prinsip DSDM.

4. Extreme Programming Methodology
Extreme Programming Methodology adalah salah satu model pengembangan perangkat lunak 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".
   XP dimunculkan untuk menangani perubahan-perubahan yang biasanya sering terjadi pada saat pengembangan berlangsung bahkan pada saat proses pengembangan sudah hampir berakhir. Selain itu XP juga dimunculkan untuk mengatasi berbagai requirements yang tidak jelasdari user.

Prinsip.

1. Aliran umpan balik (Rapid Feedback)
2. Asumsi kesederhanaan (Asume Simplicity)
3. Penambahan perubahan (Incremental Change)
4. Pemelukan pekerjaan (Embrace Work)
5.  Kualitas kerja (Quality Work)

Kelebihan.

1. Menjalin komunikasi yang baik dengan klien. (Planning Phase)
2. Menurunkan biaya pengembangan (Implementation Phase)
3. Meningkatkan komunikasi dan sifat saling menghargai antar developer. (Implementation Phase)
4. XP merupakan metodologi yang semi formal. (Planning Developer harus selalu siap dengan perubahan karena perubahan akan selalu diterima, atau dengan kata lain eksibel. (Maintenance Phase.

Kelemahan.

Jika terlalu banyak dokumentasi (formal), maka sebuah metodologi pengembangan perangkat lunak tidak lagi dapat diklasifikasikan ke dalam agile methods.

5. Scrum Development Methodology
Scrum Development Methodology adalah salah satu metode rekayasa perangkat lunak dengan menggunakan prinsip-pendekatan agile, yang bertumpu pada kekuatan kolaborasi tim, incremental product dan proses iterasi untuk mewujudkan hasil akhir. Artinya, metode scrum dapat dilakukan di sebuah kepanitiaan ataupun proyek lain di luar bisnis teknologi informasi.
Scrum didasari oleh teori kontrol proses empiris, atau dengan kata lain, empirisme. Empirisme menekankan bahwa pengetahuan berasal dari pengalaman dan pembuatan keputusan didasari oleh pengetahuan yang telah dimiliki hingga saat ini. Scrum menggunakan pendekatan berkala (iterative) dan bertahap (incremental) untuk meningkatkan prediktabilitas dan mengendalikan resiko. Ada tiga pilar dari setiap implementasi kontrol proses empiris yakni: transparansi, inspeksi dan adaptasi.





No comments:

Post a Comment

Power BI: How to Get Data from Web