Manajemen Proyek TI: Waterfall atau Agile? Mana lebih baik?


Waterfall dan Agile, mana lebih baik?

Perkembangan teknologi dan perangkat lunak yang mendukungnya telah berkembang dengan pesat beberapa tahun ini. Kebutuhan pada sebuah manajemen proyek yang baik sudah menjadi keharusan untuk mendukung hal tersebut. Pada awal perkembangannya, suatu perangkat lunak sering kali dibuat tanpa ada perencanaan yang spesifik. Namun semakin besar sebuah sistem dan semakin kompleks sebuah sistem maka perancangan dan desain sistem pun menjadi sebuah keharusan pula. Berbagai metode pun mulai digunakan untuk memudahkan pengembang dalam mengembangkan sistemnya. Karena ada banyak pilihan maka terkadang seorang proyek manager kesusahan dalam menentukan metode mana yang cocok dan tepat digunakan untuk menangani proyeknya. Ada banyak aspek yang berpengaruh disini misalnya ukuran sistem yang akan dibangun, jumlah tim yang menangani proyek tersebut, waktu dan juga yang tidak kalah penting adalah jumlah dana yang disediakan. Ketepatan dalam memilih metode tentunya akan sangat menguntungkan bagi pemilik proyek atau “client”, terutama untuk penghematan biaya baik itu waktu maupun resource yang digunakan.

Dari sekian banyak metode yang ada kali ini saya akan sedikit mengulik tentang Waterfall dan Agile.
Waterfall

Waterfall merupakan suatu metode manajemen proyek yang sudah relatif lama. Waterfall menekankan pada sebuah desain proses yang berurutan yang dalam prosesnya terlihat seperti aliran air terjun dari proses perancangan konsep, analisis proyek, inisialisasi proyek, desain, pembuatan sistem, testing, implementasi dan perawatan.

Beberapa ciri dari metode ini:

• Proyek dibagi-bagi dalam beberapa fase yang saling berurutan.
• Penekanan pada perencanaan, jadwal, deadline dan implementasi keseluruhan sistem.
• Kontrol yang ketat dalam siklus hidup proyek dengan menggunakan bantuan dokumentasi tertulis.

Kelebihan metode ini:

• Relatif mudah dimengerti dan mudah digunakan.
• Requirement dari sistem bersifat stabil.
• Baik dalam manajemen kontrol.
• Bekerja dengan baik ketika kualitas lebih diutamakan dibandingkan dengan biaya dan jadwal/deadline.

Kekurangan dari metode ini:

• Semua kebutuhan sistem harus diketahui di awal
• Integrasi sekaligus di akhir sistem.
• Testing hanya dilakukan pada setiap akhir fase, bahkan tidak jarang testing hanya dilakukan di akhir-akhir proyek.
• Membutuhkan waktu yang cukup lama meski kadang proyeknya tidak terlalu besar.
• Perubahan requirement dapat merubah keseluruhan proses yang telah dilaksanakan.
Agile

Agile software development atau sering hanya disebut “agile” adalah kumpulan dari metode-metode pengembangan perangkat lunak yang berbasis pada Iterative dan Incremental Model. Agile memungkinkan mengembangkan perangkat lunak yang memiliki reequirement yang mudah berubah dengan cepat.

Beberapa ciri dari metode ini:

• Suatu proyek lebih cepat rilis.
• Perubahan requirement dapat sering dilakukan.
• Interaksi antara client dengan developer dalam menentukan langkah proyek berikutnya
• Proyek dibangun antar tim.
• Tim mengorganisasikan dirinya sendiri.
• Tim bekerja dalam kecepatan yang bisa dipertahankan.
• Tim dapat mereview tingkat keberhasilan dan kegagalan mereka.
• Desain dan implementasi disusun sesederhana mungkin.

Kelebihan metode ini:

• Proses Iterative dan Incremental.
• Requirement dapat berubah sewaktu-waktu.
• Pelacakan requirement dengan melihat Backlog produk.
• Keterlibatan user secara aktif.
• Rilis yang lebih cepat dan berkala, fungsi dirilis setiap akhir iterasi.
• Testing dilakukan setiap saat.

Kekurangan dari metode ini:

• Interaksi dengan client yang kadang terlalu berlebihan.
• Agile sulit diimplementasikan dalam proyek yang berskala besar.
• Waktu perencanaan proyek yang singkat.
• Membutuhkan manajemen tim yang terlatih.
Mana yang lebih baik?


Mana yang lebih baik diantara kedua metode tersebut? Ada banyak hal yang menjadi faktor penentu. Namun yang perlu kita ketahui adalah setiap metode baik waterfall atau agile bertujuan untuk memfasilitasi dan mengelola proses kerja tim untuk menyelesaikan suatu proyek.

Untuk mengetahui mana metode yang lebih baik dibandingkan metode lainnya perlu kita analisa dulu metode tersebut terkait beberapa aspek berikut:

Tahap Analisis

Pada metode waterfall, tahap analisis dilakukan setelah inisialisasi proyek. Pada tahap ini semua kebutuhan sistem dikumpulkan dari client atau pemilik proyek. Sistem analis akan menganalisa proyek sebelum dilanjutkan ke fase berikutnya dan hasilnya berupa kebutuhan sistem yang biasanya bersifat statis.

Pada metode Agile, tahap analisis akan dilakukan di awal-awal project. Pada Agile namun masih ada kemungkinan bahwa hasil dari tahap analisis ini mengalami perubahan tergantung dari kebutuhan sistem. Karena susah untuk dapat mengumpulkan semua kebutuhan sistem pada awal proyek maka tidak jarang analisis juga dilakukan pada setiap iterasi, namun analisis yang dilakukan disini lebih spesiļ¬k ke fungsi tertentu saja.

Waktu

Waktu yang dimaksud adalah lama pelaksanaan proyek. Metode waterfall memakan waktu yang relatif lebih banyak dibandingkan dengan metode agile namun tetapi kualitas yang dihasilkan sebanding dengan waktu pengerjaannya.

Sedangkan pada metode agile dengan prinsipnya “rilis berkala” kadang membuat suatu proyek terkesan terburu-buru dan kualitas secara keseluruhan kurang terlalu diperhatikan.

Biaya

Waktu pengerjaan suatu proyek akan berpengaruh terhadap biaya yang harus dikeluarkan untuk sebuah proyek. Semakin lama waktu pengerjaan suatu proyek maka biaya yang dibutuhkan juga akan semakin besar. Tak jarang suatu proyek dihentikan karena kekurangan biaya. Atau bisa juga biaya yang diberikan oleh client tidak sebanding dengan tingkat kesulitan proyek.
Jadi, mana yang lebih baik?

Semua metode yang ada jika digunakan pada proyek yang tepat pasti akan menghasilkan sebuah produk yang berkualitas. Sebaliknya jika digunakan pada proyek yang salah dan karena kesalahan analisa proyek, maka akan menghabiskan waktu dan biaya yang lebih dari yang sudah direncanakan. Jadi, mana yang lebih baik? Tergantung dari proyek yang ditangani dan juga bagaimana seorang proyek manager menerapkan metodenya dengan baik.

Sekian dari saya, semoga memberikan sedikit pandangan mengenai manajemen proyek dan metode yang ada dan semoga bisa membantu rekan-rekan dalam menentukan metode apa yang dipakai.

Post a Comment

0 Comments