ADAPTIVE SOFTWARE DEVELOPMENT (ASD)
&
DYNAMIC SYSTEM DEVELOPMENT (DSMD)
Diajukan untuk memenuhi salah satu tugas mata kuliah Analisis Desain
& Sistem Informasi
Dosen : Geraldi Capa Pamuji. S, Kom
Disusun Oleh :
Rizkika Adam Pratama /
Dimas Permadi /
Fitri Yani /
Muhammad Naufal Ridwan /
UNIVERSITAS KOMPUTER INDONESIA
FAKULTAS TEKNIK DAN ILMU KOMPUTER
Tahun Ajaran 2013 / 2014
ADAPTIVE SOFTWARE DEVELOPMENT (ASD) &
DYNAMIC SYSTEM DEVELOPMENT (DSMD)
Adaptive software development (ASD) dan Dynamic System Development Method
(DSDM) merupakan beberapa model proses dari Agile method. Dimana Agile
method
merupakan
sekelompok
metodologi
pengembangan
software
yang
didasarkan pada prinsip-prinsip yang sama atau pengembangan system jangka
pendek yang memerlukan adaptasi cepat dari pengembang terhadap perubahan
dalam bentuk apapun Metode ini dikembangkan karena pada metodologi tradisional
terdapat banyak hal yang membuat proses pengembangan tidak dapat berhasil
dengan baik sesuai tuntutan user. Konsep Agile method dicetuskan oleh Kent Beck
dan
16
rekannya
membangun
dengan
software
menyatakan
dengan
bahwa
melakukannya
Agile
dan
method
membantu
adalah
cara
orang
lain
membangunnya sekaligus.
Adaptive Software Development (ASD)
Adaptive Software Development (ASD) merupakan suatu model yang tergolong
dalam pendekatan agile yang diusulkan oleh Jim Highsmith. ASD menekankan pada
pengorganisasian tim secara mandiri, kolaborasi antar-perseorangan, dan terus
belajar, baik secara individu maupun secara tim. ASD menggunakan tools yang
disebut "time-boxing" - yaitu berupa aktifitas yang menentukan jangka waktu
tertentu yang dialokasikan untuk menyelesaikan berbagai macam tugas. Apabila
waktu yang ditentukan tersebut selesai, maka pembangunan sistem akan pindah ke
tugas berikutnya, dengan harapan bahwa sebagian besar dari critical work telah
berhasil diselesaikan sebelum waktu keseluruhan tugas berakhir.
System kerja adaptive software development :
1. Speculation
Menggunakan adaptive cycle planning Pada tahapan ini, didefinisikan visi
dan misi pengguna terhadap sistem yang akan dibuat, batasan proyek
dan kebutuhan dasar untuk mendefinisikan rangkaian software increment
(produk software yang secara berkala diserahkan) atau yang akan
dilakukan dalam satu cycle.
Menggunakan user mission statement, project constraints misalnya waktu
delivery.
Setelah siklus pertama,rencana dikaji ulang dan disesuaikan agar
proyeknya sesuai dengan realita dimana team ASD bekerja
2. Collaboration
Meliputi komunikasi dan kerjasama antar team tetapi tetap menekan
individualis. Orang-orang yang bermotivasi tinggi bekerja sama yaitu
saling melengkapi, rela membantu, kerja keras, trampil di bidangnya, dan
komunikasikan masalah untuk hasilkan penyelesaian yang efektif.
Mengumpulkan kebutuhan dengan spesifikasi yang minimalisir.
3. Learning
Pada tahap Learning, terdapat tiga aktifitas yaitu: pelanggan atau end-user
menyediakan
feedback
terhadap
hasil
incremental
delivery,
tim ASD
melakukan review terhadap komponen perangkat lunak untuk memperbaiki
dan meningkatkan kualitas perangkat lunak yang sedang dibuat. Tim
pembangun sering merasa sudah tahu semua hal tentang proyek, padahal
tidak selamanya begitu. Karena itu proses ini membuat mereka belajar lebih
tentang proyek melalui 3 cara:
o
Focus group: klien dan pengguna memberi masukan terhadap
o
o
software
Formal Technique Reviews: Tim ASD lengkap melakukan review
Postmortems: Tim ASD lakukan instrospeksi pada kinerja dan proses.
Setelah ketiga tahap tersebut telah selesai maka tahap berikutnya adalah
meluncurkan produk secara incremental. Yang di maksud incremental disini
adalah produk yang dihasilkan masih berupa perangkat lunak yang masih
perlu dievalusi dan diberi masukkan dan jika ada kesalahan diperbaiki
[Link] menerima
Gambar Tahapan Adaptive Software Development (ASD)
Dynamic System Development Method (DSDM)
Dynamic System
Development Method (DSDM) dikembangkan oleh Konsorsium
yang tersusun atas perwakilan dari beragam
vendors dan para ahli di bidang
sistem informasi (IS Experts) (Stapleton, 1997). DSDM lahir sebagai respon dari
ketidak-puasan
akan
metodologi
Rapid
Application Development (RAD) yang
berimej quick but dirty (Avison & Fitzgerald,
2006). Yang menjadi kritikan adalah sebuah metodologi tidak hanya dituntut
mewujudkan
proses
pengembangan
yang
cepat
namun
juga
harus
tetap
menjaga kualitas dari sistem informasi yang dikembangkan.
Pada DSDM, kelemahan RAD yang hanya memberikan perhatian pada sebagian
komponen
pengembangan mulai diakomodasikan. DSDM menyediakan
melengkapi
RAD
dengan
suatu
framework yang
dan
mengontrol proses
pembangunan dan pemeliharaan sistem yang menjamin kesuksesan proses iterasi
pada RAD dengan batasan waktu yang ketat dan sumber daya yang tetap.
Pengembangan sistem tidak hanya menggunakan sudut pandang pengembang
tetapi juga meliputi pihak terkait lainnya seperti user, manajer (owner),
personil
dari
quality
assurance.
Sehingga
kontrol
dan
dan pengawasan
pengembangan sistem lebih bersifat objektif. Kondisi ini juga, menjadikan DSDM
memiliki fleksibelitas pada
aspek
skalabilitas.
DSDM dapat
digunakan
untuk
pengembangan sistem dengan skala kecil sampai dengan skala besar.
Tahapan Proses Dynamic System Development Method (DSDM)
Feasibility Study(Studi Kelayakan)
Pada tahapan ini tim pengembang akan mengkaji apakah sistem yang akan
dikembangkan
cukup
layak
untuk
dikembangkan
berdasarkan
keterbatasan
waktu dan sumber daya yang telah ditentukan. Selain itu pada tahapan ini
juga
meliputi
peninjauan
kembali
apakah
metodologi
DSDM cukup
relevan
untuk digunakan bagi pengembangan sistem. Tahapan ini dikerjakan secepat
mungkin untuk mendukung pengiriman spesifikasi sistem secara cepat.
Business Study(Studi Aspek Bisnis)
Pada tahapan ini tim pengembang akan mempelajari aspek bisnis dari sistem yang
akan dikembangkan. Pengkajian pada tahapan ini merupakan pengkajian pada high
level. Pada tahapan ini akan ditentukan business rules yang akan diterapkan pada
sistem. Tahapan ini membutuhkan suatu teknik pengumpulan data dan informasi
akan spesifikasi kebutuhan sistem. Teknik interview dan observasi pada metodologi
tradisional dianjurkan untuk tidak digunakan, karena cenderung lama. Teknik yang
disarankan untuk digunakanadalah JAD (Joint Application Development) workshop.
Pada
tahapan
ini akan ditentukan fungsional utama apa saja yang akan
diprioritaskan untuk diakomodasi pada keseluruhan arsitektur sistem. Selain itu
akan dirancang juga
gambaran
umum
rencana
kerja
pengembangannya.
Rencana
kerja meliputi
juga
pengembangan prototyping.
strategi
Rencana
apa
kerja
yang
ini
akan
akan
digunakan
mengalami
pada
perbaikan
(refinement) selama tahapan proses pengembangan, seiring dengan semakin
banyaknya informasi spesifikasi kebutuhan dan fungsional sistem yang dapat
terdefinisikan. Satu komponen penting lainnya yang dihasilkan pada tahapan ini
adalah, definisi dari area bisnis. Definisi area bisnis biasanya terdiri dari pemodelan
proses dan data. Perlu diketahui bahwa DSDM dirancang untuk bersifat independen
terhadap pendekatan teknologi pemodelan proses dan data. Baik pendekatan
terstruktur maupun berorientasi objek, keduanya dapat digunakan pada DSDM.
Yang menjadi penekanan pada hal ini adalah bahwa ketika, katakanlah pendekatan
terstruktur yang digunakan maka pemodelan proses
dan
data
dengan
pendekatan terstruktur harus secara konsisten digunakan. Sebagai contoh untuk
pemodelan proses dapat digunakan DFD, sedangkan untuk pemodelan data dapat
digunakan ERD.
Functional Model Iteration (Iterasi Model Fungsional).
Pada tahapan
study akan
ini
informasi
mengalami
yang
berhasil
refinement.
di-capture pada
Fungsional
prototype
tahapan business
dari
sistem akan
dihasilkan untuk sekaligus di-evaluasi. Fungsional prototype adalah fungsi-fungsi
apa saja yang harus diakomodasikan oleh sistem, pada tahapan reviewakan dikaji
bagaimana seharusnya sistem mengakomodasikan fungsi - fungsi
tersebut.
Prototype dihasilkan untuk menelaah beragam aspek fungsional dari sistem yang
terdiri dari:
a) Business - Bagaimana kesesuaian fungsional
sistem
terhadap fungsional
bisnis yang telah ditetapkan untuk diakomodasikan?
b) Usability - Seberapa mudah penggunaan sistem?
c) Performance and capacity - Dapatkah sistem menangani suatu ukuran
volume dan intensitas transaksi yang telah ditetapkan?
d) Technique - Terkait teknik terbaik apa yang dapat
ditempuh
untuk
mengakomodasikan kebutuhan fungsional sistem ini?
Design And Build Iteration(Iterasi Perancangan dan Pembangunan)
Tahapan untuk merancang
prototype yang siap dikirimkan pada
user. Pada
tahapan ini setidaknya ada beberapa kebutuhan sistem yang sudah dapat
dijalankan (terakomodasikan) pada prototype yang dihantarkan. Secara bertahap
spesifikasi
kebutuhan
dengan
kebutuhan
dengan prioritas
prioritas
must
have dan
beberapa spesifikasi
should have akan mulai dikirimkan kepada
user.
Proses awal pada tahapan ini akan meliputi rancangan dan pembangunan perarea
fungsional yang telah
didefinisikan pada tahapan pemodelan
fungsional.
Ketika area terkait dapat dibangun maka dengan
segera prototype-nya dihasilkan untuk selanjutnya dihantarkan kepada user. Akan
tetapi jika terkait atau membutuhkan fungsional area lainnya yang belum
didefinisikan diperlukan
back transition kepada tahapan pemodelan fungsional
untuk melengkapi kebutuhan fungsional dari area yang tidak lengkap tadi.
Secara
detail rancangan algoritma, rancangan
interfacesistem, dan
rancangan
fisik database akan dihasilkan pada tahapan ini. Seluruh rancangan ini secara
cepat akan diwujudkan dalam bentuk
pengujian
prototype yang
merupakan
fokus
dibutuhkan
pengujian
merepresentasikan
perhatian,
secara
prototypesistem. Pada
mesekipun
parsial
sistem keseluruhan
pada
untuk
tahapan
beberapa area
suatu
ini
bukan
terkadang
area rancangan
sistem
tertentu. Pada kebanyakan kasus pengembangan, pada tahapan ini merupakan
tahapan dimana untuk pertama kalinya representasi spesifikasi
sistem
secara
keseluruhan mulai dapat difungsikan untuk digunakan.
Implementation(Implementasi)
Tahapan ini merupakan tahapan terakhir dari DSDM. Pada tahapan ini meliputi
penghantaran
produk
akhir
hasil
[Link]
secara keseluruhan
berdasarkan rancangan spesifikasi kebutuhan pada tahapan design and build.
Pada tahapan inilah sistem keseluruhan akan diujikan dan di-reviewkesesuaiannya
terhadap aspek bisnis. Selain itu aktifitas melengkapi dokumentasi pengembangan
serta manual penggunaan sistem merupakan salah satu aktifitas yang dilakukan
pada tahapan ini. Idealnya yang membuat manualpenggunaan sistem adalah user.
Perlu diingat userdisini adalah user yang terlibat aktif pada pengembangan sistem,
stakeholder yang berperan sebagai user. Sebagai akhir pada tahapan ini akan
dihasilkan
Project Review Document, komponen utama dari isi pada dokumen
tersebut adalah penilaian terkait dengan apakah pengembangan sistem dinyatakan
telah selesai karena dianggap telah memenuhi seluruh spesifikasi kebutuhan
atau sebaliknya masih membutuhkan iterasi pengembangan.
Kelemahan DSDM
DSDM dinilai lemah dari sisi tahapan pemrograman. Pada DSDM tidak dilakukan
penekanan secara detail pada aspek pemrograman. Implikasinya tidak ada kontrol
yang menjamin aktifitas pemrograman terlaksana dengan baik. Kenyataannya
monitoring aktifitas pemrograman pada rentang waktu yang ketat merupakan suatu
hal yang penting. Pada tahapan implementasi, kode program yang diterapkan
hanya merupakan rangkaian kode program yang baru teruji pada prototipekondisi
ini memiliki potensi kegagalan hasil implementasi ketika diterapkan pada sitem
sesungguhnya.