Metode Waterfall

Manajemen Proyek: Penerapan Metode Waterfall

Sigit
SkyshiDigital

--

Kali ini saya akan berbagi pengalaman mengenai seluk beluk dan hiruk pikuk manajemen proyek. Di Skyshi tempat saya bekerja sekarang ini selama beberapa tahun saya membantu di bagian manajemen proyek. Kebetulan di Skyshi ini lebih sering menerapkan metode waterfall sebagai model pendekatan pengembangan software nya, karena itu saya akan berbagi pengalaman mengenai penerapan metode waterfall sebagai model pengembangan software.

Tahapan Metode Waterfall

Secara umum pada metode waterfall pasti melalui beberapa tahapan dan harus dilakukan secara berurutan. Tahapan-tahapan tersebut adalah:

  1. Tahap inisiasi adalah analisa kebutuhan sistem yang akan dibuat dan harus dapat dimengerti oleh klien dan developer. Pada tahap ini klien harus dapat menjelaskan dan mendefinisikan tujuan dari sistem yang ingin dibangun. Sebagai developer harus dapat menangkap maksud klien mengenai sistem yang akan di bangun dan juga memberikan saran dan mungkin juga kendala terhadap sistem yang akan dibangun tersebut. Dokumen yang dihasilkan pada tahapan ini menjadi dasar kontrak kerja antara klien dengan developer.
  2. Tahap berikutnya adalah desain sistem, pada tahap ini developer merancang suatu arsitektur sistem berdasarkan hasil dari tahap sebelumnya yaitu tahap inisiasi.
  3. Berikutnya adalah tahap implementasi, dimana keseluruhan desain sistem yang telah disusun sebelumnya akan diubah menjadi kode-kode program dan modul-modul yang nantinya akan diintegrasikan menjadi sebuah sistem yang lengkap sesuai dengan kontrak kerja.
  4. Tahap berikutnya adalah integrasi dan testing. Pada tahap ini sistem yang sudah dibuat akan diintegrasikan dan di test untuk menguji apakah sistem tersebut telah berfungsi dengan baik dan yang tidak kalah penting adalah sesuai dengan kontrak yang telah disetujui.
  5. Tahap akhir adalah pemeliharaan yang termasuk diantaranya instalasi dan proses perbaikan sistem apabila ditemukan adanya kesalahan/bug yang tidak ditemukan pada tahap testing.

Prakteknya di Dunia Nyata

Secara teori penggunaan metode waterfall ini akan meminimalisir kesalahan pengerjaan sistem di awal karena antara klien dan pihak developer sudah saling berkomunikasi diawal pada saat menyusun inisiasi proyek. Tetapi apakah demikian?

Bisakah praktek sesuai dengan teorinya?

Pada kenyataannya tidak semua klien dapat menjelaskan apa maksud dan tujuan dari sistem yang ingin dibuat. Karena hal itulah pihak developer bisa salah menterjemahkan ide dari klien terhadap sistem yang ingin dibuatnya. Dari pihak developer pun juga terkadang kurang bisa menggali kebutuhan sistem yang akan dibangunnya.

Waktu yang dibutuhkan untuk mengumpulkan data yang lengkap sebelum mulai suatu proyek cukup panjang, hal inilah yang sering menjadi kendala karena biasanya baik klien ataupun tim developer sama-sama tidak sabar. Dari sisi klien tidak sabar karena pihak developer terkesan banyak tanya dan tidak paham dengan sistem yang akan dibuatnya, sedangkan dari pihak developer tidak sabar karena biaya operasional yang dibutuhkan selama masa inisiasi proyek akan membengkak.

Waktu pengerjaan sangat sering menjadi kendala dalam proses pembuatan sebuah sistem. Sering kali klien menginginkan waktu penyelesaian sebuah proyek dalam tempo yang relatif singkat. Alih-alih waktu yang singkat, proses inisiasi proyek dan desain sistem tidak dapat dilakukan secara maksimal. Akibatnya proses implementasi sistem kejar tayang dan akhirnya dapat ditebak, sistem yang dibuat kurang sesuai dengan keinginan klien.

Improvement di fase implementasi sistem sering kali terjadi karena biasanya hal-hal terkait improvement ini tidak terlihat di saat inisiasi proyek. Hal ini bisa terjadi karena 2 hal, yaitu:

  1. Kebutuhan klien yang terus bertambah terhadap sistem yang ingin dibangunnya.
  2. Dari sisi developer sendiri yang terkadang menemukan kendala ataupun merasa ada yang kurang dari sistem yang sedang dibangunnya yang kemudian melakukan improvement.

Improvement yang dilakukan terus menerus selama fase implementasi ini sering menyebabkan waktu penyelesaian proyek menjadi mundur. Waktu penyelesaian mundur maka biaya operasional developer bertambah. Jika hal ini terjadi sebenarnya secara teori solusinya sederhana, semua improvement masuk ke tahap berikutnya, namun kenyataannya terkadang tidak demikian.

Tahap testing dilakukan di fase-fase akhir merupakan salah satu kendala yang sering dihadapi. Tim kontrol kualitas (QA) dan klien baru bisa melakukan testing saat semua sistem sudah selesai dikerjakan. Pada saat testing inilah terkadang klien baru menyadari bahwa proses yang diharapkan dari sistem yang dibangun tidak sesuai dengan ide awalnya.

Bagaimana Solusinya?

Melihat prakteknya di lapangan, berarti metode waterfall tidak layak dong digunakan sebagai model pendekatan pengembangan software. Menurut saya kuncinya ada di inisiasi proyek dan tahap testing. Lalu bagaimanakah penerapannya?

  1. Lakukan proses inisiasi proyek sedetil mungkin. Lakukan beberapa kali pertemuan dengan klien dan juga internal tim.
  2. Libatkan tim QA pada tahap inisiasi proyek ini, sehingga mereka bisa mengetahui atau mungkin menyarankan sesuatu terkait pengembangan proyek tersebut.
  3. Dokumentaikan hasil inisiasi proyek ini sedetail-detailnya dan minta klien untuk menyepakati hasil tersebut.

Setelah semua langkah itu terpenuhi barulah proyek bisa dimulai. Selain itu pihak developer dan klien harus mematuhi prosedur yang telah disepakati bersama, sehingga apabila ada improvement yang ingin dikerjakan supaya dimasukkan ke fase berikutnya.

Sekian dari saya, semoga memberikan sedikit gambaran mengenai penerapan metode waterfall pada proyek yang akan dikerjakan.

--

--