Daftar Isi
LancangKuning - Menurut Wikipedia metode waterfall atau sering disebut juga sebagai classic life cycle ialah suatu metode pengembangan perangkat lunak (software) yang menekankan fase-fase yang berurutan dan sistematis, dimulai dari spesifikasi kebutuhan Pengguna dan berkembang melalui proses perencanaan, pemodelan, pembangunan dan penyebaran.
Metode ini biasanya digunakan pada saat kebutuhan untuk sebuah masalah yang telah dipahami dengan baik, dan pekerjaan dapat mengalir secara linear dari proses komunikasi hingga penyebaran. Situasi seperti ini ditemui saat terjadi adaptasi atau perpanjangan dari sistem yang ada sudah terdefinisi sebelumnya. Namun dalam pengembangan perangkat lunak, model ini menjadi salah satu pendekatan yang kurang iteratif dan fleksibel, karena proses mengalir satu arah saja.
Sejarahnya Metode Waterfall
Presentasi yang pertama kali menggambarkan penggunaan dari fase Metode waterfall dalam rekayasa perangkat lunak (software) ditunjukkan oleh Herbert D. Benington di Symposium on Advanced Programming Methods for Digital Computers pada tanggal 29 Juni 1956. Presentasi ini tentang pengembangan perangkat lunak untuk SAGE. Tahun 1983 kemudian makalah ini diterbitkan kembali dengan kata pengantar yang diberikan oleh Benington, ia menjelaskan mengenai fase-fase metode waterfall disusun sesuai dengan spesialisasi tugas dan menunjukkan bahwa proses tersebut tidak dilakukan dengan cara top-down yang ketat, tetapi tergantung pada prototypenya.
Deskripsi formal pertama dari model waterfall sering dikutip sebagai artikel pada tahun 1970 oleh Winston W. Royce, meski Royce tidak menggunakan istilah waterfall dalam artikelnya. Royce menyajikan model ini sebagai contoh model cacat yang tidak bisa bekerja.
Tahapan pada Metode Waterfall
Saat pengembangannya metode waterfall memiliki beberapa tahapan (aturan) yang berurutan yaitu requirement. Berikut ini adalah tahapan-tahapan dari metode waterfall :
- Requirement Analysis
Tahap ini pengembang sistem diharuskan melakukan komunikasi yang baik dengan pengguna untuk memahami perangkat lunak yang diharapkan dan apa saja batasan perangkat lunak tersebut. Informasi di awal ini biasanya didapatkan melalui wawancara, diskusi ataupun survei langsung. Informasi ini akan dianalisis untuk mendapatkan data yang dibutuhkan.
- System Design
Spesifikasi kebutuhan yang berasal dari tahap awal akan dipelajari pada fase ini dan desain sistem akan disiapkan. Desain Sistem ini membantu dalam menentukan perangkat keras (hardware), persyaratan sistem dan juga membantu dalam mendefinisikan arsitektur sistem secara keseluruhan.
- Implementation
Dalam tahap ini system dikembangkan pada program kecil yang disebut sebagai unit, yang terintegrasi dalam tahap selanjutnya. Setiap unit dikembangkan dan akan diuji untuk fungsionalitas yang disebut sebagai unit testing.
- Integration & Testing
Semua unit yang akan dikembangkan dalam tahap implementasi diintegrasikan ke dalam sistem setelah pengujian yang akan dilakukan oleh masing-masing unit. Setelah integrasi seluruh sistem diuji untuk mengecek setiap kegagalan dan kesalahan yang ada.
- Operation & Maintenance
Perangkat lunak yang sudah jadi, dijalankan serta dilakukan pemeliharaan (maintenance). Pemeliharaan termasuk dalam memperbaiki kesalahan (bug) yang tidak ditemukan sebelumnya.
Kelebihan Metode Waterfall
Setiap metode pengembangan perangkat lunak (software) pasti tidak ada yang sempurna karena tidak ada yang bisa memenuhi seluruh keinginan baik pengembang maupun pengguna. Berikut Keuntungan dari metode waterfall
1. Rangkaian Kerja Jelas
Dengan metode waterfall tahapan pengembangan sistem menjadi sangat jelas. Masing-masing anggota yang terdiri dari Analis, desainer, programmer, tester ataupun pemasaran memiliki tugas yang terdefinisi dengan sangat baik. Setiap tim akan bekerja sesuai alur dalam metode ini, sehingga kesalahan-kesalahan bersifat teknis dapat dihindari.
2. Berkomitmen Pada Tujuan Akhir
Pada tahap awal klien dan tim analis akan bertemu untuk mendefinisikan detail kebutuhan dari perangkat lunak (software) yang akan dibuat. Kemudian klien dan seluruh tim yang terlibat mengetahui gambaran dan tujuan akhir dari sistem yang akan dibuat. Tidak dibolehkan adanya perubahan ditengah proses baik itu dari pihak developer ataupun klien. Semuanya harus sejalan dengan tujuan yang telah disepakati disaat awal pertemuan.
3. Dokumentasi yang Baik
Setiap informasi akan tercatat, terdistribusi dan bisa diakses dengan cepat oleh setiap anggota tim. Dokumentasi ini juga berguna saat ada 1 atau beberapa anggota tim mundur ataupun memiliki kesibukan lain saat proyek sedang berjalan. Dengan dokumentasi yang baik maka anggota tim baru nanti akan dapat lebih mudah beradaptasi dengan sistem dan prosedur yang sudah ada. Selain itu, setiap divisi tim juga akan lebih mudah menyelesaikan pekerjaannya masing-masing.
4. Hemat Waktu dan Biaya
Hal yang biasanya menjadi penyebab lamanya waktu penyelesaian software adalah kebutuhan klien yang selalu berubah-ubah dan banyaknya campur tangan klien pada saat proses pengerjaan. Dalam metode waterfall, klien tidak akan bisa leluasa mencampuri proses pembuatan software tersebut, terlebih lagi ketika sudah memasuki tahap programming. Dengan begitu pihak developer dapat membuat estimasi waktu dan juga biaya pengerjaannya.
5. Cocok untuk Pembuatan Software Berskala Besar
Metode Waterfall ini dinilai cocok untuk pengerjaan software yang melibatkan adanya banyak sumber daya dan memiliki prosedur yang kompleks. Namun ada juga beberapa ahli yang berpendapat bahwa metodologi waterfall lebih baik digunakan pada proyek yang skalanya kecil.
Kekurangan Metode Waterfall
Selain kelebihan tentu juga ada kekurangan dalam metode ini. Berikut ini beberapa kekurangan didalam metode waterfall.
1. Membutuhkan Tim dan Manajemen yang Solid
Masing-masing divisi tim harus bertanggung jawab untuk melakukan setiap tugasnya. Jika satu tim saja gagal mengerjakan pekerjaan, maka itu akan berdampak pada keseluruhan projek.
2. Kurang Flexible Bagi Pengguna
Semua tim harus bekerja sesuai pada arahan dan tujuan yang ditetapkan diawal. Metode ini tidak mengakomodir adanya perubahan-perubahan spesifikasi yang terjadi pada saat proses telah berjalan.
3. Waktu Pembuatan Software Lebih Lama
Metode waterfall tidak memungkinkan seluruh tim bekerja bersamaan. Tim desain tidak bisa bekerja jika tim analis belum selesai melakukan tugasnya. Begitupun para programmer yang harus menunggu tim analis & desain menyelesaikan tugasnya. Pekerjaan akan menjadi lambat dan pembuatan software akan memakan waktu lebih lama dibandingkan metode lainnya.
4. Kenaikan Biaya dan Tanggal Rilis
Masalah yang terjadi dalam model waterfall adalah jika dalam tahap pengetesan terdapat konflik atau bug yang rumit. Ini bisa memakan waktu lama dan menyebabkan proyek menjadi semakin lama.(Ali)
Komentar