Di postingan BrainStorm kali ini, kita akan membahas tentang Incremental Model
PENGERTIAN
Model incremental menggabungkan elemen-elemen model sekuensial linier
(diimplementasikan secara berulang) dengan filosofi prototype interatif. Model ini memakai
urutan-urutan linier di dalam model yang membingungkan, seiring dengan laju waktu kalender.
Setiap urutan linier menghasilkan pertambahan perangkat lunak yang kemudian dapat
disampaikan kepada pengguna.
Pada saat model incremental (pertambahan) ini digunakan, pertambahan pertama sering
merupakan produk inti (core product), yaitu sebuah model pertambahan yang dipergunakan, tetapi
beberapa muka tambahan (beberapa diketahui dan beberapa tidak) tetap tidak disampaikan. Produk
inti tersebut dipergunakan oleh pelanggan (atau mengalami pengkajian detail). Sebagai hasil dari
pemakaian dan/atau evaluasi maka dikembangkan rencana bagi pertambahan selanjutnya. Rencana
tersebut menekankan modifikasi produk inti untuk secara lebih baik memenuhi kebutuhan para
pelanggan dan penyampaian fitur serta fungsional tambahan. Proses ini mengikuti penyampaian
setiap pertambahan sampai bisa menghasilkan produk yang lengkap.
Perkembangan pertambahan, khususnya berguna pada saat staffing, tidak bisa dilakukan
dengan menggunakan implementasi lengkap oleh batasan waktu bisnis yang sudah disepakati
untuk proyek tersebut. Jika produk inti diterima dengan baik, maka staf tambahan (bila
dibutuhkan) bisa ditambahkan untuk mengimplementasi pertambahan selanjutnya. Sebagai
tambahan, system mayor yang sedang pada masa perkembangan serta waktu penyampaiannya
belum pasti, mungkin membutuhkan keberadaan perangkat keras yang baru. Bisa juga rencana
tertentu dibuat untuk menghindari pemakaian perangkat lunak ini, sehingga memungkinkan
fungsionalitas partial disampaikan kepada pemakai tanpa harus banyak tertunda.
o Architecture Design adalah tahap selanjutnya, perancangan software yang terbuka agar dapat
diterapkan sistem pembangunan per-bagian pada tahapan selanjutnya.
Pada saat model incremental (pertambahan) ini digunakan, pertambahan pertama sering
merupakan produk inti (core product), yaitu sebuah model pertambahan yang dipergunakan, tetapi
beberapa muka tambahan (beberapa diketahui dan beberapa tidak) tetap tidak disampaikan.
Produk inti tersebut dipergunakan oleh pelanggan (atau mengalami pengkajian detail).
Sebagai hasil dari pemakaian dan/atau evaluasi maka dikembangkan rencana bagi pertambahan
selanjutnya. Rencana tersebut menekankan modifikasi produk inti untuk secara lebih baik
memenuhi kebutuhan para pelanggan dan penyampaian fitur serta fungsional tambahan. Proses ini
mengikuti penyampaian setiap pertambahan sampai bisa menghasilkan produk yang lengkap.
Perkembangan pertambahan, khususnya berguna pada saat staffing, tidak bisa dilakukan
dengan menggunakan implementasi lengkap oleh batasan waktu bisnis yang sudah disepakati
untuk proyek tersebut. Jika produk inti diterima dengan baik, maka staf tambahan (bila
dibutuhkan) bisa ditambahkan untuk mengimplementasi pertambahan selanjutnya. Sebagai
tambahan, system mayor yang sedang pada masa perkembangan serta waktu penyampaiannya
belum pasti, mungkin membutuhkan keberadaan perangkat keras yang baru. Bisa juga rencana
tertentu dibuat untuk menghindari pemakaian perangkat lunak ini, sehingga memungkinkan
fungsionalitas partial disampaikan kepada pemakai tanpa harus banyak tertunda.
KARAKTERISTIK INCREMENTAL
2. Element-element dalam waterfall dikerjakan dengan hasil berupa produk dengan spesifikasi
tertentu, kemudian proses dimulai dari fase pertama hingga akhir dan menghasilkan produk
dengan spesifikasi yang lebih lengkap dari yang sebelumnya. Demikian seterusnya hingga semua
spesifikasi memenuhi kebutuhan yang ditetapkan oleh pengguna.
3. Produk hasil increment pertama biasanya produk inti (core product), yaitu produk yang
memenuhi kebutuhan dasar. Produk tersebut digunakan oleh pengguna atau menjalani
review/pengecekan detil. Hasil review tersebut menjadi bekal untuk pembangunan pada
increment berikutnya. Hal ini terus dikerjakan sampai produk yang komplit dihasilkan.
4. Model ini cocok jika jumlah anggota tim pengembang/pembangun PL tidak cukup.
7. Mungkin terjadi kesulitan untuk memetakan kebutuhan pengguna ke dalam rencana spesifikasi
masing-masing hasil increment.
8. Produk hasil increment pertama biasanya produk inti (core product), yaitu produk yang
memenuhi kebutuhan dasar. Produk tersebut digunakan oleh pengguna atau menjalani
review/pengecekan detil. Hasil review tersebut menjadi bekal untuk pembangunan pada
increment berikutnya. Hal ini terus dikerjakan sampai produk yang komplit dihasilkan.
» Produk yang dihasilkan semakin lama semakin lengkap, hingga versi akhir dari sebuah produk
akan dianggap paling lengkap dan sempurna karena mengalami perbaikan yang
berkesinambungan.
» Model ini cocok jika jumlah anggota tim pengembangan/pembangunan software terbatas
» Pelanggan dapat memakai inkremen yang pertama sebagai bentuk prototype dan mendapatkan
pengalaman yang dapat menginformasikan persyaratan untuk inkremen system berikutny
» Resiko untuk kegagalan proyek secara keseluruhan lebih rendah. Walaupun masalah dapat
ditemukan pada beberapa inkremen, bias saja beberapa inkremen diserahkan dengan sukses
kepada pelanggan.
» Adanya kesulitan untuk memetakan persyaratan pelanggan pada inkremen dengan ukuran yang
benar
» Butuh waktu yang relatif lebih lama untuk menghasilkan produk yang lengkap.
Kendala yang sering terjadi adalah sulitnya untuk memetakan kebutuhan user (customer)
ke dalam rencana spesifikasi masing-masing hasil increment. Hal ini disebabkan pula karena
seringkali user sulit menentukan kebutuhannya sendiri secara eksplisit atau jelas.
Sebagai contoh kedua, mengadopsi model sekuensial linier dan model prototipe. Fungsi
dasar sama, tapi ada tambahan asesoris (contoh : ada M.Word 1997, 2000). Fungsi tambahan
ditambahkan terus untuk membuat system menjadi lebih baik. Pada increment pertama PL yang
jadi, mengakomodasi kebutuhan inti. Baru pada tahap berikutnya ditambahkan kemampuan baru.
Mengapa model ini sangat populer??? Selain karena pengaplikasian menggunakan model
ini mudah, kelebihan dari model ini adalah ketika semua kebutuhan sistem dapat didefinisikan
secara utuh, eksplisit, dan benar di awal project, maka SE dapat berjalan dengan baik dan tanpa
masalah. Meskipun seringkali kebutuhan sistem tidak dapat didefinisikan seeksplisit yang
diinginkan, tetapi paling tidak, problem pada kebutuhan sistem di awal project lebih ekonomis
dalam hal uang (lebih murah), usaha, dan waktu yang terbuang lebih sedikit jika dibandingkan
problem yang muncul pada tahap-tahap selanjutnya.
Meskipun demikian, karena model ini melakukan pendekatan secara urut / sequential,
maka ketika suatu tahap terhambat, tahap selanjutnya tidak dapat dikerjakan dengan baik dan itu
menjadi salah satu kekurangan dari model ini.
Perbandingan Model dalam Rekayasa Perangkat Lunak
Setelah kita membahas beberapa permodelan rekayasa perangkat lunak, diantaranya model
waterfall, model spiral, model incremental dan lain-lain, maka dalam pembahasan kali ini kita
akan membahas perbandingan model rekayasa perangkat lunak tersebut.
Kita akan membahas 3 model perbandingan, yaitu waterfall, spiral dan
incremental. Sebaiknya model tersebut digunakan jika :
Sumber: http://tiiyawulaan.blogspot.com/2012/11/waterfall-prototype-incremental.html
Gambar: 1