Senin, 28 Oktober 2013

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

3 komentar: