Pengembangan S / W Adaptif - Pendahuluan

Apa itu Agile?

Dalam istilah sastra, kata “agile” berarti seseorang yang dapat bergerak dengan cepat dan mudah atau seseorang yang dapat berpikir dan bertindak dengan cepat dan jelas. Dalam bisnis, “agile” digunakan untuk mendeskripsikan cara-cara merencanakan dan melakukan pekerjaan dimana dipahami bahwa membuat perubahan sesuai kebutuhan adalah bagian penting dari pekerjaan. "Kelincahan" bisnis berarti bahwa perusahaan selalu dalam posisi untuk memperhitungkan perubahan pasar.

Dalam pengembangan perangkat lunak, istilah "tangkas" diadaptasi menjadi "kemampuan untuk menanggapi perubahan - perubahan dari Persyaratan, Teknologi, dan Orang".

Manifesto Agile

Agile Manifesto diterbitkan oleh tim pengembang perangkat lunak pada tahun 2001, menyoroti pentingnya tim pengembangan, mengakomodasi perubahan persyaratan dan keterlibatan pelanggan.

Manifesto Agile adalah -

Kami menemukan cara yang lebih baik untuk mengembangkan perangkat lunak dengan melakukannya dan membantu orang lain melakukannya. Melalui pekerjaan ini, kami menjadi menghargai -

  • Individu dan interaksi atas proses dan alat.
  • Bekerja perangkat lunak di atas dokumentasi yang komprehensif.
  • Kolaborasi pelanggan melalui negosiasi kontrak.
  • Menanggapi perubahan mengikuti rencana.

Artinya, meskipun ada nilai di item di sebelah kanan, kami lebih menghargai item di sebelah kiri.

Karakteristik Agility

Berikut adalah karakteristik Agility -

  • Agility in Agile Software Development berfokus pada budaya seluruh tim dengan tim multidisiplin lintas fungsi yang diberdayakan dan diatur sendiri.

  • Ini memupuk tanggung jawab dan akuntabilitas bersama.

  • Memfasilitasi komunikasi yang efektif dan kolaborasi berkelanjutan.

  • Pendekatan seluruh tim menghindari penundaan dan waktu tunggu.

  • Pengiriman yang sering dan berkelanjutan memastikan umpan balik cepat yang pada gilirannya memungkinkan tim menyesuaikan dengan persyaratan.

  • Kolaborasi memfasilitasi penggabungan berbagai perspektif tepat waktu dalam implementasi, perbaikan cacat, dan perubahan akomodatif.

  • Kemajuan konstan, berkelanjutan, dan dapat diprediksi dengan menekankan transparansi.

Metodologi Agile

Implementasi awal dari metode Agile termasuk Rational Unified Process, Scrum, Crystal Clear, Extreme Programming, Adaptive Software Development, Feature Driven Development, dan Dynamic Systems Development Method (DSDM). Ini sekarang secara kolektif disebut sebagai metodologi Agile, setelah manifesto Agile diterbitkan pada tahun 2001.

Dalam tutorial ini, kita akan mempelajari Metodologi Agile - Adaptive Software Development.

Apa itu Pengembangan Perangkat Lunak Adaptif?

Pengembangan Perangkat Lunak Adaptif adalah langkah menuju praktik adaptif, meninggalkan praktik deterministik dalam konteks sistem yang kompleks dan lingkungan yang kompleks. Pengembangan Perangkat Lunak Adaptif berfokus pada kolaborasi dan pembelajaran sebagai teknik untuk membangun sistem yang kompleks. Ini berevolusi dari praktik terbaik Pengembangan Aplikasi Cepat (RAD) dan Siklus Hidup Evolusioner. Pengembangan Perangkat Lunak Adaptif kemudian diperluas untuk memasukkan pendekatan adaptif untuk manajemen, dengan spekulasi menggantikan Perencanaan.

Jim Highsmith menerbitkan buku tentang Adaptive Software Development pada tahun 2000. Dalam kata-kata Highsmith -

“Pengembangan Perangkat Lunak Adaptif adalah siklus seperti model evolusioner, dengan nama fase. Berspekulasi, berkolaborasi, belajar mencerminkan dunia tak terduga dari sistem yang semakin kompleks. Perkembangan adaptif lebih jauh dari warisan evolusionernya dalam dua cara utama. Pertama, ia secara eksplisit menggantikan determinisme dengan kemunculan. Kedua, ini melampaui perubahan Siklus Hidup ke perubahan yang lebih dalam dalam gaya manajemen. "