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.
Tidak ada komentar:
Posting Komentar