Metode waterfall adalah salah satu metode pengembangan perangkat lunak yang cukup popular karena dianggap mudah untuk diterapkan. Mengetahui lebih lengkap mengenai metode ini akan membantumu dalam menerapakannya.
Bagaimana metode ini bermula dan berkembang? Dan seperti apa tahapan pengoperasiannya? Berikut adalah informasi seputar metode waterfall dan tahapannya yang perlu untuk kamu ketahui.
Apa itu metode waterfall?
Metode waterfall menggambarkan proses pengembangan software menggunakan pendekatan sekuensial linier - EKRUT
Secara harfiah, metode ini berarti air terjun karena memang prosesnya berjalan satu arah dari atas ke bawah. Metode ini pertama kali diutarakan lewat Symposium on Advanced Programming Methods for Digital Computers pada 28-29 Juni 1956 di Washington DC. Hasil dari simposium itu belakangan dibukukuan oleh Pusat Penelitian Maritim Amerika Serikat. Herbert D. Benington menjadi nama yang paling sering dikaitkan dengan pencipta metode pemrogaman ini karena presentasinya pada simposium tahun 1956 itu.
Namun, belakangan juga ada nama saintis komputer AS bernama Winston Walker Royce yang menulis risalah terkenalnya, “Managing the Development of Large Software Systems” dan dianggap sebagai makalah rintisan untuk metode Waterfall pada tahun 1970, meski ia sendiri tidak pernah memakai nama “waterfall” pada makalahnya tersebut.
Pada tahun 1983, giliran Benington kembali menerbitkan makalah yang ia presentasikan pada tahun 1956. Makalah berjudul “Production of Large Computer Programs” itu kembali menjelaskan tentang fase-fase pemrosesan berdasarkan susunan tugas komputasi. Meski, menurut Benington, ciri khas top-down yang ada pada metode Waterfall saat itu tidak begitu ketat diterapkan karena tergantung pada pemakaian prototip.
Metode Waterfall menjadi salah satu pengembangan perangkat lunak dengan penekanan pada progresi logis yang diambil oleh software development life cycle (SDLC). Metode ini lantas menjadi metode tradisional dalam beberapa tahun terakhir karena muncul beberapa metode yang lebih cepat, baik dari sifat logika komputer maupun proses sekuensinya. Namun, dalam beberapa dekade ke belakang metode ini menjadi desain umum pemrosesan dalam dunia industri.
Dalam prosesnya sendiri, metode Waterfall memiliki 6 fase atau tahapan yang khas. Enam tahapan top-down ini mempermudah pengguna untuk memulai sebuah ide dan mengembangkannya melalui aplikasi langsung dalam skala penuh. Dalam metode ini, setiap fase harus diselesaikan sebelum memulai fase berikutnya agar tak ada kejadian tumpang tindih fase. Syarat utama penggunaan metode ini adalah adanya kesepakatan antara pemangku kepentingan (stakholders) dan pelanggan di awal proyek. Baru kemudian perencanaan dilakukan secara berurutan dengan mengadopsi fase-fase tadi.
Menilik pada persyaratan utama di atas, maka waktu yang tepat penggunaan metode Waterfall adalah saat sebuah tim telah berada pada titik Well Understood Project. Adanya kesepahaman pada suatu proyek ini akan mepermudah penerimaan sistem perangkat lunak dan pemrosesan akan lebih cepat serta efisien. Beberapa skenario lain yang akan lebih tepat jika disambut dengan penggunaan metode Waterfall adalah saat risiko proyek kecil, proyek berukuran kecil, tim memiliki kompetensi yang cukup dalam menjalankan proyek, dan gambaran produk sudah sangat jelas.
6 Tahapan metode waterfall
Coding merupakan salah satu langkah metode waterfall - EKRUT
Menerapkan metode waterfall dalam proyek perangkat lunak baru sebenarnya cukup mudah. Semuanya berkat sifat metode ini yang terstruktur dan dilakukan selangkah demi selangkah.Ada beberapa perbedaan mendasar dalam jumlah dan tahapan metode waterfall, semuanya bergantung kepada developer yang kamu tanya. Namun, semua konsepnya sebenarnya hampir sama.
Berikut adalah contoh tahapan metode waterfall yang penting untuk kamu ketahui.
1. Requirements
Di dalam tahapan ini, persyaratan potensial dari aplikasi dianalisis secara metodis dan ditulis dalam dokumen spesifik yang berfungsi sebagai dasar untuk semua pengembangan di masa mendatang. Ini akan menghasilkan dokumen persyaratan yang menentukan apa yang harus dilakukan aplikasi, bukan bagaimana cara melakukannya.
2. Analisis
Selama tahap kedua dari metode waterfall, sistem akan dianalisis untuk menghasilkan model dan logika bisnis yang akan digunakan dalam aplikasi.
Design. Tahap ketiga ini biasanya mencakup kepentingan desain teknis, seperti bahasa pemrograman, lapisan data, layanan, dan sebagainya. Spesifikasi desain biasanya akan dibuat untuk menguraikan bagaimana logika bisnis yang tercakup dalam analisis akan diimplementasikan secara teknis.
3. Desain
Tahap ketiga ini secara umum mencakup kepentingan desain teknis seperti bahasa pemrograman, lapisan data, layanan, dan sebagainya. Spesifikasi desain biasanya akan dibuat untuk menguraikan bagaimana logika bisnis yang tercakup dalam analisis akan diimplementasikan secara teknis.
4. Coding
Sumber kode yang sebenarnya akhirnya akan ditulis pada tahap keempat metode waterfall ini. Hal yang akan diterapkan mulai dari model, logika bisnis, hingga integrasi layanan yang ditentukan di tahap sebelumnya.
5. Testing
Ketika tahap ini dilakukan, umumnya QA, beta tester, serta orang yang menguji aplikasi akan menemukan berbagai masalah dalam aplikasi yang harus diselesaikan. Melaporkan masalah sangat penting dalam tahapan ini. Tak jarang, mengulang atau merombak fase coding sebelumnya harus dilakukan agar semua bug yang ada dapat dihilangkan.
6. Operasi
Nah, di tahapan ini aplikasi siap digunakan dan disebar ke publik. Namun, pemantauan dan perbaikan tetap diperlukan agar semua fungsi tetap berjalan dengan baik. Itulah beberapa hal mengenai metode waterfall dan tahapannya yang perlu kamu ketahui. Sifatnya yang praktis dan bisa membuat kualitas software terjaga membuat metode ini begitu diminati. Jadi, apakah kamu semakin tertarik menggunakan metode ini?
Kelebihan dan kekurangan metode Waterfall
Metode Waterfall menjadi salah satu pilihan metode pengembangan perangkat lunak bagi dunia industri. (Source: Pexels)
Sebagaimana metode pemrosesan perangkat lunak lainnya, metode Waterfall yang telah berusia separuh abad ini pun memiliki kelebihan maupun kekurangannya sendiri. Berikut adalah kelebihan dan kekurangan metode Waterfall.
Kelebihan | Kekurangan |
Mudah diaplikasikan. | Permodelan bersifat kaku dan sulit melakukan perubahan saat program sudah dijalankan. |
Memberikan template tentang metode analisis, desain, pengodean, pengujian, dan pemeliharaan. | Pelanggan harus sabar untuk menanti produk selesai karena penyelesaian per tahap. |
Cocok digunakan untuk produk perangkat lunak yang sudah jelas kebutuhannya di awal, sehingga dapat meminimalisasi kesalahan. | Terjadinya pembagian proyek menjadi beberapa tahap tidak fleksibel karena harus ada komitmen bersama di awal proyek. |
Adanya pergeseran dan pembagian tim sehingga lebih terfokus. | Adanya waktu kosong bagi pengembang karena harus menunggu anggota tim menyelesaikan tiap tahap. |
Memungkinan untuk perbuahan desain saat pengerjaan fase awal. | Kendala desain yang non adaptif. |
Meskipun melalui fase pengujian eksplisit selama implementasinya, metode Waterfall seringkali terlalu lambat. Selain itu diperlukan adanya pertimbangan-pertimbangan pada kesalahan tiap fase tentu membutuhkan waktu yang cukup lama.
Contoh metode Waterfall
Sama halnya dengan proses pembuatannya, pengembangan metode waterfall memerlukan beberapa tahap. (Source: Pexels)
Dalam penerapannya, metode Waterfall memiliki setidaknya enam langkah proses. Proses ini diawali dengan analisis dari persyaratan yang telah dikomunikasikan dan diakhiri dengan proses verifikasi sereta maintenance. Berikut adalah contoh penggunaan metode Waterfall pada sistem informasi klien distributor sebuah perusahaan manufaktur. Tahap pertama adalah latar belakang proyek yang telah disepakati bahwa perlu adanya pemetaan distributor dalam jangka waktu panjang. Setelah itu, lima tahap berikutnya adalah sebagai berikut.
1. Persyaratan dan Dokumen (Analisis)
Pada tahap ini dilakukan berbagai analisis terhadap persyaratan seperti melakukan wawancara kepada tiap stakeholders distributor. Data-data mengenai total distributor, status aktif/tidak aktifnya distributor, alamat distributor, dan beberapa hal pokok lain.
2. Desain
Perancangan sistem dilakukan dengan Entity Relationship Diagram (ERD) untuk memodelkan kebutuhan data dari suatu organisasi. Tahap ini bisa dilakukan dengan Use Case atau diagram Sequence untuk memodelkan logika dari metode operasi.
3. Implementasi
Sistem informasi para distributor dibuat menggunakan bahasa pemrograman Hypertext Preprocessor (PHP) dengan framework CodeIgniter untuk mempercepat dan merapikanpemrograman, baik segi kode maupun file-nya.
4. Pengujian Sistem
Pengujian sistem dilakukan untuk mengetahui aspek-aspek fungsi dari aplikasi. Hal ini dilakukan oleh ahli sistem informasi, petugas administrasi, dan para target aplikasi atau dalam hal ini para distributor.
5. Maintenance
Tahap ini merupakan pemeliharan jika dalam proses penggunaannya terdapat fitur yang perlu diperbaiki. Tahap ini dilakukan untuk memperbaiki kesalahan saat sistem aplikasi digunakan oleh target atau user.
Secara umum, metode Waterfall memang cukup ringkas karena diproses secara bertahap. Demikian pula saat pengembangannya juga dilakukan secara bertahap. Meski tetap saja, proses maintenance baru bisa dilakukan di akhir pengembangan karena tiap tahap permodelan dilakukan satu demi satu. Bagaimana pun metode ringkas ini tetap memakan waktu lama karena tiap tahapan diharapkan diselesaikan secara sempurna.
Sumber:
- https://www.worldcat.org/title/symposium-on-advanced-programming-methods-for-digital-computers-washington-dc-june-28-29-1956/oclc/10794738
- http://www-scf.usc.edu/~csci201/lectures/Lecture11/royce1970.pdf
- https://airbrake.io/blog/sdlc/waterfall-model
- https://pm.stackexchange.com/questions/389/when-to-use-waterfall-when-to-use-scrum
- http://share.its.ac.id/blog/index.php?entryid=747
- https://courses.cs.vt.edu/~csonline/SE/Lessons/Waterfall/index.html