sekilas Adaptive Software Development (ASD)
Adaptive Software Development (ASD) adalah
proses pengembangan perangkat lunak, yang berevolusi dari Rapid
Application Development. Dibandingkan dengan tradisional metodologi yang digunakan oleh para insinyur perangkat lunak, ASD
pendekatan desain aplikasi dalam lebih dinamis, cara
adaptif. Pendekatan ini melibatkan modifikasi terus menerus dari proses, untuk beradaptasi dengan perubahan lingkungan proyek. Hasilnya
adalah sangat Metode responsif pengembangan perangkat lunak, yang
membuatnya mudah untuk memasukkan setiap persyaratan berubah
menjadi siklus pengembangan. Konsep ini didasarkan pada sangat asumsi benar, bahwa spesifikasi tidak pernah selesai pada awal proyek dan mereka yang terus berubah, bersama dengan lingkungan dan faktor
terkait.
Proses adaptasi terus menerus
dimungkinkan, karena struktur spesifik siklus pengembangan. Model
air terjun biasa digunakan diganti dengan mengulangi serangkaian berspekulasi-berkolaborasi-belajar siklus.Tahap spekulasi perencanaan tahap berdasarkan membuat asumsi bahwa persyaratan yang diberikan oleh pemangku kepentingan yang tidak benar dan harus ditantang. Hal ini memungkinkan
proyek yang akan siap untuk perubahan mendadak persyaratan dan
beradaptasi dengan mereka, sesuai. Perencanaan diikuti oleh
fase kerja berkolaborasi, yang berfokus pada upaya untuk menyeimbangkan bekerja, atas dasar bagian diprediksi lingkungan dan beradaptasi dengan faktor yang tidak pasti, yang mempengaruhi desain. Siklus ini ditutup
oleh fase belajar, yang terdiri dari iterasi desain-build-tes pendek,
menantang semua pemangku kepentingan. Itu pengetahuan yang
dikumpulkan di masing-masing iterasi dengan membuat kesalahan kecil, sehingga dari asumsi yang salah, dan mengoreksi mereka, sehingga mendapatkan lebih
banyak pengalaman dan mengembangkan keahlian dalam masalah domain. Nilai
yang berasal dari fakta bahwa setiap asumsi yang diidentifikasi menjadi
keputusan yang salah, memberikan kontribusi terhadap pengembangan lebih lanjut dari sistem, daripada memperlambat menurunkannya.
Menggunakan jenis metodologi tidak akan
mungkin tanpa beberapa kunci teknologi, yang mendasarinya. Hal ini
terutama penting untuk menggunakan pemrograman dinamis bahasa untuk pengembangan, bukan bahasa pemrograman statis. Yang
terakhir membutuhkan membuat banyak keputusan tentang penataan
Program dan representasi data, awal proses. Menggunakan bahasa
dinamis, seperti Dylan atau CLOS memungkinkan pengembang untuk
menghindari komitmen tersebut dan untuk memodifikasi aplikasi, menurut faktor-faktor perubahan. Meskipun bahasa pemrograman Java, yang cukup
umum digunakan saat ini, memiliki beberapa fitur refleksi
dinamis, tidak dianggap sepenuhnya dynami. Dalam
rangka untuk mengambil keuntungan penuh dari ASD itu akan diperlukan untuk
melatih pengembang dalam menggunakan bahasa yang cukup
eksotis, yang tidak begitu luas. Teknologi lainnya yang
mendasari metodologi termasuk teknologi agen, keputusan teori, penguatan pembelajaran dan jaringan probabilistik. Ini sangat
terkait dengan konsep kecerdasan buatan dan karena itu
membutuhkan keahlian tertentu dalam topik itu.
Sejak ASD mengandalkan kesalahan manusia
dan pengambilan keputusan, hal ini dianggap sebagai Teknik bertenaga manusia, yang berorientasi pada manusia dan intens mereka kolaborasi (pengembang, manajemen dan pelanggan), bukan dari proses,
seperti beberapa metodologi lain. Hal ini memungkinkan
untuk menjadi lebih fleksibel dan tim berpusat, sehingga mengurangi
birokrasi dan kerja sama tim lebih. Pendekatan ini bekerja sangat baik
untuk cepat berubah, proyek-proyek kecil, seperti aplikasi
internet. Dalam kombinasi dengan respon dari adaptasi
konstan, ASD membuat pilihan yang sangat baik untuk usaha tersebut.
ASD dapat diringkas sebagai metodologi
yang sangat progresif dan fleksibel, memutar poin terlemah dari
proses pembangunan menjadi kekuatan yang mengendarainya. Dengan melakukan adaptasi terus menerus, ASD memungkinkan untuk menghasilkan perangkat lunak
berkualitas, yang membutuhkan waktu yang relatif singkat untuk
dimodifikasi, dalam hal apapun persyaratan atau faktor lain yang diubah. Namun, karena metodologi bergantung pada cukup eksotis,
dinamis bahasa dan konsep kecerdasan buatan, biaya pelatihan
atau mempekerjakan pengembang dengan keterampilan yang diperlukan dan
pengetahuan mungkin berpotensi kelebihan berat badan penghematan mempercepat proses, terutama jika salah satu pengembang harus diganti tengah siklus pengembangan. Namun, jika organisasi memiliki akses ke
pengembang dengan keterampilan yang tepat, ASD berpotensi dapat
membuktikan menjadi extremly produktif dan biaya menabung



