Metode Waterfall

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 :

    1. 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.

    1. 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.

    1. 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.

    1. 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.

    1. 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)

    Bagikan Artikel

    data.label
    data.label
    data.label
    data.label
    Beri penilaian untuk artikel Metode Waterfall
    Sangat Suka

    0%

    Suka

    0%

    Terinspirasi

    0%

    Tidak Peduli

    0%

    Marah

    0%

    Komentar