Selasa, 31 Maret 2020

METODOLOGI PENGEMBANGAN SISTEM


Metodologi pengembangan perangkat lunak adalah kerangka kerja yang digunakan untuk menyusun, merencanakan dan mengendalikan proses pengembangan sistem informasi. Metodologi pengembangan sistem mengacu pada langkah-langkah yang digunakan untuk membentuk, merencanakan dan mengendalikan proses pengembangan sistem informasi karena hampir tidak mungkin untuk memajukan proyek ke metode komputerisasi tanpa pekerjaan sebelumnya.
Sistem prototyping adalah metodologi pengembangan yang cocok untuk sistem atau aplikasi yang tidak terlalu rumit dan tidak melibatkan terlalu banyak analis. Ini berarti merancang versi awal sistem sebelum mencoba membangun sistem akhir kemudian secara bertahap mengembangkannya untuk memenuhi kebutuhan pengguna.
Berikut beberapa Metodologi Pengembangan Perangkat Lunak serta Keuntungan dan Kerugiannya :
1.     Waterfall Model
Waterfall Model adalah salah satu metodologi pengembangan perangkat lunak yang paling tradisional (gaya klasik) dan umum digunakan untuk pengembangan perangkat lunak. Waterfall Model memiliki proses pengembangan perangkat lunak dalam aliran sekuensial linier yang berarti bahwa setiap fase dalam proses pengembangan dimulai hanya jika fase sebelumnya selesai.

Keuntungan Waterfall Model :
       Sangat sederhana dan mudah dimengerti serta menggunakan metode yang sangat bermanfaat bagi pengembang pemula
       Mudah dikelola dan setiap fase memiliki hasil serta proses peninjauan individual yang spesifik
       Fase diproses dan diselesaikan sekaligus dalam satu waktu sehingga menghemat banyak waktu
       Bekerja lebih efektif dalam proyek-proyek kecil di mana persyaratan sangat dipahami
       Pengujian lebih mudah karena dapat dilakukan dengan mengacu pada skenario yang ditentukan dalam spesifikasi fungsional sebelumnya
Kerugian Waterfall Model :
       Hanya dapat digunakan ketika persyaratan di muka yang sangat tepat tersedia
       Tidak berlaku untuk jenis pemeliharaan proyek
       Kelemahan utama dari metode ini adalah bahwa sekali aplikasi dalam tahap pengujian, tidak mungkin untuk kembali dan mengedit sesuatu
       Tidak ada kemungkinan untuk menghasilkan perangkat lunak yang berfungsi sampai mencapai tahap terakhir dari siklus
       Tidak ada opsi untuk mengetahui hasil akhir dari keseluruhan proyek
       Model ini bagus untuk proyek kecil tetapi tidak cocok untuk proyek yang panjang dan berkelanjutan
       Tidak ideal untuk proyek di mana persyaratan sangat moderat, dan ada ruang lingkup besar untuk modifikasi
2.     Prototype Methodology
Prototype Methodology adalah proses pengembangan perangkat lunak yang memungkinkan pengembang hanya membuat prototipe solusi untuk menunjukkan fungsionalitasnya kepada klien dan membuat modifikasi yang diperlukan sebelum mengembangkan aplikasi yang sebenarnya.

Keuntungan Prototype Methodology :
       Ketika sebuah prototipe ditampilkan kepada klien, mereka mendapatkan pemahaman yang jelas dan 'rasa' lengkap tentang fungsionalitas perangkat lunak
       Secara signifikan mengurangi risiko kegagalan, karena potensi risiko dapat diidentifikasi pada tahap awal dan langkah-langkah moderasi dapat diambil dengan cepat
       Komunikasi antara tim pengembangan perangkat lunak dan klien membuat lingkungan yang sangat baik dan kondusif selama proyek
       Membantu dalam pengumpulan kebutuhan dan analisis kebutuhan ketika ada kekurangan dokumen persyaratan
Kerugian Prototype Methodology :
       Prototyping biasanya dilakukan dengan biaya pengembang sehingga harus dilakukan dengan menggunakan sumber daya minimal jika tidak biaya pengembangan organisasi terlalu banyak
       Terlalu banyak keterlibatan klien tidak selalu disukai oleh pengembang perangkat lunak
       Terlalu banyak modifikasi mungkin tidak baik untuk proyek, karena mudah mengganggu alur kerja seluruh tim pengembangan perangkat lunak
3.     Agile Software Development Methodology
Agile Software Development Methodology adalah pendekatan yang digunakan untuk merancang proses manajemen perangkat lunak disiplin yang juga memungkinkan beberapa perubahan sering dalam proyek pengembangan. Ini jenis metodologi pengembangan perangkat lunak yang merupakan salah satu kerangka kerja konseptual untuk melakukan berbagai proyek rekayasa perangkat lunak. Digunakan untuk meminimalkan risiko dengan mengembangkan perangkat lunak dalam kotak waktu singkat yang disebut iterasi yang umumnya berlangsung selama satu minggu hingga satu bulan.
Keuntungan Agile Software Development Methodology :
       Metodologi Agile memiliki pendekatan adaptif yang mampu menanggapi perubahan kebutuhan klien
       Komunikasi langsung dan umpan balik yang konstan dari perwakilan pelanggan tidak memberikan ruang untuk segala dugaan dalam sistem
Kerugian Agile Software Development Methodology :
       Berfokus pada perangkat lunak yang berfungsi daripada dokumentasi, karena itu dapat mengakibatkan kurangnya dokumentasi
       Proyek pengembangan perangkat lunak dapat keluar jalur jika pelanggan tidak begitu jelas tentang hasil akhir dari proyeknya
4.     Rapid Application Development (RAD)
Rapid Application Development (RAD) adalah metodologi yang efektif untuk memberikan pengembangan lebih cepat dan hasil berkualitas lebih tinggi daripada yang dicapai dengan metodologi pengembangan perangkat lunak lainnya. Tujuan utama metodologi ini adalah untuk mempercepat seluruh proses pengembangan perangkat lunak.

Keuntungan Rapid Application Development (RAD) :
       Membantu mengurangi risiko dan upaya yang diperlukan dari pihak pengembang perangkat lunak
       Membantu klien untuk mengambil ulasan cepat untuk proyek tersebut
       Mendorong umpan balik pelanggan yang selalu memberikan ruang lingkup peningkatan untuk setiap proyek pengembangan perangkat lunak
Kerugian Rapid Application Development (RAD) :
       Tergantung pada kinerja tim dan individu yang kuat untuk mengidentifikasi dengan jelas persyaratan bisnis yang tepat
       Hanya bekerja pada sistem yang dapat dimodulasi yang dapat dibangun menggunakan metodologi ini
       Pendekatan ini menuntut tim pengembang dan perancang yang sangat terampil yang mungkin tidak memungkinkan untuk setiap organisasi
       Tidak berlaku bagi pengembang untuk digunakan dalam proyek anggaran kecil karena biaya pemodelan dan pembuatan kode otomatis sangat tinggi
5.     Dynamic Systems Development Model Methodology
Dynamic Systems Development Model Methodology adalah metodologi pengembangan perangkat lunak yang awalnya didasarkan pada metodologi Pengembangan Aplikasi Cepat. Tujuan utamanya adalah untuk memberikan sistem perangkat lunak tepat waktu dan sesuai anggaran.
Keuntungan Dynamic Systems Development Model Methodology :
       Pengguna sangat terlibat dalam pengembangan sistem sehingga, mereka lebih cenderung menguasai proyek pengembangan perangkat lunak
       Dalam model ini, fungsionalitas dasar disampaikan dengan cepat, dengan fungsionalitas yang lebih banyak disampaikan secara berkala
       Menyediakan akses mudah oleh pengembang ke pengguna akhir
       Dalam pengembangan semacam ini, proyek-proyek pendekatan disampaikan tepat waktu dan sesuai anggaran tertentu
Kerugian Dynamic Systems Development Model Methodology :
       Hal pertama adalah DSDM mahal untuk diimplementasikan, karena mengharuskan pengguna dan pengembang keduanya dilatih untuk menggunakannya secara efektif.
       Model yang relatif baru, tidak terlalu umum dan mudah dipahami
6.     Spiral Model
Spiral Model adalah model canggih yang berfokus pada identifikasi awal dan pengurangan risiko proyek. Pengembang mulai dalam skala kecil kemudian mengeksplorasi risiko yang terlibat dalam proyek, membuat rencana untuk menangani risiko, dan akhirnya memutuskan apakah akan mengambil langkah selanjutnya dari proyek untuk melakukan iterasi spiral berikutnya.
Keuntungan Spiral Model :
       Tingginya jumlah analisis risiko karenanya, penghindaran risiko yang mungkin tentu berkurang
       Bagus untuk proyek besar dan kritis
       Fungsionalitas tambahan dapat ditambahkan di kemudian hari
       Lebih cocok untuk proyek-proyek berisiko tinggi, di mana kebutuhan bisnis mungkin berbeda dari waktu ke waktu
Kerugian Spiral Model :
       Model yang mahal untuk digunakan dalam hal pengembangan
       Keberhasilan seluruh proyek tergantung pada fase analisis risiko sehingga, kegagalan dalam fase ini dapat merusak seluruh proyek
       Tidak sesuai untuk proyek berisiko rendah
       Risiko besar metodologi ini adalah bahwa hal itu dapat berlanjut tanpa batas waktu dan tidak pernah selesai
7.     Extreme Programming Methodology
Extreme Programming Methodology adalah metodologi rekayasa perangkat lunak yang gesit. Dikenal sebagai metodologi XP terutama digunakan untuk membuat perangkat lunak dalam lingkungan yang sangat tidak stabil. Tujuan utama model XP ini adalah untuk menurunkan biaya persyaratan perangkat lunak.
Keuntungan Extreme Programming Methodology :
       Menekankan pada keterlibatan pelanggan
       Membantu untuk menetapkan rencana dan jadwal yang rasional dan membuat para pengembang berkomitmen secara pribadi terhadap jadwal mereka yang tentunya merupakan keuntungan besar dalam model XP
       Konsisten dengan sebagian besar metode pengembangan modern sehingga, pengembang dapat menghasilkan perangkat lunak berkualitas
Kerugian Extreme Programming Methodology :
       Hanya seefektif orang-orang yang terlibat, Agile tidak menyelesaikan masalah ini
       Model pengembangan perangkat lunak semacam ini membutuhkan pertemuan dengan interval yang sangat sering dengan biaya besar bagi pelanggan
       Membutuhkan terlalu banyak perubahan pengembangan yang benar-benar sangat sulit untuk diadopsi setiap kali bagi pengembang perangkat lunak
       Cenderung tidak mungkin untuk diketahui perkiraan pasti dari upaya kerja yang diperlukan untuk memberikan penawaran, karena pada awal proyek tidak ada yang menyadari tentang seluruh ruang lingkup dan persyaratan proyek
8.     Feature Driven Development
Feature Driven Development adalah metodologi pengembangan perangkat lunak berulang yang dimaksudkan untuk digunakan oleh tim besar yang mengerjakan proyek menggunakan teknologi berorientasi objek.
Keuntungan Feature Driven Development :
       Membantu untuk memindahkan proyek dengan ukuran lebih besar dan mendapatkan kesuksesan yang berulang
       Lima proses sederhana membantu menyelesaikan pekerjaan dalam waktu singkat dan cara termudah
       Dibangun di atas standar yang ditetapkan untuk industri pengembangan perangkat lunak, sehingga membantu pengembangan mudah dan praktik terbaik yang diakui industri
Kerugian Feature Driven Development :
       Bukan metodologi yang ideal untuk proyek yang lebih kecil sehingga, itu tidak baik untuk pengembang perangkat lunak individu
       Ketergantungan yang tinggi pada pengembang utama berarti orang tersebut harus diperlengkapi sepenuhnya untuk bertindak sebagai koordinator, perancang utama, dan mentor
       Tidak ada dokumentasi tertulis yang diberikan kepada klien dalam metodologi ini sehingga, mereka tidak bisa mendapatkan bukti untuk perangkat lunak mereka sendiri
9.     Joint Application Development Methodology
Joint Application Development Methodology (JAD) adalah metodologi persyaratan-definisi dan pengembangan antarmuka pengguna di mana pengguna akhir, klien dan pengembang menghadiri rapat luar-ruang yang intens untuk bekerja dan menyelesaikan sistem perangkat lunak. Bertujuan untuk melibatkan klien dalam desain dan pengembangan aplikasi.
Keuntungan Joint Application Development Methodology :
       Memungkinkan pengumpulan dan konsolidasi secara simultan sejumlah besar informasi
       Mode pengembangan perangkat lunak ini secara efektif menghasilkan sejumlah besar informasi berkualitas tinggi dalam waktu singkat
       Perbedaan diselesaikan segera dengan bantuan yang tepat dari penyelenggara
       Menyediakan forum untuk mengeksplorasi berbagai sudut pandang mengenai suatu topik
Kerugian Joint Application Development Methodology :
       Membutuhkan banyak waktu karena memerlukan upaya perencanaan dan penjadwalan yang signifikan dari pihak tim pengembangan proyek
       Membutuhkan komitmen investor yang signifikan dalam hal waktu dan upaya
       Membutuhkan personel yang terlatih dan berpengalaman untuk implementasi yang efektif dari seluruh proyek         
10.  Lean Development Methodology
Lean Development Methodology berfokus pada penciptaan perangkat lunak yang mudah diubah dan lebih fokus secara strategis daripada jenis metodologi tangkas lainnya. Tujuannya adalah untuk mengembangkan perangkat lunak dalam sepertiga waktu, dengan anggaran yang sangat terbatas dan jumlah alur kerja yang diperlukan sangat sedikit.
Keuntungan Lean Development Methodology :
       Penghapusan awal efisiensi keseluruhan dari proses pengembangan tentu saja membantu mempercepat proses seluruh pengembangan perangkat lunak yang tentunya mengurangi biaya proyek
       Memberikan produk lebih awal adalah keuntungan yang pasti. Ini berarti bahwa tim pengembang dapat memberikan lebih banyak fungsionalitas dalam periode waktu yang lebih singkat, sehingga memungkinkan lebih banyak proyek untuk disampaikan
       Pemberdayaan tim pengembangan membantu dalam mengembangkan kemampuan pengambilan keputusan anggota tim yang menciptakan lebih banyak motivasi di antara anggota tim
Kerugian Lean Development Methodology :
       Keberhasilan dalam pengembangan perangkat lunak tergantung pada seberapa disiplin anggota tim dan bagaimana memajukan keterampilan teknis mereka
       Peran seorang analis bisnis sangat penting untuk memastikan dokumentasi persyaratan bisnis dipahami dengan benar. Jika organisasi mana pun tidak memiliki orang dengan analis bisnis yang tepat maka metode ini mungkin tidak berguna bagi mereka
       Fleksibilitas besar diberikan kepada pengembang yang tentu saja hebat, tetapi terlalu banyak akan dengan cepat mengarah ke tim pengembangan yang kehilangan fokus pada tujuan aslinya.
11.  Rational Unified Process Methodology
Rational Unified Process Methodology yang dikenal sebagai RUP adalah satu proses pengembangan perangkat lunak modern. Metodologi ini membagi proses pengembangan menjadi empat fase berbeda yang masing-masing melibatkan pemodelan bisnis, analisis dan desain, implementasi, pengujian dan penyebaran. Ini adalah metodologi pengembangan program berorientasi objek dan webenabled.
Keuntungan Rational Unified Process Methodology :
       Menekankan pada dokumentasi yang akurat
       Secara proaktif mampu menyelesaikan risiko proyek yang terkait dengan kebutuhan klien yang berkembang untuk perubahan yang hati-hati dan manajemen permintaan
       Lebih sedikit kebutuhan akan integrasi ketika proses integrasi berlangsung sepanjang proses pengembangan
Kerugian Rational Unified Process Methodology :
       Pengembang perangkat lunak harus ahli dalam pekerjaannya untuk mengembangkan perangkat lunak di bawah metodologi ini.
       Proses pengembangan dalam metodologi ini sangat kompleks dan tidak terorganisir dengan tepat.
       Integrasi sepanjang proses pengembangan perangkat lunak menambah kebingungan yang menyebabkan lebih banyak masalah selama tahap pengujian.
       Terlalu rumit sehingga sangat sulit untuk dipahami.
12.  Scrum Development Methodology
Scrum Development Methodology dapat diterapkan untuk hampir semua proyek. Model pengembangan perangkat lunak Scrum dimulai dengan perencanaan singkat, pertemuan, dan diakhiri dengan tinjauan akhir. Metodologi pengembangan ini digunakan untuk pengembangan perangkat lunak yang cepat yang mencakup serangkaian iterasi untuk membuat perangkat lunak yang diperlukan.
Keuntungan Scrum Development Methodology :
       Pengambilan keputusan sepenuhnya berada di tangan tim
       Memungkinkan proyek di mana dokumentasi persyaratan bisnis tidak dianggap sangat signifikan untuk pengembangan yang sukses
       Ini adalah metode yang dikontrol secara ringan yang benar-benar berempati pada pembaruan yang sering dari kemajuan, oleh karena itu, langkah pengembangan proyek terlihat dalam metode ini
       Rapat harian dengan mudah membantu pengembang untuk memungkinkannya mengukur produktivitas individu. Ini mengarah pada peningkatan produktivitas masing-masing anggota tim
Kerugian Scrum Development Methodology :
       Estimasi biaya dan waktu proyek tidak akurat
       Tidak cocok untuk proyek ukuran besar
       Hanya membutuhkan anggota tim yang berpengalaman.
KESIMPULAN
Metodologi pengembangan perangkat lunak di atas sangat penting yang sebagian besar digunakan untuk berbagai proyek pengembangan perangkat lunak. Selain itu, semua metodologi ini bekerja dengan baik dalam proyek-proyek tertentu tergantung pada sifat proyek. Sering terjadi bahwa satu metodologi yang cocok untuk proyek tertentu mungkin tidak cocok untuk proyek lain. Selain itu, tidak satu pun dari metodologi ini yang sangat mudah karena masing-masing memiliki pro dan kontra sendiri. Jadi, pengembang perangkat lunak harus memiliki informasi tentang semua metodologi ini sebelum memilih salah satu dari metode pengembangan ini untuk proyek pengembangan perangkat lunak mereka.

Tidak ada komentar:

Posting Komentar