Waterfall Model
Keunggulan:1. Software yang dikembangkan dengan metode ini biasanya menghasilkan kualitas yang baik.
2. Document pengembangan sistem sangat terorganisir, karena setiap fase harus terselesaikan dengan lengkap sebelum melangkah ke fase berikutnya.
3. Mudah diaplikasikan
4. Memberikan template tentang metode analisis, desain, pengkodean, pengujian, dan pemeliharaan
5. Cocok digunakan untuk produk software yang sudah jelas kebutuhannya di awal, sehingga minim kesalahannya
6. Merupakan model pengembangan paling handal dan paling lama digunakan.
7. Cocok untuk system software berskala besar.
8. Cocok untuk system software yang bersifat generic.
9. Pengerjaan project system akan terjadwal dengan baik dan mudah dikontrol
Kekurangan :
1. Membutuhkan keahlian yang baik atau yang telah berpengalaman dalam mengembangkan perangkat lunak, dalam arti metode ini kurang cocok bagi pemula.
2. Diperlukan majaemen yang baik, karena proses pengembangan tidak dapat berulang sebelum menghasilkan suatu produk, yaitu aplikasi. Jadi apabila dalam suatu proses seperti perancangan tidak selesai tepat waktu, maka akan mempengaruhi keseluruhan proses pengembangan perangkat lunak.
3. Iterasi sering terjadi menyebabkan masalah baru
4. Client kesulitan untuk menyatakan semua keinginannya secara eksplisit diawal tahap pengembangan
5. Hasil software yang dikembangkan baru akan diketahui lama setelah proyek pengembangan dimulai
6. Terjadinya pembagian proyek menjadi tahap-tahap yang tidak fleksibel, karena komitmen harus dilakukan pada tahap awal proses
7. Sulit untuk mengalami perubahan kebutuhan yang diinginkan customer
8. Customer harus sabar untuk menanti produk selesai, karena dikerjakan tahap per tahap,menyelesaikan tahap awal baru bisa ke tahap selanjutnya
9. Perubahan ditengah-tengah pengerjaan produk akan membuat bingung team work yang sedang membuat produk
10. Adanya waktu menganggur bagi pengembang, karena harus menunggu anggota tim proyek lainnya menuntaskan pekerjaannya
Contoh: Pembangunan aplikasi GIS mobile di Kota Padang.
Incremental Process Model
Kelebihan:1. Cocok digunakan bila pembuat software tidak banyak/kekurangan pembuat
2. Mampu mengakomodasi perubahan kebutuhan customer
3. Merupakan model dengan manajemen yang sederhana
4. Pelanggan tidak perlu menunggu sampai seluruh system dikirim untuk mengambil keuntungan dari system tersebut. Inkremen yang pertama sudah memenuhi persyaratan mereka yang paling kritis, sehingga perangkat lunak dapat segera digunakan.
5. Pelanggan dapat memakai inkremen yang pertama sebagai bentuk prototype dan mendapatkan pengalaman yang dapat menginformasikan persyaratan untuk inkremen system berikutnya
6. Resiko untuk kegagalan proyek secara keseluruhan lebih rendah. Walaupun masalah dapat ditemukan pada beberapa inkremen, bias saja beberapa inkremen diserahkan dengan sukses kepada pelanggan.
7. Karena layanan dengan prioritas tertinggi diserahkan pertama dan inkremen berikutnya diintegrasikan dengannya, sangatlah penting bahwa layanan system yang paling penting mengalami pengujian yang paling ketat. Ini berarti bahwa pelanggan akan memiliki kemungkinan kecil untuk memenuhi kegagalan perangkat lunak pada inkremen system yang paling kecil.
Kekurangan:
1. Hanya akan berhasil jika tidak ada staffing untuk penerapan secara menyeluruh
2. Penambahan staf dilakukan jika hasil incremental akan dikembangkan lebih lanjut
3. Hanya cocok untuk proyek dengan skala kecil
4. Inkremen harus relative lebih kecil (tidak lebih dari 20.000 baris kode) dan setiap inkremen harus menyediakan sebagian dari fungsional system
5. Adanya kesulitan untuk memetakan persyaratan pelanggan pada inkremen dengan ukuran yang benar
Contoh penggunaannya: Misalnya, perangkat lunak pengolah kata yang dikembangkan dengan menggunakan paradigma penambahan akan menyampaikan manajemen file dasar, editing serta fungsi penghasilan dokumen pada penambahan pertama; kemudian editing dan kemampuan penghasilan dokumen yang lebih canggih pada pertambahan kedua; pengecekan spelling dan tata bahasa pada pertambahan ketiga; serta kemampuan pengaturan halaman tingkat lanjut pada tahap pertambahan keempat. Harus dicatat bahwa aliran proses untuk berbagai pertambahan tersebut dapat menggabungkan paradigma prototype.
Prototyping Model
Keungggulan :1. Adanya kominuikasi yang baik antara pengembang dan pelanggan
2. Pengembang dapat bekerja lebih baik dalam menentukan kebutuhan pelanggan
3. Pelangggan berperan aktif dalam pengembangan sistem
4. Lebih menghemat waktu dalam pengembangan sistem
5. Penerapan menjadi lebih mudah karena pemakai mengetahui apa yang diharapkannya
6. Dapat memberikan bukti konsep yang diperlukan untuk menarik dana
7. Meningkatkan kecepatan pengembangan sistem
Kelemahan :
1. Ketidaksadaran user bahwa ini hanya suatu model awal bukan model akhir
2. Pengembang kadang-kadang membuat implementasi yang sembarangan.
3. Teknik dan tools yang tidak optimal pada prototipe yang akan tetap digunakan pada softare sesungguhnya
4. Proses analisis dan perancangan terlalu singkat
5. Biasanya kurang fleksible dalam mengahadapi perubahan
6. Walaupun pemakai melihat berbagai perbaikan dari setiap versi prototype, tetapi pemakai mungkin tidak menyadari bahwa versi tersebut dibuat tanpa memperhatikan kualitas dan pemeliharaan jangka panjang
Contoh penggunaan:
Sistem yang paling sesuai untuk prototipe adalah satu dari banyak hal yang bergantung pada sistem input/output dari user. Sistem dengan transaksi on-line dikendalikan melalui menu, layar, formulir, laporan, daftar dan perintah.
Spiral Model
Kelebihan:1. Lebih cocok untuk pengembangan sistem dan perangkat lunak skala besar
2. Pengembang dan pemakai dapat lebih mudah memahami dan bereaksi terhadap resiko setiap tingkat evolusi karena perangkat lunak terus bekerja selama proses
Kelemahan:
1. Sulit untuk meyakinkan pemakai (saat situasi kontrak) bahwa penggunaan pendekatan ini akan dapat dikendalikan
2. Memerlukan tenaga ahli untuk memperkirakan resiko, dan harus mengandalkannya supaya sukses
3. Belum terbukti apakah metode ini cukup efisien karena usianya yang relatif baru