Agile Software Development 1 Apa itu agility • Agility adalah kemampuan membuat perubahan dan merespon perubahan dalam lingkungan bisnis yang berubah 2 Kebutuhan merespon perubahan • Pengembangan software dipengaruhi oleh banyak perubahan – Perubahan dalam lingkungan pengembangan dan teknologi – Perubahan organisasi – Perubahan personel – Perubahan kebutuhan produk • Pengembangan software seharusnya mendukung perubahan dan tidak menghindari 3 ASD • Agile software development is a group of software development methodologies based on iterative and incremental development. • So-called “lightweight” against the “heavyweight” methodology. 4 Manifesto for Agile Software Development We are uncovering better ways of developing software by doing it and helping others do it. Through this work we have come to value: Individuals and interactions over processes and tools Working software over comprehensive documentation Customer collaboration over contract negotiation Responding to change over following a plan That is, while there is value in the items on the right, we value the items on the left more. Source: www.agilemanifesto.org 5 Agile Manifesto • Individual dan interaksi VS • Working software • Kolaborasi dengan Customer • Merespon perubahan • Proses dan tooltool • Dokumentasi • Negosiasi kontrak • Mengikuti perencanaan 6 Nilai-nilai Agile • • • • Communication Simplicity Feedback Courage : : : : komunikasi kesederhanaan umpan balik keberanian 7 Principles behind the Agile Manifesto • Our highest priority is to satisfy the customer through early and continuous delivery of valuable software. 8 Principles behind the Agile Manifesto • Welcome changing requirements, even late in development. Agile processes harness change for the customer's competitive advantage. 9 Principles behind the Agile Manifesto • Deliver working software frequently, from a couple of weeks to a couple of months, with a preference to the shorter timescale. 10 Principles behind the Agile Manifesto • Business people and developers must work together daily throughout the project. 11 Principles behind the Agile Manifesto • Build projects around motivated individuals. Give them the environment and support they need, and trust them to get the job done. 12 Principles behind the Agile Manifesto • The most efficient and effective method of conveying information to and within a development team is face-to-face conversation. 13 Principles behind the Agile Manifesto • Working software is the primary measure of progress. 14 Principles behind the Agile Manifesto • Agile processes promote sustainable development. The sponsors, developers, and users should be able to maintain a constant pace indefinitely. 15 Principles behind the Agile Manifesto • Continuous attention to technical excellence and good design enhances agility. 16 Principles behind the Agile Manifesto • Simplicity--the art of maximizing the amount of work not done--is essential. 17 Principles behind the Agile Manifesto • The best architectures, requirements, and designs emerge from self-organizing teams. 18 Principles behind the Agile Manifesto • At regular intervals, the team reflects on how to become more effective, then tunes and adjusts its behavior accordingly. 19 Bagaimana Agility Mengubah Organisasi Anda • Interaksi dan Komunikasi – Lebih banyak komunikasi diantara pengembang, manajemen dan kustomer – Peningkatan tingkat komunikasi informal • Visibility : stakeholder mengetahui status proyek • Siklus pengembangan yang lebih pendek – Kecepatan pengembangan dapat menjadi lebih tinggi 20 Kesimpulan Karakteristik Agile • Adaptif dibanding Prediktif • Berpusat pada orang daripada proses pengembangan – Menjadi agile berarti menerima bahwa hasil tidak terencana dan proses-proses tersebut tidak diulang • Nilai dan prinsip kolaborasi • Metodologi yang cukup – “Konvensi apa yang kita setujui” – Proses adalah seperti di manual; praktek adalah apa yang terjadi di dunia nyata 21