Dynamic Systems Development Method (DSDM)
DSDM adalah suatu kerangka kerja awalnya didasarkan pada Rapid Application Development (RAD). DSDM mengutamakan keterlibatan pemakai secara berkesinambungan dengan pendekatan pengembangan secara berulang dan bertambah, tanggap terhadap perubahan, untuk membangun sistem perangkat lunak yang memenuhi kebutuhan bisnis tepat waktu dan tepat anggaran. DSDM merupakan salah satu metode Agile untuk pengembangan perangkat lunak, dan bagian dari Agile Alliance. DSDM pertama kali diperkenalkan pada tahun 1995, di mana merupakan satu-satunya publikasi penggunaan metode RAD di dunia [4].
Sebagai perluasan dari RAD, DSDM memusatkan pada proyek sistem informasi yang dicirikan oleh jadwal dan anggaran yang ketat. DSDM berupaya mengatasi penyebab-penyebab kegagalan proyek, di antaranya melebihi anggaran, terlambat dari jadwal, kurangnya keterlibatan pengguna, dan lemahnya komitmen dari para pimpinan. Kerangka kerja DSDM menyediakan dasar ideal bagi proses pengembangan dan penerapan sistem informasi, meliputi orang (misal organisasi, staf, keahlian), teknologi pendukung (misal teknologi informasi, otomatisasi kantor, komunikasi) dan proses yang menyatukan keduanya (dalam rangkaian strategi bisnis).
DSDM terdiri dari 3 tahapan utama, dan 5 sub tahap. Tahapan utama adalah:
- Sebelum proyek, di mana kandidat proyek diidentifikasi, pembiayaan proyek terpenuhi, dan jaminan proyek dipastikan. Penanganan hal-hal tersebut pada tahap ini menghindari masalah pada tahap-tahap berikutnya.
- Siklus hidup proyek, merupakan inti dari DSDM, yang terdiri dari 5 sub tahap yaitu i) studi kelayakan; ii) studi bisnis; iii) perulangan model fungsional; iv) perulangan perancangan dan pembuatan; v) penerapan.
- Setelah proyek, yaitu memastikan sistem berjalan secara efektif dan efisien. Hal ini diwujudkan dengan perawatan, peningkatan dan perbaikan sesuai prinsip-prinsip DSDM. Perawatan dapat dilihat sebagai usaha meneruskan pengembangan berdasarkan sifat alami DSDM, yaitu perulangan dan pertambahan.
Terdapat 9 prinsip mendasar dari DSDM, yang menjadikan kekuatan dari DSDM, yaitu:
- Keterlibatan pengguna adalah kunci utama dalam menjalankan proyek secara efisien dan efektif. Pengguna dan pengembang saling bekerja sama sehingga keputusan dapat diambil secara tepat dan akurat.
- Tim pengembang proyek diberi wewenang untuk membuat keputusan yang penting untuk kemajuan proyek, tanpa menunggu persetujuan dari tingkat di atasnya.
- Memusatkan pada seringnya produk dihasilkan, dengan anggapan menghasilkan sesuatu ‘cukup baik’ lebih awal adalah lebih baik daripada menghasilkan keseluruhan ‘sempurna’ pada akhirnya. Dengan seringnya penyampaian produk pada tahap-tahap awal proyek, produk tersebut dapat diujicoba dan ditinjau di mana hasilnya merupakan pertimbangan untuk maju ke putaran atau tahap berikutnya.
- Kesesuaian dari tujuan bisnis merupakan kriteria utama dalam penerimaan hasil. Menghasilkan suatu sistem yang memenuhi semua kemungkinan dari kebutuhan bisnis adalah kurang penting dibanding memusatkan pada fungsi-fungsi yang kritis.
- Pengembangan secara berulang dan bertambah adalah penting, dilandasi masukan dari pengguna untuk mencapai solusi bisnis yang efektif.
- Seluruh perubahan yang terjadi dalam pengembangan dapat dikembalikan (reversible).
- Setiap persyaratan dan kebutuhan harus sudah ditentukan sebelum proyek dimulai.
- Pengujian dilakukan pada keseluruhan siklus hidup proyek. Dalam hal ini ujicoba bukan kegiatan terpisah dalam pengembangan. Tinjauan dari pengembang dan pengguna adalah penting untuk memastikan proyek berjalan baik dari sisi bisnis maupun teknis.
- Kerjasama yang efektif dan efisien dari setiap pihak yang berkepentingan adalah penting.
Gambar 1. Siklus hidup DSDM.
Siklus hidup proyek terdiri dari 5 sub tahap, untuk selanjutnya disebut tahap mengingat ini adalah inti dari DSDM, yang menggambarkan 5 tingkatan proyek yang harus dilalui untuk menghasilkan suatu sistem informasi. Dua tahap awal, yaitu studi kelayakan dan studi bisnis merupakan tahap yang berurutan dan keduanya saling melengkapi. Selanjutnya sistem dibangun secara berulang dan bertambah melalui tahap perulangan model fungsional, perulangan perancangan dan pembuatan dan diakhiri pada penerapan.
Kegiatan
|
Sub Kegiatan
|
Penjelasan
|
Studi
|
Studi Kelayakan
|
Menilai kelayakan pengerjaan suatu proyek, termasuk kecocokan proyek tersebut dengan penggunaan DSDM. Dihasilkan laporan kelayakan, kelayakan prototip, skema global perencanaan berikut rencana pengembangan dan catatan resiko.
|
Studi Bisnis
|
Analisa karakteristik dari sisi bisnis dan teknologi. Pendekatan utama adalah pengadaan lokakarya, di mana pengguna ahli berkumpul dan menghasilkan hal-hal yang relevan dari sistem serta menyetujui skala prioritas dalam pengembangan. Dihasilkan daftar prioritas kebutuhan, definisi dari wilayah bisnis, definisi arsitektur sistem, dan garis besar rencana prototip.
| |
Perulangan Model Fungsional
|
Mengenali prototip fungsional
|
Menentukan fungsionalitas yang akan dikerjakan pada prototip. Dihasilkan sebuah model fungsional menurut hasil dari tingkat studi bisnis.
|
Menyetujui jadwal
|
Setuju pada bagaimana dan kapan untuk membangun fungsionalitas tersebut.
| |
Membuat prototip fungsional
|
Membangun prototip fungsional, sesuai jadwal yang disetujui dan model fungsional.
| |
Meninjau prototip fungsional
|
Mengecek kebenaran dari prototip yang dibangun. Hal ini dilakukan melalui pengujian oleh pemakai akhir dan / atau melihat dokumentasi. Dihasilkan sebuah dokumen tinjauan prototip model fungsional.
| |
Perulangan Perancangan dan Pembuatan
|
Mengenali prototip rancangan
|
Mengenali kebutuhan fungsional dan non-fungsional yang diperlukan dalam sistem yang diujikan. Dihasilkan suatu strategi penerapan, yang juga didasari catatan pengujian dari perulangan sebelumnya.
|
Menyetujui jadwal
|
Setuju pada bagaimana dan kapan memenuhi persyaratan yang ada.
| |
Membuat prototip rancangan
|
Membuat sebuah sistem (prototip rancangan) yang dapat secara aman diserahkan kepada pengguna akhir untuk penggunaan harian, juga sebagai ujicoba.
| |
Meninjau prototip rancangan
|
Mengecek kebenaran hasil rancangan sistem, melalui serangkaian teknik ujicoba dan peninjauan. Dokumentasi pengguna maupun catatan pengujian akan dibuat.
| |
Penerapan
|
Persetujuan pemakai dan garis pedoman
|
Pengguna akhir menyetujui sistem yang telah diuji untuk diterapkan and sebagai pedoman, dengan mematuhi ketentuan sistem yang telah dibuat.
|
Melatih pengguna
|
Melatih calon pengguna dalam penggunaan sistem. Dihasilkan sekelompok pengguna yang terlatih.
| |
Penerapan
|
Menerapkan sistem yang telah teruji (tested system) di lokasi pengguna akhir, disebut juga sistem yang tersampaikan.
| |
Tinjauan bisnis
|
Meninjau dampak dari penerapan sistem pada bisnis, dengan isu pokok apakah sistem memenuhi tujuan yang ditentukan pada awal proyek. Berdasarkan hal ini proyek akan menuju tahap selanjutnya, yaitu setelah proyek, atau kembali ke salah satu tahap sebelumnya untuk perbaikan lebih lanjut. Hasil peninjauan ini akan didokumentasikan dalam dokumen tinjauan proyek.
|
Terdapat banyak teknik-teknik pengembangan yang dapat digunakan pada suatu proyek. Tidak ada satu teknik yang sesuai (dengan cara seragam) untuk seluruh proyek, sebaliknya tidak seluruh teknik perlu digunakan untuk setiap proyek. Berikut beberapa teknik penting yang sangat menentukan keberhasilan dari DSDM:
- Pengadaan lokakarya, di mana teknik penting untuk menjaga kemajuan proyek secara cepat dan dalam arah yang tepat, baik dari sisi bisnis maupun teknis. Lokakarya digunakan menyeluruh pada proyek untuk menciptakan produk dan membuat keputusan dengan cepat, serta mengumpulkan pandangan luas dari pihak-pihak terkait.
- MoSCoW, menyajikan cara dalam memprioritaskan persyaratan. Ini adalah suatu singkatan yang berarti:
- Must, persyaratan ini harus ada demi tuntutan bisnis.
- Should, persyaratan ini ada bilamana mungkin, tetapi keberhasilan proyek tidak bergantung padanya.
- Could, persyaratan ini bisa ada, dan tidak mempengaruhi kemampuan dari tuntutan bisnis.
- Would, persyaratan ini dipenuhi di masa depan bila terdapat sisa waktu atau pada pengembangan sistem selanjutnya.
- Pembuatan prototip, yang mendasari keberhasilan dari proyek DSDM. Teknik ini memungkinkan keterlibatan nyata dari pengguna dalam kegiatan pengembangan sejak tingkatan paling awal, dengan demikian memungkinkan pengguna mengendalikan pengembang untuk mencapai keuntungan bisnis yang maksimal. Pembuatan prototip dapat mendorong kreativitas, tetapi hal itu juga perlu dikendalikan.
- Timeboxing, digunakan untuk mendukung tujuan utama dari DSDM dalam mewujudkan pengembangan sistem informasi tepat waktu, sesuai anggaran dan kualitas yang diinginkan. Ide utama pada timeboxing adalah memecah proyek dalam bagian-bagian, masing-masing dengan anggaran dan waktu yang tetap. Bagi setiap bagian ditentukan sejumlah persyaratan yang diutamakan sesuai prinsip MoSCoW. Mengingat waktu dan anggaran bersifat tetap, hanya tersisa persyaratan sebagai variabel, sehingga bila proyek kehabisan waktu atau uang, persyaratan dengan prioritas rendah akan diabaikan. Sesuai prinsip pareto, di mana 80% proyek berasal dari 20% persyaratan, sepanjang 20% hal terpenting dari persyaratan tercapai, dengan demikian telah memenuhi kebutuhan bisnis (dan tidak ada sistem yang terbangun sempurna pada usaha pertama).
- Teknik-teknik pemodelan. Panduan diberikan tentang apa yang dimodelkan, kapan dan bagaimana, memungkinkan setiap organisasi dan proyek menentukan kumpulan terbaik dari model-model yang sesuai keadaan: satu ukuran tidak cocok untuk semua.
- Pengujian, yang dilakukan sepanjang DSDM dalam rangka memastikan bahwa penyelesaian proyek sesuai dengan kualitas yang disyaratkan. Bagian ini menyediakan panduan tentang bagaimana menguji dengan pemusatan pada apa yang harus diselesaikan ketimbang apa yang bisa diselesaikan bila waktu tersedia.
- Pengelolaan konfigurasi, sebagai faktor kunci dalam mengelola perkembangan produk (baik perangkat lunak dan dokumentasi) yang dibuat sepanjang siklus hidup DSDM, dari permulaan proyek hingga hasil akhir dikirimkan. Bagian ini mencakup bagaimana untuk menentukan apa yang dikendalikan dalam pengelolaan konfigurasi, siapa yang bertanggungjawab, dan kapan melaksanakannya.
- Lingkungan pendukung, misalnya alat bantu yang digunakan pengembang dalam membuat produk teknis dari proyek. Lingkungan pendukung adalah faktor penting dalam mempercepat pencapaian hasil. Alat bantu yang buruk akan menghambat kreativitas dari pengembang dalam tim. Panduan disajikan tentang alat apa yang diutamakan, bagaimana memilih yang paling tepat untuk pengembangan secara berulang dan bertambah dari DSDM.