Proses model yang lain, yang cukup populer
adalah Spiral Model. Model ini juga cukup baru ditemukan, yaitu pada sekitar
tahun 1988 oleh Barry Boehm pada artikel A Spiral Model of Software
Development and Enhancement. Spiral model adalah salah satu bentuk evolusi
yang menggunakan metode iterasi natural yang dimiliki oleh model prototyping
dan digabungkan dengan aspek sistimatis yang dikembangkan dengan model
waterfall. Tahap desain umumnya digunakan pada model Waterfall, sedangkan tahap
prototyping adalah suatu model dimana software dibuat prototype (incomplete
model), “blue-print”-nya, atau contohnya dan ditunjukkan ke user / customer
untuk mendapatkanfeedback-nya. Jika prototype-nya sudah sesuai dengan
keinginan user / customer, maka proses SE dilanjutkan dengan membuat produk
sesungguhnya dengan menambah dan memperbaiki kekurangan dari prototype tadi.
Model ini juga mengkombinasikan top-down
design dengan bottom-up design, dimana top-down design menetapkan sistem global
terlebih dahulu, baru diteruskan dengan detail sistemnya, sedangkan bottom-up
design berlaku sebaliknya. Top-down design biasanya diaplikasikan pada model
waterfall dengan sequential-nya, sedangkan bottom-up design biasanya
diaplikasikan pada model prototyping dengan feedback yang diperoleh. Dari 2
kombinasi tersebut, yaitu kombinasi antara desain dan prototyping, serta
top-down dan bottom-up, yang juga diaplikasikan pada model waterfall dan
prototype, maka spiral model ini dapat dikatakan sebagai model proses hasil
kombinasi dari kedua model tersebut. Oleh karena itu, model ini biasanya
dipakai untuk pembuatan software dengan skala besar dan kompleks.
Spiral model dibagi menjadi beberapa
framework aktivitas, yang disebut dengan task regions. Kebanyakan aktivitas2
tersebut dibagi antara 3 sampai 6 aktivitas. Berikut adalah aktivitas-aktivitas
yang dilakukan dalam spiral model:
· Customer
communication. Aktivitas yang dibutuhkan untuk membangun komunikasi
yang efektif antara developer dengan user / customer terutama mengenai
kebutuhan dari customer.
· Planning. Aktivitas
perencanaan ini dibutuhkan untuk menentukan sumberdaya, perkiraan waktu
pengerjaan, dan informasi lainnya yang dibutuhkan untuk pengembangan software.
· Analysis
risk. Aktivitas analisis resiko ini dijalankan untuk menganalisis baik
resiko secara teknikal maupun secara manajerial. Tahap inilah yang mungkin
tidak ada pada model proses yang juga menggunakan metode iterasi, tetapi hanya
dilakukan pada spiral model.
· Engineering. Aktivitas
yang dibutuhkan untuk membangun 1 atau lebih representasi dari aplikasi secara
teknikal.
· Construction
& Release. Aktivitas yang dibutuhkan untuk develop software,
testing, instalasi dan penyediaan user / costumer support seperti training
penggunaan software serta dokumentasi seperti buku manual penggunaan software.
· Customer
evaluation. Aktivitas yang dibutuhkan untuk mendapatkan feedback dari
user / customer berdasarkan evaluasi mereka selama representasi software pada
tahap engineering maupun pada implementasi selama instalasi software pada tahap
construction and release.
Berikut adalah gambar dari spiral model
secara umum :
Satu lingkaran dari bentuk spiral pada
spiral model dibagi menjadi beberapa daerah yang disebut dengan region. Region
tersebut dibagi sesuai dengan jumlah aktivitas yang dilakukan dalam spiral
model. Tentunya lingkup tugas untuk project yang kecil dan besar berbeda. Untuk
project yang besar, setiap region berisi sejumlah tugas-tugas yang tentunya
lebih banyak dan kompleks daripada untuk project yang kecil. SE berjalan dari
inti spiral berjalan mengitari sirkuit per sirkuit. Sebagai contoh untuk
sirkuit pertama dilakukan untuk pembangunan dari spesifikasi dari software
dengan mencari kebutuhan dari customer. Untuk sirkuit pertama harus menjalani
semua aktivitas yang didefinisikan. Setelah 1 sirkuit terlewati lanjut ke tugas
selanjutnya misalnya membangun prototype. Tugas ini juga harus mengitari 1
sirkuit dan begitu terus selanjutnya sampai project selesai.
Tidak seperti model-model konvesional
dimana setelah SE selesai, maka model tersebut juga dianggap selesai. Akan
tetapi hal ini tidak berlaku untuk spiral model, dimana model ini dapat
digunakan kembali sepanjang umur dari software tersebut. Pada umumnya, spiral
model digunakan untuk beberapa project seperti Concept Development Project
(proyek pengembangan konsep), New Product Development Project (proyek
pengembangan produk baru), Product Enhancement Project (proyek peningkatan
produk), dan Product Maintenance Project (proyek pemeliharaan proyek). Keempat
project tersebut berjalan berurutan mengitari sirkuit dari spiral. Sebagai
contoh setelah suatu konsep dikembangkan dengan melalui aktivitas2 dari spiral
model, maka dilanjutkan dengan proyek selanjutnya yaitu pengembangan produk
baru, peningkatan produk, sampai pemeliharaan proyek. Semuanya melalui sirkuit2
dari spiral model.
Mengapa spiral model begitu populer? Pendekatan dengan model ini sangat baik digunakan untuk pengembangan
sistem software dengan skala besar. Karena progres perkembangan dari SE dapat
dipantau oleh kedua belah pihak baik developer maupun user / customer, sehingga
mereka dapat mengerti dengan baik mengenai software ini begitu juga dengan
resiko yang mungkin didapat pada setiap aktivitas yang dilakukan. Selain dari
kombinasi 2 buah model yaitu waterfall dan prototyping, kelebihan dari software
ini ada pada analisis resiko yang dilakukan, sehingga resiko tersebut dapat
direduksi sebelum menjadi suatu masalah besar yang dapat menghambat SE. Model
ini membutuhkan konsiderasi langsung terhadap resiko teknis, sehingga
diharapkan dapat mengurangi terjadinya resiko yang lebih besar. Sebenarnya
dengan menggunakan prototype juga bisa menghindari terjadinya resiko yang
muncul, tetapi kelebihan dari model ini yaitu dilakukannya proses prototyping
untuk setiap tahap dari evolusi produk secara kontinu. Model ini melakukan
tahap2 yang sudah sangat baik didefinisikan pada model waterfall dan ditambah
dengan iterasi yang menyebabkan model ini lebih realistis untuk merefleksikan
dunia nyata. Hal-hal itulah yang menjadi kelebihan menggunakan spiral model.
Meskipun banyak kelebihan tetapi tentu
masih ada kekurangannya. Kekurangannya ada pada masalah pemikiran user /
customer dimana mereka pada umumnya tidak

Tidak ada komentar:
Posting Komentar