Surabaya, Oktober 2023 – Jika kemarin sudah mengenal arti dari Software Development Life Cycle (SDLC) pada artikel sebelumnya, selanjutnya perlu juga untuk mengenal model-model yang biasa dipakai dalam tahap pengembangan software. Beberapa perusahaan dapat memodifikasi tiap model yang mereka gunakan sesuai dengan kebutuhan dan tujuan dari perusahaan itu sendiri. Namun, prinsip model yang mereka gunakan tetaplah berasal dari prinsip utama tahapan pengembangan software yaitu 7 tahapan pengembangan software yang sudah kita bahas di artikel sebelumnya.
Ada beberapa model yang cukup populer dalam pengembangan software yaitu:
- Waterfall model
Metode / model SDLC pertama adalah waterfall. Model waterfall menunjukkan fase sekuensial dan sistematik atau berurutan. Dikatakan model waterfall karena proses dan alurnya mengalir ke satu arah kebawah seperti air terjun. Metode ini harus dan wajib mengikuti urutan dari tahapan yang sudah ditentukan.
Adapun beberapa keuntungan dalam menggunakan model waterfall antara lain:
- Proses dijalankan secara berurutan, jadi pekerjaan juga dapat dilakukan dengan tepat dan lebih mudah.
- Cocok untuk sistem dengan kompleksitas rendah atau terprediksi.
- Setiap proses yang dilakukan tidak boleh mendahului satu sama lain.
Selain keuntungan, model waterfall juga memiliki kelemahan seperti:
- Waktu untuk proses yang dijalankan relatif lebih lama karena harus menunggu sampai tahapan yang sebelumnya selesai.
- Biaya yang dibutuhkan lebih banyak karena waktu pengembangan juga membutuhkan waktu yang lebih lama.
- Model waterfall tidak cocok untuk pengembangan dari proyek yang memiliki kompleksitas tinggi.
- Prototype Model
Model SDLC selanjutnya adalah dengan menggunakan metode prototype. Metode prototype adalah metode yang memberikan pengguna untuk menggunakan gambar inisial dari software untuk dikembangkan. Pengguna dapat melakukan testing lebih dahulu sebelum software dapat di rilis.
Metode ini bertujuan untuk mengembangkan model menjadi hasil akhir software. Yang mana berarti sistem yang digunakan untuk pengembangan akan lebih cepat dan biaya yang dibutuhkan dapat lebih sedikit. Metode ini mempunyai tahapan yang harus dilakukan seperti dalam pengembangan software lainnya.
Metode prototype memiliki keuntungan seperti :
- Waktu pengembangan yang lebih singkat.
- Penyebaran fitur dapat dilakukan dengan lebih mudah karena ekspektasi dari developer dapat lebih cepat diketahui.
Selain keuntungan, adapu kelemahan dari metode prototype yaitu :
- Proses untuk menganalisa dan perancangan terlalu singkat sehingga dapat lebih beresiko.
- Fleksibilitas metode ini kurang tinggi jika terdapat perubahan dalam proyek.
- Big Bang Model
Model BigBang terdiri dengan fokus kepada semua sumber yang memungkinkan pengembangan software dan coding dengan perencanaan yang sedikit atau bahkan tidak ada perencanaan sama sekali. Kebutuhan dapat dipahami dan di implementasikan saat kebutuhan tersebut ditemukan.
Jika ada perubahan kebutuhan, kemungkinan dapat merubah software yang sudah lengkap. Model ini sangat ideat untuk proyek kecil dengan pengembang berjumlah 1 atau 2 orang yang bekerja Bersama dan juga berguna untuk proyek akademik atau sekadar latihan. Model ini juga cocok untuk produk yang memiliki kebutuhannya belum terlalu dipahami dan tanggal rilisnya masih belum diketahui.
Model BigBang memiliki keuntungan seperti :
- Model yang sangat simple.
- Perencanaan sangat sedikit atau bahkan tanpa perencanaan sama sekali.
- Mudah diatur.
- Membutuhkan sumber daya yang sedikit.
- Memberikan fleksibiltas untuk developer.
- Menjadi wadah yang bagus untuk pemula yang ingin belajar dan berlatih.
Model BIgBang memiliki kelemahan seperti :
- Resiko yang dihadapi akan sangat tinggi dan tidak menentu.
- Model ini tidak cocok untuk proyek yang kompleks dan proyek yang berorientasi pada objek.
- Model ini kurang bagus untuk proyek jangka panjang dan proyek yang sedang berjalan.
- Model ini bisa menjadi sangat mahal jika kebutuhannya salah dipahami.
- Agile Model
Model keempat yaitu, metode Agile. Metode Agile adalah metode yang fleksibel dimana pengembangan dapat diselesaikan dalam jangka pendek. Bagaimanapun, metode ini membutuhkan adaptasi yang sangat cepat dari developer untuk perubahan dalam bentuk apapun.
Metode agile memiliki beberapa keuntungan yaitu :
- Perubahan dapat ditangani dengan cepat.
- Proses pengembangan software membutuhkan waktu relative lebih cepat dan tidak membutuhkan sumber daya yang besar.
- Klien dapat memberikan feedback kepada developer dalam proses pemrograman.
Metode agile memiliki beberapa kelemahan seperti :
- Metode ini tidak cocok untuk tim yang berjumlah lebih dari 20 orang.
- Tim harus selalu bersiap sedia karena perubahan dapat terjadi sewaktu-waktu.
- Metode ini kurang cocok untuk tim yang berkomitmen untuk menyelesaikan proyek secara bersamaan.
Metode Agile merupakan metode yang cukup populer di kalangan perusahaan software kali ini, contohnya adalah Spotify. Spotify mengadaptasi metode agile dengan memodifikasinya sesuai dengan kebutuhan di perusahaan. Modifikasi metode agile dalam Spotify banyak mengkolaborasikan tim dengan tim lainnya sehingga inovasi dan perubahan untuk aplikasinya sendiri dapat tertangani dengan waktu yang relatif cepat.