Metode Waterfall vs Kombinasi Design Thinking- IDS Digital College

Metode Waterfall vs Kombinasi Design Thinking, Lean Startup, dan Agile? Mana yang Lebih Baik?

Pembuatan aplikasi dan software/perangkat lunak membutuhkan metode yang semakin berkembang dalam pengembangannya. Beberapa diantaranya adalah Waterfall dan kombinasi Agile, Design Thinking, Lean Startup serta kombinasi lainnya. Apa saja konsep dari kedua metode tersebut? Bagaimana cara kerjanya dalam mendukung pengembangan software? Sebelum menjelajah lebih lanjut, mari kita pahami perbedaan masing-masingnya ya!

Design Thinking

  1. Waterfall

Metode Waterfall dalam pengembangan software, memiliki proses dimana setiap tahapannya harus diselesaikan secara berurutan, baru deh lanjut ke tahap berikutnya dan bisa dilakukan pengujian. Disebut waterfall (air terjun), karena proses yang berurutan dari atas ke bawah dan sistematis seperti air terjun. Dalam metode Waterfall, ruang lingkup proyek, hasil, dan requirement didokumentasikan dalam dokumen. Dokumen ini akan menjadi arahan bagi tim dalam pengembangan. Terdapat spesifikasi fungsi, user interface, arsitektur, dan struktur data di dokumen tersebut.

Tahapan metode klasik waterfall dibagi menjadi enam tahapan, yaitu:

  1. Requirement and Analysis: Mengumpulkan persyaratan potensial dari klien yang berkaitan dengan produk, yang bisa dipahami. Di tahap ini juga ditentukan logika kebutuhan dan kegunaan software, layanan, anggaran, risiko, tanggal penyelesaian, dependensi, dan indikator keberhasilan.
  2. Design: Pada tahap ini, akan didesain bahasa pemrograman, elemen desain khusus, desain sistem, diuraikannya alur logika yang lebih spesifik. Dokumen yang dihasilkan selama fase ini akan menjadi kerangka kerja untuk implementasi (coding). 
  3. Implementation: Dimasukkannya requirement dari klien dan desain dokumen ke dalam perangkat lunak dengan coding. 
  4. Testing: Uji perangkat lunak untuk bug dan periksa apakah tujuan yang diinginkan klien dari dokumen requirement terpenuhi. 
  5. Deployment: Menyebarkan produk ataupun aplikasi yang telah dikerjakan oleh tim ke klien melalui media yang beragam tergantung jenis aplikasi. Bisa melalui web hosting.
  6. Maintenance :Memperbaiki masalah yang ditemukan setelah perangkat lunak dirilis ke pelanggan dan bisa dioperasikan.

Kelebihan Metode Waterfall

  • Pengelolaan yang baik karena requirement yang jelas.
  • Harga dan deadline tetap
  • Instruksi dan dokumentasi yang jelas

 

Kekurangan Metode Waterfall 

  • Setelah pengembangan dimulai, sulit untuk menyesuaikan proyek dengan perubahan requirement atau perkembangan baru pasar. Jika diperlukan, proyek harus diulang kembali dari tahap Requirement dan Design.
  • Requirement tidak selalu sesuai dengan kebutuhan pengguna/user yang sebenarnya. 
  • Pengguna hanya menerima produk jadi, agak sulit untuk mengumpulkan feedback. Hal ini meningkatkan risiko kegagalan proyek yang disebabkan oleh kurangnya kebutuhan pasar atau kepuasan yang rendah. 
  • Terdapat proyek mengandalkan teknologi yang memiliki release-cycles (siklus rilis), sehingga sering perlu sering diperbarui dan diubah, menyebabkan perkiraan dokumentasi menjadi kurang akurat. 

Contoh Penggunaan Metode Waterfall

Sebagai contoh, metode Waterfall dapat digunakan saat menyesuaikan aplikasi dengan regulasi tertentu (misalnya, saat mengembangkan sistem medis), atau saat mengintegrasikan software dengan infrastruktur yang ada (sistem perbankan).

Berikut adalah ciri proyek yang cocok dengan metode Waterfall :

  • Perancangan produk stabil. 
  • Teknologi yang mudah dipahami. 
  • Requirement jelas
  • Sumber daya yang cukup dengan keahlian yang dibutuhkan tersedia secara bebas. 
  • Proyek singkat.

Kebutuhan untuk Menggunakan Berbagai Metode Pengembangan Perangkat Lunak /Software

Metodologi Waterfall merupakan metode paling tua dan penting yang sudah ada beberapa dekade ini, tetapi mulai terbukti tidak efisien pada perkembangan teknologi era 90-an. Lalu, mulai banyak metode pengembangan yang muncul.

Akhirnya, dikembangkanlah metode kombinasi / gabungan yang berbeda namun tujuannya membentuk pengembangan produk yang adaptif dan tidak kaku. Setiap metode memiliki fungsinya sendiri, diantaranya

  • Desain suatu industri —> Pemikiran Desain 
  • Manufaktur –> Lean Startup 
  • Pengembangan perangkat lunak –> Agile 
  1. Design Thinking 

Design Thinking merupakan pola pikir dalam membuat ide produk yang mempertimbangkan visi produk agar dapat mengatasi dan memecahkan masalah pengguna/user/konsumen dan menyesuaikan kebutuhan mereka melalui penelitian kualitatif. 

Tujuan utama dari Design Thinking adalah: 

  • Pahami pengguna 
  • Memetakan penyebab dan masalah pengguna 
  • Jadikan masalah itu sebagai dasar inovasi untuk mempelajari lebih lanjut tentang pengguna dan bagaimana memecahkan masalah tersebut.

Terdapat 5 tahapan inti Design Thinking, diantaranya:

  1. Empathize: Mengidentifikasi masalah melalui analisis mendalam dan berbagai pendekatan untuk mengasumsikan perspektif pengguna. 
  2. Define: Menginterpretasikan masalah yang didapat dari empathize.
  3. Ideate: Mengembangkan ide-ide solusi berdasarkan informasi dari dua tahap sebelumnya untuk menghasilkan solusi inovatif. 
  4. Prototype: Merancang dan membuat prototipe produk berdasarkan masalah dan ide solusi dari semua tahap sebelumnya.
  5. Testing: Uji prototipe secara ekstensif untuk menyempurnakan bug yang ada.

Design Thinking bisa dipilih sebagai langkah awal dalam pengembangan software (baik dalam metode Waterfall maupun Gabungan) di mana Anda mengidentifikasi dan memahami masalah pengguna dan menemukan solusi.

  1. Lean Startup

Lean Startup adalah metode berbasis data untuk menciptakan ide bisnis startup yang ber value bagi konsumen untuk meningkatkan produktivitas, efisiensi sumber daya dan waktu, serta kualitas produk atau jasa startup dengan mengeliminasi risiko dan waste (pemborosan), serta merilis produk secepat mungkin untuk mendapatkan feedback. Tujuan Lean Startup adalah mengumpulkan data feedback pengguna, menyempurnakan produk dan strategi, serta menyesuaikan kebutuhan pengguna secara berkala. 

Berikut tahapan Lean Startup:

  1. Memahami pengguna yang ditargetkan dan masalah mereka 
  2. Merancang dan merilis produk yang bermakna 
  3. Fokus pada indikator keberhasilan
  4. Beradaptasi, ubah, dan perbarui produk untuk memenuhi kebutuhan pengguna dengan lebih baik

Dalam pendekatan gabungan, tahap Lean Startup sebagai fase penyaringan dan meninggalkan fitur yang tidak memberikan hasil dan menimbulkan banyak biaya ataupun meningkatkan risiko.

  1. Agile

Agile

Metode Agile dibuat untuk membuat pengembangan software lebih efisien dan fleksibel. Pada metode ini, software dibangun dalam beberapa bagian mulai dari database, antarmuka pengguna, logika bisnis, dll. Proses pengujian dan pengembangan terjadi secara bersamaan yang bertentangan dengan Waterfall menunggu urutan selesainya setiap tahapan. Tujuannya untuk merilis produk baru lebih cepat dan memodifikasi tergantung pada feedback pengguna. 

Prinsip dalam pengembangan Agile: 

  • Komunikasi. Tim berdiskusi setiap hari untuk menyelaraskan tujuan dan mendiskusikan solusi peningkatan produk. 
  • Pendekatan adaptif. Selalu adaptasi dengan perubahan.
  • Kolaborasi. Sering kolaborasi dengan pengguna untuk menemukan hal yang perlu ditingkatkan 
  • Software adalah prioritas. Memberikan versi perangkat lunak yang berfungsi berkelanjutan. 
  • Tim mengatur diri sendiri. 
  • Pengembang lintas fungsi. Tim memiliki semua keterampilan yang diperlukan untuk membangun produk perangkat lunak yang memberikan nilai pelanggan. 
  • Memeriksa dan beradaptasi. Perbaikan terus-menerus dari workflow dan proses dalam tim yang relatif cepat.

Kelebihan Agile

  • Lebih cepat dipasarkan 
  • Implementasi requirement nya cepat
  • Perangkat lunak berkualitas tinggi. 
  • Bug dan kesalahan terdeteksi sejak awal karena aplikasi dibangun secara berulang (perbaikan terus menerus) dan selalu diuji. 
  • Kolaborasi dan komunikasi sangat membantu peningkatan produk.
  • Dokumentasi yang lebih kecil. Fokusnya adalah membangun perangkat lunak yang berfungsi. 

Note: tergantung pada proyeknya, ini bisa menjadi kelemahan juga.

Kekurangan Agile

  • Risiko dokumentasi kecil yang buruk. Dapat menyulitkan anggota tim baru untuk mempercepat proyek. 
  • Proyek bisa kacau jika tim dan manajer proyek tidak terampil dalam pengembangan Agile. 
  • Sulit untuk memperkirakan tanggal pengiriman karena proyek dapat berubah selama pengembangan. 

Dalam pendekatan gabungan, metode Agile digunakan untuk membuat produk layak minimum (MVP) atau versi aplikasi yang berfungsi dengan fitur minimum untuk mengumpulkan feedback dan menyempurnakannya.

Alasan Pengembang Memilih Metode Gabungan

Design Thinking

Metode gabungan Design Thinking, Lean Startup, dan Agile memiliki banyak kelebihan. Dengan penyempurnaan berbasis user feedback, maka tim dapat memaksimalkan value bisnis, semakin inovatif, dan menghemat waktu dan anggaran.

Dengan metode ini, dapat diterapkan modifikasi berbasis user feedback untuk menyempurnakan software. Ketiga metode ini, membantu bisnis lebih dekat dengan pelanggan mereka dan mencari tahu lebih awal tentang apa yang berhasil dan apa yang tidak dalam software yang mereka buat. 

Metode Waterfall juga merupakan metode yang valid untuk proyek tertentu. Seperti proyek dengan persyaratan yang jelas, struktur yang ditentukan, dan hasil yang dapat diprediksi.

Sumber: nomtek.com

Posted in: News



    WhatsApp chat