Pada tahun 2001, terjadi penandatanganan "Manifesto for Agile Software Development" oleh Kent Beck dan 16 tokoh penting lainnya dalam pengembangan, penulisan, dan konsultasi perangkat lunak yang dikenal sebagai "Agile Alliance". Manifesto tersebut berisi pernyataan sebagai berikut:
Kami berhasil menemukan suatu metode yang lebih baik dalam pengembangan perangkat lunak, yakni dengan menerapkannya secara langsung dan membantu orang lain untuk menerapkannya juga. Melalui upaya ini, kami berhasil mencapai nilai-nilai sebagai berikut:
Lebih diutamakan individu dan interaksi ketimbang proses dan alat.
Dokumentasi yang komprehensif diperlukan agar perangkat lunak dapat beroperasi dengan baik.
Pelanggan terlibat secara langsung dalam proses kolaborasi melalui negosiasi kontrak.
Lebih diutamakan merespon perubahan ketimbang mengikuti rencana secara kaku.
Hal ini berarti, meskipun terdapat nilai pada item yang terletak di sebelah kanan, kami memandang item yang terletak di sebelah kiri lebih penting.
Manifesto sering kali dikaitkan dengan gerakan politik yang muncul dan mendorong perubahan revolusioner untuk menggantikan keadaan lama dengan yang lebih baik. Dalam beberapa hal, inilah yang dimaksudkan dengan pengembangan yang tangkas.
Meskipun ide-ide dasar yang mendasari pengembangan tangkas telah ada selama bertahun-tahun, baru kurang dari dua dekade yang lalu ide-ide tersebut mengkristal menjadi sebuah "movement". Metode tangkas dikembangkan untuk mengatasi kelemahan dalam rekayasa perangkat lunak konvensional yang dianggap aktual. Meskipun pengembangan tangkas dapat memberikan manfaat penting, namun tidak berlaku untuk semua proyek, produk, orang, dan situasi. Filosofi pengembangan tangkas tidak bertentangan dengan praktik rekayasa perangkat lunak yang solid dan dapat diterapkan pada semua pekerjaan perangkat lunak.
Dalam ekonomi modern, sulit atau bahkan tidak mungkin untuk meramalkan perkembangan sistem komputer berbasis web seiring berjalannya waktu. Kondisi pasar yang berubah-ubah dengan cepat, perkembangan kebutuhan pengguna akhir, serta munculnya ancaman persaingan baru tanpa peringatan, semuanya membuat situasi ini semakin rumit. Dalam banyak kasus, persyaratan proyek tidak bisa ditentukan sepenuhnya sebelum dimulai, dan kegesitan dalam merespons perubahan lingkungan bisnis menjadi sangat penting.
Fluiditas berarti adanya perubahan, dan perubahan seringkali membutuhkan biaya yang mahal terutama jika tidak terkendali atau dikelola dengan buruk. Salah satu fitur yang paling menarik dari metode Agile adalah kemampuannya untuk mengurangi biaya perubahan selama proses pengembangan perangkat lunak.
Apakah ini berarti bahwa pengakuan terhadap tantangan yang ditimbulkan oleh realitas modern akan mengarah pada pengabaian terhadap prinsip, konsep, metode, dan alat dalam rekayasa perangkat lunak yang berharga? Tentu tidak! Seperti disiplin teknik lainnya, rekayasa perangkat lunak terus berkembang dan dapat dengan mudah beradaptasi untuk memenuhi tuntutan kelincahan yang semakin tinggi.
Dalam sebuah buku tentang pengembangan perangkat lunak tangkas, Alistair Cockburn mengkritik model proses preskriptif yang dijelaskan di Bab 2. Cockburn menekankan bahwa para insinyur perangkat lunak tidaklah sama dan memiliki variasi besar dalam gaya kerja, keterampilan, kreativitas, dan konsistensi. Beberapa insinyur dapat berkomunikasi dengan baik secara tertulis, sementara yang lain tidak. Cockburn menganggap bahwa model proses dapat membantu mengatasi kelemahan umum dalam diri manusia, baik melalui disiplin atau toleransi. Namun, dia percaya bahwa model proses preskriptif yang sangat disiplin sering kali rapuh karena kelemahan manusia dalam konsistensi tindakan.
Jika proses model berhasil, maka mereka harus menawarkan cara yang realistis untuk mendorong disiplin yang diperlukan atau mencirikan dengan cara yang menunjukkan toleransi untuk orang yang terlibat dalam rekayasa perangkat lunak. Praktik toleran sering lebih mudah diterapkan dan dipertahankan oleh para insinyur perangkat lunak, tetapi bisa kurang produktif seperti yang diakui oleh Cockburn. Seperti halnya dalam banyak aspek kehidupan, pertukaran harus dipertimbangkan.
Source: Pressman, Roger S. 2010. Software engineering : A Practitioner’s Approach (7th. Edition). New York: McGraw-Hill Higher Education.
Comments
Post a Comment