Agile Model

Merupakan model inkremental, pengembangan perangkat lunak secara berulang dengan perputaran iterasi yang cepat. Hasil keluaran terlihat setiap iterasi yang dilakukan Gambar 1. Setiap hasil keluaran di uji untuk memasikan kualitas perangkat lunak tetap terjaga. Extreme Programming (XP) merupakan salah satu contoh penggunaan agile model.

agile-model

Gambar 1 – Agile Model

Keuntungan:

  • Kepuasan pelanggan karena pengerjaan yang cepat “terlihat”
  • Bisa terus diperbaiki dan berubah requirement
  • Interaksi antara customer (business people) – developer terus berjalan dari awal hingga selesai
  • Terjadinya komunikasi tatap muka (cara terbaik berkomunikasi)

Kekurangan:

  • Sulit menghitung tenaga yang dikeluarkan dalam sebuah lifecycle
  • Kurangnya rancangan dan dokumentasi
  • Projek bisa melenceng jauh jika customer tidak tahu tujuan akhir-nya apa
  • Junior programmer not allowed to take any decision!

Cocok bagi:

  • Customer yang suka galau, karena cost perubahan spek tidak besar
  • Perancangan perangkat lunak belum jelas
  • Yang mau lihat trend ditengah jalan dalam menentukan pilihan kedepan

Reference:

  1. Agile model advantages and disadvantages
Advertisements

Waterfall Model

Merupakan model pertama yang dikenalkan dalam pengembangan perangkat lunak. Disebut juga dengan linear-sequential life cycle, karena tahapannya lurus, mudah dipahami, dan digunakan. Masing-masing tahapan pada waterfall model harus diselesaikan sebelum berlanjut ke tahapan selanjutnya, tidak bisa overlaping Gambar 1.

waterfall-model

Gambar 1 – Waterfall model

Keuntungan:

  • Mudah digunakan dan dipahami.
  • Mudah di kelola karena setiap tahap punya target yang spesifik dan melalui proses review.
  • Setiap tahap dilakukan sekali hingga selesai, tidak overlap.

Kekurangan:

  • Ketika sudah tahap testing, sangat sulit kembali ke tahap selanjutnya untuk merubah komponen yang tertinggal.
  • Risiko tinggi dan ketidakpastian.
  • Tidak cocok untuk projek kompleks dan object-oriented projects.
  • Tidak cocok untuk projek yang kebutuhannya masih belum jelas.

Cocok bagi:

  • Projek dengan skala kecil.
  • Sudah memiliki perancangan yang detail.
  • Requirement jelas dan tidak ambigu.
  • Teknologinya sudah dipahami.
  • Mengetahui titik permasalahan.
  • Memiliki ketersediaan solusi.
  • Mudah mencari tenaga ahli.
  • Projek jangka pendek.