Software Development Model: Incremental Model
Seperti yang kita tahu bahwa software development model adalah suatu model yanmg mereresentasikan suatu proses software. Terdapat banyak model dalam software development model, salahsatunya adalah incremental model.
Incremental model adalah model pengembangan sistem pada software development berdasarkan requirement software yang dipecah menjadi beberapa fungsi atau bagian sehingga model pengenbangannya secara bertahap. Dengan menggunakan incremental model dapat membantu kita untuk mengurangi biaya sebelum mencapai level dari initial productivity dan mengakselerasi proses dari pembuatan suatu fungsi sistem.
Incremental model menggambarkan suatu proses dimana mengutamakan perhatian pada system requirement dan mengimplementasinya dalam team development.
Tahap – tahap pada incremental model, yaitu:
o Requirement: proses penentuan kebutuhan atau analisis kebutuhan.
o Specification: proses spesifikasi dimana menggunakan analisis kebutuhan sebagai acuannya.
o Architecture Design: perancangan software yang terbuka agar dapat diterapkan sistem pembangunan per-bagian pada tahapan selanjutnya.
o Code: melakukan koding.
o Test: melakukan testing dalam model ini.
More Risky Incremental Model adalah suatu solusi untuk mengantisipasi kondisi yang tidak diinginkan saat mengimplentasikan incremental model.
More Risk Incremental Model menerapkan sistem kerja parallel dimana tahap awal yaitu membuat daftar kebutuhan (requirement) user kemudian dianalisa.
Setelah spesifikasi pertama telah selesai, tim design akan membuat design untuk modul pertama. Pada saat itu juga, tim spesifikasi akan membuat spesifikasi untuk modul kedua dan jika sudah selesai, maka tim design akan membuat design untuk modul ke dua, dan seterusnya. Sehingga tidak harus menunggu modul pertama selesai hingga dikirim ke user, baru lanjut ke modul kedua.
Beberapa Kelebihan Dari Mode Incremental atara lain :
- Merupakan model dengan manajemen yang sederhana
- Pengguna tidak perlu menunggu sampai seluruh sistem dikirim untuk mengambil keuntungan dari sistem tersebut. Increment yang pertama sudah memenuhi persyaratan mereka yang paling kritis, sehingga perangkat lunak dapat segera digunakan.
- Resiko untuk kegagalan proyek secara keseluruhan lebih rendah. Walaupun masalah masih dapat ditemukan pada beberapa increment. Karena layanan dengan prioritas tertinggi diserahkan pertama dan increment berikutnya diintegrasikan dengannya, sangatlah penting bahwa layanan sistem yang paling penting mengalami pengujian yang ketat. Ini berarti bahwa pengguna akan memiliki kemungkinan kecil untuk memenuhi kegagalan perangkat lunak pada increment sistem yang paling bawah.
- Nilai penggunaan dapat ditentukan pada setiap increment sehingga fungsionalitas sistem disediakan lebih awal.
- Memiliki risiko lebih rendah terhadap keseluruhan pengembagan sistem,
- Prioritas tertinggi pada pelayanan sistem adalah yang paling diuji
Kelemahannya adalah :
- Kemungkinan tiap bagian tidak dapat diintegrasikan
- Dapat menjadi build and Fix Model, karena kemampuannya untuk selalu mendapat perubahan selama proses rekayasa berlangsung
- Harus Open Architecture
- Mungkin terjadi kesulitan untuk memetakan kebutuhan pengguna ke dalam rencana spesifikasi masing-masing hasil increment.
- Membutuhkan waktu yang relative lama untuk menghasilan product yang lengkap