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 mendapatkan feedback-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.
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 yakin bahwa pendekatan evolusioner ini
dapat terus dalam ambang kontrol yang bagus. Dibutuhkan kombinasi
kemampuan manajerial dan teknis tersendiri untuk mengontrol model ini
sehingga dengan sendirinya dapat meyakinkan user / customer tersebut.
Mengenai analisis resiko yang terdapat pada model ini dibutuhkan
kemampuan expert tersendiri agar tahap ini dapat berjalan dengan baik.
Dibutuhkan kemampuan manajemen yang tinggi untuk melakukan perkiraan
resiko, karena jika ada resiko yang luput untuk dievaluasi,
dikhawatirkan dapat muncul di kemudian hari yang dapat menghambat proses
SE. Kesimpulannya, model ini sebetulnya cukup populer, tetapi masih
kalah populer dibandingkan model2 yang lama yaitu waterfall atau
prototype akibat belum banyak penggunaan model ini yang dapat meyakinkan
pemikiran user / customer.
Menurut saya, spiral model ini merupakan model proses
yang paling cocok digunakan setelah ada tahap evolusioner pada model
proses. Saya mengatakan itu berdasarkan kemampuan spiral model yang
menggabungkan kemampuan dari waterfall model dan prototyping dimana
kedua model ini merupakan model yang sangat populer digunakan. Sangat
populer tentu karena menghasikan sesuatu yang pasti hasilnya baik. Dua
hal baik digabungkan seharusnya bisa menjadi sesuatu hal yang sangat
baik.
Waterfall model dengan tahapan2 standarnya yang sudah
saya paparkan pada tulisan yang lain ditambah dengan prototype untuk
memuaskan kebutuhan user / customer menjadi kombinasi untuk memuaskan
konsumen secara teknis dengan sangat baik. Ada tahapan yang belum
terdapat pada model yang lain yaitu analisis resiko yang menjadi suatu
keunggulan tersendiri dari spiral model ini. Analisis resiko menjadikan
model ini unggul secara manajerial maupun teknis, karena resiko yang
dianalisis mencakup dalam 2 scope tersebut. Mungkin untuk project dengan
skala kecil, analisis resiko bisa membuang waktu, meskipun penting juga
untuk dilakukan. Akan tetapi untuk project dengan skala besar, analisis
resiko harus, harus, dan harus dilakukan. Jika muncul masalah pada
suatu tahapan tentu akan membuang waktu lebih banyak. Jadi, sudah
sewajarnya ketika akan menerapkan SE dengan model ini, tentu harus ada
alokasi waktu tersendiri khusus untuk melakukan tahapan analisis resiko.
Pada akhirnya, meskipun ada beberapa kelemahan, akan tetapi spiral
model ini cocok digunakan untuk pengembangan software di jaman sekarang
ini.
sumber : https://hansiaditya.wordpress.com/2007/09/25/spiral-model/
Komentar
Posting Komentar