Sejarah dan tahapan model tersebut
Penggunaan metode waterfall pertama kali diperkenalkan oleh Herbert D. Benington di Symposium on Advanced Programming Method for Digital Computers pada tanggal 29 Juni 1956. Presentasi tersebut menjelaskan tentang pengembangan perangkat lunak untuk SAGE (Semi Automatic Ground Environment).
Pada tahun 1983, dipresentasikan kembali oleh Benington dan menjelaskan tentang fase – fase dalam proses pengembangannya. Dan pada tahun 1985, Departemen Pertahanan Amerika Serikat juga menggunakan metode ini dengan beberapa tahapan yang digunakan, terdiri dari 6 fase, yaitu: Preliminary design, Detailed design, Coding and unit testing, Integration, dan Testing.
Kelebihan Metode Waterfall
Berikut ini merupakan beberapa kelebihan yang dimiliki oleh metode waterfall, antara lain:
1. Workflow yang jelas
Dengan menggunakan model SDLC jenis ini, mempunyai rangkaian alur kerja sistem yang jelas dan terukur. Masing – masing tim, memiliki tugas dan tanggung jawab sesuai dengan bidang keahliannya. Serta dapat menyelesaikan pekerjaan sesuai dengan alokasi waktu yang telah ditentukan sebelumnya.
2. Hasil dokumentasi yang baik
Waterfall merupakan pendekatan yang sangat metodis, dimana setiap informasi akan tercatat dengan baik dan terdistribusi kepada setiap anggota tim secara cepat dan akurat.
Dengan adanya dokumen, maka pekerjaan dari setiap tim akan menjadi lebih mudah, serta mengikuti setiap arahan dari dokumen tersebut.
3. Dapat menghemat biaya
Kelebihan yang selanjutnya tentu saja dari segi resource dan biaya yang dikeluarkan oleh suatu perusahaan dengan menggunakan model ini. Jadi, dalam hal ini klien tidak dapat mencampuri urusan dari tim pengembang aplikasi. Sehingga pengeluaran biaya menjadi lebih sedikit.
Berbeda dengan metode Agile, yang mana klien dapat memberikan masukan dan feedback kepada tim developer terkait dengan perubahan atau penambahan beberapa fitur. Sehingga perusahaan akan mengeluarkan biaya yang lebih besar daripada Waterfall.
Kelemahan dari Metode Waterfall
Berikut ini terdapat beberapa kelemahan dari metode waterfall, diantaranya adalah sebagai berikut:
1. Membutuhkan tim yang solid
Untuk menggunakan model SDLC ini, tentu saja membutuhkan dukungan dari setiap stakeholders yang ada. Setiap tim harus mempunyai kerja sama dan koordinasi yang baik. Dikarenakan, apabila salah satu tim tidak dapat menjalankan tugas dengan semestinya, maka akan sangat berpengaruh terhadap alur kerja tim yang lain.
2. Masih kurangnya fleksibilitas
Semua tim dituntut untuk bekerja sesuai dengan arahan dan petunjuk yang telah ditetapkan di awal. Sehingga, klien tidak dapat mengeluarkan pendapat dan feedback kepada tim pengembang. Klien hanya dapat memberikan masukan pada tahap awal perancangan sistem perangkat lunak saja.
3. Tidak dapat melihat gambaran sistem dengan jelas
Dengan model waterfall, customer tidak dapat melihat gambaran sistem secara jelas. Berbeda dengan model agile yang dapat terlihat dengan baik meskipun masih dalam proses pengembangan.
4. Membutuhkan waktu yang lebih lama
Proses pengerjaan dengan menggunakan waterfall terbilang cukup lama jika dibandingkan dengan model SDLC yang lain. Karena, tahapan pengerjaan aplikasi yang dilakukan satu per satu membuat waktu yang dibutuhkan menjadi lebih lama. Sebagai contoh, tim developer tidak akan bisa melakukan proses coding jika tim designer belum menampilkan tampilan desain dari aplikasi.
Contoh kasus proyek perangkat lunak yang menggunakan model tersebut
salah satu model proses paling terkenal dalam pengembangan perangkat lunak. Ini telah berhasil digunakan selama beberapa dekade, tetapi sekarang hanya untuk proyek-proyek kecil di mana spesifikasinya jelas. Namun, kelemahan yang disebutkan di atas, juga membuat analis dan pengembang merancang model alternatif yang disebut pengembangan perangkat lunak gesit. Masalah utama dari model air terjun adalah bahwa perubahan dan revisi belum tentu disediakan oleh urutan logis. Umpan balik dari pelanggan, penguji, dan insinyur selama pengembangan sebagian hilang dan integrasi perangkat lunak ke dalam sistem yang ada berlangsung sekaligus. Kelemahan ini dapat dihindari dengan memodifikasi fase proyek, seperti halnya dengan model spiral. Tetapi untuk beberapa tahun sekarang, metode gesit yang menggunakan elemen struktural lainnya jauh lebih populer (misalnya, peran dan sprint dengan Scrum atau prinsip-prinsip pemrograman ekstrim). Sebagai aturan, mereka lebih ekonomis, mengarah pada hasil yang lebih cepat dan lebih transparan bagi pelanggan. Sebagai aturan, mereka lebih ekonomis, mengarah pada hasil lebih cepat dan lebih transparan bagi pelanggan.