Setiap metodologi berusaha untuk memastikan bahwa software yang dikembangkan sesuai dengan requirement yang dibutuhkan. Setiap metode yang ada memiliki value proposition sendiri dan kelebihan serta kekurangannya masing-masing.
Model Waterfall
Waterfall adalah metode paling tua dalam pengembangan software. Secara substansi ia mensimplifikasi proses software engineering ke dalam diagram proses yang linear dimana penyelesaian dari task sebelumnya sangat penting bagi pengembang untuk bisa mengerjakan pekerjaan yang lain.
a. Keunggulan
- Mudah dimengerti, sehingga baik digunakan oleh pemula
- Mudah untuk di-manage karena setiap fase memiliki deliverables nya masing-masing dan proses review
- Cepat untuk diimplementasi untuk proyek dengan skala kecil dimana requirement dapat dimengerti dengan baik
- Desain yang sederhana membuatnya mudah untuk di testing dan dianalisis
b. Kelemahan
- Metode ini hanya cocok untuk proyek dengan requirement yang sudah sangat jelas dengan detail requirement yang
bisa disampaikan di awal
- Metode ini tidak cocok untuk proyek maintenance atau proyek jangka panjang
- Tidak fleksibel: ketika aplikasi di launch, tidak memungkinkan untuk memodifikasi atau merubah sistem yang dibuat
- Tidak bisa membuat software yang lain sampai seluruh proses waterfall selesai
Metode Agile Software Development
Agile fokus pada perencanaan yang adaptif, evolutionary development, dan improvement yang berkelanjutan melalui respon yang fleksibel terhadap perubahan. Tujuan akhir dari metode ini adalah release yang lebih cepat dengan risiko bugs/issue yang lebih sedikit.
a. Keunggulan
- Pendekatan yang adaptif sehingga dapat merespon perubahan requirement dengan sangat cepat dan efisien
- Feedback yang berkesinambungan akan meminimalisir risiko dengan signifikan
- Komunikasi yang berkelanjutan meningkatkan transparansi antara klien dan tim development
- Fokus pada pengerjaan software, sehingga tidak perlu terlalu khawatir pada dokumentasi
b. Kekurangan:
- Scope pengerjaan yang bisa berubah kapanpun dapat menyebabkan kurangnya fokus dari tim development dan
menyebabkan isu jika brief yang diberikan tidak jelas
- Kurangnya dokumentasi dana meningkatkan risiko miscommunication
Metode Prototype
Model ini mendukung developer untuk membuat prototype sehingga mereka bisa mendemonstrasikan fungsionalitas softwarenya kepada klien dan membuat modifikasi berdasarkan feedback yang diberikan. Metode ini mirip dengan membuat MVP, kita menciptakan versi pre-develop dulu sebelum menginvestasikan waktu dan uang untuk menciptakan produk yang lebih lengkap.
a. Keunggulan
- Dengan metode ini, kita bisa memberikan klien experience yang lebih awal untuk software yang akan digunakan dan
memperbaiki serta melengkapinya dengan feedback yang diberikan klien
- Karena kita telah mengidentifikasi risiko dan isu yang mungkin terjadi di awal, kita juga dapat mengurangi risiko
kegagalan
- Komunikasi antara klien dan tim pengembang yang intens akan memperkuat hubungan antara kedua belah pihak
b. Kelemahan
- Prototyping cukup mahal. Disisi lain, prototyping dapat mengurangi risiko, sehingga kita dapat meminimalisir potensi
budget terbuang di-awal waktu
- Pelibatan di awal dengan klien bisa saja menjadi hal yang buruk, mereka mungkin akan terlalu banyak ikut campur dan
meminta banyak perubahan tanpa sepenuhnya memahami proyek secara keseluruhan
- Terlalu banyak modifikasi akan mengganggu workflow dari tim development
Komentar
Posting Komentar