Dynamic Systems Development Method

***Dynamic Systems Development Method'' (DSDM)'''  adalah pendekatan [[Agile Development Methods|''agile software development'']] yang “menyediakan kerangka kerja untuk membangun dan memelihara sistem yang menghadapi kendala waktu yang ketat melalui penggunaan prototipe tambahan dalam lingkungan proyek yang dikendalikan”'''.''' DSDM Pertama kali dirilis pada tahun 1994, DSDM awalnya berusaha memberikan disiplin pada metode ''Rapid Application Development'' (RAD).Filosofi ''Dynamic Systems Development Method'' dipinjam dari versi modifikasi dari prinsip Pareto — 80 persen aplikasi dapat dikirim dalam 20 persen dari waktu yang diperlukan untuk mengirimkan aplikasi lengkap (100 persen). DSDM adalah proses perangkat lunak ''iterative'' di mana setiap iterasi mengikuti aturan 80 persen. Artinya, hanya pekerjaan yang dianggap cukup yang diperlukan setiap ''increment'' untuk memfasilitasi perpindahan ke ''increment'' berikutnya. Detail yang tersisa dapat diselesaikan kemudian ketika lebih banyak kebutuhan bisnis diketahui atau perubahan telah diminta dan diakomodasi.

== Proses DSDM ==
[[Konsorsium]] DSDM adalah grup mendunia dari anggota perusahaan yang secara kolektif mengambil peran sebagai "penjaga" metode ini. Konsorsium telah mendefinisikan model proses ''agile,'' yang disebut siklus hidup DSDM yang mendefinisikan tiga siklus berulang yang berbeda, didahului oleh dua kegiatan siklus hidup tambahan:

'''Studi kelayakan ''(Feasibility study)*** menetapkan kebutuhan dan kendala bisnis dasar yang terkait dengan aplikasi yang akan dibangun dan kemudian menilai apakah aplikasi tersebut merupakan kandidat yang layak untuk proses DSDM.

**Studi bisnis ''(Business study)*** menetapkan kebutuhan fungsional dan informasi yang memungkinkan aplikasi memberikan nilai bisnis, juga, mendefinisikan arsitektur aplikasi dasar dan mengidentifikasi kebutuhan pemeliharaan untuk aplikasi tersebut.

Iterasi model fungsional *'(Functional model iteration)** menghasilkan seperangkat prototipe tambahan yang menunjukkan fungsionalitas bagi pelanggan. (Catatan: Semua [[Purwarupa|prototipe]] DSDM cenderung untuk berevolusi menjadi aplikasi yang dapat dikirim.) Maksud selama siklus berulang ini adalah untuk mengumpulkan kebutuhan tambahan dengan memperoleh umpan balik dari pengguna saat mereka menggunakan prototipe.

**Iterasi desain dan *build* *(Design and build iteration)*** meninjau kembali prototipe yang dibangun selama iterasi model fungsional untuk memastikan bahwa masing-masing telah direkayasa sedemikian rupa sehingga memungkinkan untuk memberikan nilai bisnis operasional bagi pengguna akhir. Dalam beberapa kasus, iterasi model fungsional dan iterasi desain dan ''build'' terjadi secara bersamaan.

**Implementasi *(Implementation)**' menempatkan *software increment* terbaru (suatu tipe “teroperasionalisasi”) ke dalam lingkungan operasional. Perlu dicatat bahwa (1) i*ncrement* mungkin tidak 100 persen lengkap atau (2) perubahan dapat diminta saat *increment* dilakukan. Dalam kedua kasus, pekerjaan pengembangan DSDM berlanjut dengan kembali ke aktivitas iterasi model fungsional.

DSDM dapat dikombinasikan dengan [[Extreme programming|Extreme Programming]] (XP) untuk memberikan pendekatan kombinasi yang mendefinisikan model proses yang solid (siklus hidup DSDM) dengan praktik mur dan baut (XP) yang diperlukan untuk membangun *software increment''. Selain itu, konsep Adaptive Software Development (ASD) tentang kolaborasi dan tim yang mengatur diri sendiri dapat disesuaikan dengan model proses gabungan.

## Referensi