Penerapan Agile Manifesto & Principles
Agile Software Development merupakan pendekatan untuk pengembangan perangkat lunak dimana requirements belum pasti dan berkemungkinan besar mengalami perubahan. Agile Software Development menerapkan planning yang adapif, fleksibel terhadap perubahan, respon yang cepat, dan delivery product yang cepat.
Penerapan Agile Manifesto
1. Individuals and Interactions Over Processes and Tools
Dalam pengembangan software kami lebih memprioritaskan komunikasi dan interaksi antara seluruh anggota tim. Seperti halnya kami berdiskusi terlebih dahulu untuk menentukan tech stack yang akan kami gunakan.
2. Working Software Over Comprehensive Documentation
Kami lebih memprioritaskan delivery fitur yang berjalan baik dibandingkan membuat dokumentasi seperti use case diagram dan UCS. Ketika mengembangan software kami men-deliver fitur baru di setiap akhir sprint.
3. Customer Collaboration Over Contract Negotiation
Kami mendapatkan feedback dari partner ketika sprint review. Pemberian feedback tersebut merubakan bentuk kolaborasi kami dengan partner.
4. Responding to Change Over Following a Plan
Kami belum menerima permintaan perubahan dari partner. Sejauh ini dalam pengembangan software kami masih mengikuti rencana awal.
Penerapan Agile Principles
- Prioritas utama adalah memuaskan klien dengan menghasilkan perangkat lunak yang bernilai secara cepat dan rutin.
Hal ini sudah kami terapkan dengan mendeliver fitur-fitur baru kepada partner setiap dua minggu sekali ketika sprint review. - Siap terhadap perubahan kebutuhan. Proses Agile memanfaatkan perubahan untuk keuntungan klien.
Hal ini sudah kami terapkan dengan mengimplementasikan MVC design pattern sehingga apabila terjadi perubahan dapat dilakukan dengan mudah. - Menghasilkan perangkat lunak yang bekerja secara rutin, dari jangka waktu beberapa minggu sampai beberapa bulan, dengan mengutamakan jangka waktu yang pendek.
Sama seperti poin pertama, setiap dua minggu kami selalu merilis fitur-fitur baru. - Rekan bisnis dan pengembang perangkat lunak harus bekerjasama sepanjang proyek.
Hal ini sudah kami terapkan dengan meminta dan menerima feedback dari partner dan berdiskusi masalah administrasi (google API) dengan partner. - Lingkungan pengembang proyek memiliki suasana yang motivatif. Berikan mereka lingkungan dan dukungan yang dibutuhkan, dan percayai mereka untuk dapat menyelesaikan pekerjaan dengan baik.
Hal ini sudah kami terapkan dengan mengingatkan dan membantu satu sama lain dalam proses pengembangan - Metode yang paling efisien dan efektif untuk bertukar informasi dari dan dalam tim pengembang adalah dengan komunikasi secara langsung.
Hal ini sudah kami terapkan dengan bertemu secara langsung setiap hari dan melakukan live coding pada hari senin dan jumat - Perangkat lunak yang bekerja adalah ukuran utama kemajuan suatu tim.
Hal ini sudah kami terapkan dengan mengukur besar bobot fitur/PBI yang berhasil kami selesaikan di akhir sprint - Proses Agile mendukung pengembangan yang berkelanjutan dengan kecepatan pengembangan yang konsisten.
Hal ini sudah kami terapkan dengan menerapkan MVC pattern dan paradigma clean code sehingga software mudah untuk dikembangkan lebih lanjut - Perhatian terhadap detail-detail teknis dan desain akan meningkatkan agility.
Hal ini sudah kami terapkan dengan sebelum memulai spriint 1 kami membuat flow dan mock up software terlebih dulu - Kesederhanaan (memaksimalkan jumlah pekerjaan yang belum dilakukan) adalah hal yang sangat penting.
Hal ini sudah kami terapkan dalam menentukan berapa banyak fitur yang akan kami kerjakan pada sebuah sprint. Namun, tetap terdapat fitur-fitur yang tidak selesai. - Self-organizing team mendukung arsitektur, kebutuhan, dan rancangan perangkat lunak yang baik.
Hal ini sudah kami terapkan dengan pemilihan task yang sesuai dengan kemampuan individu - Secara berkala, tim pengembang berefleksi tentang bagaimana agar pengembangan lebih efektif, kemudian menyesuaikan cara bekerja mereka.
Hal ini sudah kami terapkan dengan melakukan sprint retrospective pada akhir sprint dimana kami menceritakan masalah masalah yang dialami pada sprint tersebut dan menentukan peningkatan apa yang dapat kami terapkan.